Adafruit IO MCP by usefulapi

Read Adafruit IO feeds, data, groups and dashboards; publish a data point or create a feed.

使うべきか

品質と安全性

A
説明の品質
100%
スキーマの完全性
78%
命名の品質
80%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~3,058トークン数(ツール定義)
~1.1 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.39%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "adafruit-io": {
      "url": "https://adafruit-io.usefulapi.io/mcp"
    }
  }
}

リモートエンドポイント

https://adafruit-io.usefulapi.io/mcpstreamable-http

できること

ツール一覧

ツール(17)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢adafruitio_get_user

The Adafruit IO account this key belongs to: id, name, username, time zone, created/updated times, plus the data rate limit when reported. GET /api/v2/user.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_throttle

The account's data rate limit (data-record modifications per minute: 30 on free accounts, 60 on Plus) and the current active data rate. Check it before publishing many points. GET /api/v2/{username}/throttle.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_list_feeds

List all of the account's feeds with key, name, description, unit, visibility, enabled flag, last value and last update. GET /feeds.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_feed(feed_key)

One feed by key: name, description, unit, visibility, last value, status settings and the groups it belongs to. GET /feeds/{feed_key}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    }
  },
  "required": [
    "feed_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_feed_details(feed_key)

A feed with its details block: first and last data point and the number of stored points. GET /feeds/{feed_key}/details.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    }
  },
  "required": [
    "feed_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_list_feed_data(feed_key, start_time, end_time, limit, include, ...)

Data points of a feed (max 1000 per call). Newest first, except that with start_time the API returns the oldest page after that time. Filter by time range and limit; to read further back call again with the reply's next_page_args (the same filters plus `before`). GET /feeds/{feed_key}/data.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    },
    "start_time": {
      "type": "string",
      "description": "ISO 8601 date or date-time, e.g. 2026-10-01T00:00:00Z."
    },
    "end_time": {
      "type": "string",
      "description": "ISO 8601 date or date-time, e.g. 2026-10-01T00:00:00Z."
    },
    "limit": {
      "description": "Maximum records to return, 1-1000 (default 100).",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    },
    "include": {
      "description": "Comma-separated fields to return: value, lat, lon, ele, id, created_at.",
      "type": "string",
      "pattern": "^(value|lat|lon|ele|id|created_at)(,(value|lat|lon|ele|id|created_at))*$"
    },
    "before": {
      "description": "Pagination token: next_before from the previous reply (keep the same other arguments).",
      "type": "string",
      "minLength": 1,
      "maxLength": 500
    }
  },
  "required": [
    "feed_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_last_data(feed_key, include)

The most recent data point of a feed (value, location, created_at). GET /feeds/{feed_key}/data/last.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    },
    "include": {
      "description": "Comma-separated fields to return: value, lat, lon, ele, id, created_at.",
      "type": "string",
      "pattern": "^(value|lat|lon|ele|id|created_at)(,(value|lat|lon|ele|id|created_at))*$"
    }
  },
  "required": [
    "feed_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_data_point(feed_key, data_id)

One stored data point of a feed by its id. GET /feeds/{feed_key}/data/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    },
    "data_id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Data point id (the `id` field of a data point)."
    }
  },
  "required": [
    "feed_key",
    "data_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_feed_chart(feed_key, hours, resolution, field, start_time, ...)

Aggregated chart data for a feed: values sliced by `resolution` minutes over the last `hours` (or a start/end range), using avg, sum, min, max, val or val_count. Good for trends without downloading every point. GET /feeds/{feed_key}/data/chart.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    },
    "hours": {
      "description": "Hours of history (ignored when start_time and end_time are given).",
      "type": "integer",
      "minimum": 1,
      "maximum": 8760
    },
    "resolution": {
      "description": "Slice size in minutes.",
      "anyOf": [
        {
          "type": "number",
          "const": 1
        },
        {
          "type": "number",
          "const": 5
        },
        {
          "type": "number",
          "const": 10
        },
        {
          "type": "number",
          "const": 30
        },
        {
          "type": "number",
          "const": 60
        },
        {
          "type": "number",
          "const": 120
        },
        {
          "type": "number",
          "const": 240
        },
        {
          "type": "number",
          "const": 480
        },
        {
          "type": "number",
          "const": 960
        }
      ]
    },
    "field": {
      "description": "Aggregation (default avg).",
      "type": "string",
      "enum": [
        "avg",
        "sum",
        "val",
        "min",
        "max",
        "val_count"
      ]
    },
    "start_time": {
      "type": "string",
      "description": "ISO 8601 date or date-time, e.g. 2026-10-01T00:00:00Z."
    },
    "end_time": {
      "type": "string",
      "description": "ISO 8601 date or date-time, e.g. 2026-10-01T00:00:00Z."
    }
  },
  "required": [
    "feed_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_list_groups

List the account's groups (named sets of feeds) with their feeds. GET /groups.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_group(group_key)

One group by key with its feeds. GET /groups/{group_key}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "group_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Group key."
    }
  },
  "required": [
    "group_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_list_dashboards

List the account's dashboards with key, name, description and visibility. GET /dashboards.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_get_dashboard(dashboard_key)

One dashboard by key. GET /dashboards/{dashboard_key}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "dashboard_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Dashboard key."
    }
  },
  "required": [
    "dashboard_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_list_blocks(dashboard_key)

The blocks (widgets: gauges, toggles, charts, sliders...) of a dashboard with their feeds, position and properties. Integration secrets in properties are removed. GET /dashboards/{dashboard_key}/blocks.

入力スキーマ

{
  "type": "object",
  "properties": {
    "dashboard_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Dashboard key."
    }
  },
  "required": [
    "dashboard_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢adafruitio_list_activities(start_time, end_time, limit)

The account's activity log (feed/data/dashboard changes), optionally within a time range. GET /activities.

入力スキーマ

{
  "type": "object",
  "properties": {
    "start_time": {
      "type": "string",
      "description": "ISO 8601 date or date-time, e.g. 2026-10-01T00:00:00Z."
    },
    "end_time": {
      "type": "string",
      "description": "ISO 8601 date or date-time, e.g. 2026-10-01T00:00:00Z."
    },
    "limit": {
      "description": "Maximum entries, 1-1000.",
      "type": "integer",
      "minimum": 1,
      "maximum": 1000
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴adafruitio_publish_data_point(feed_key, value, lat, lon, ele)

WRITE: publish one data point (a value) to a feed. This can drive REAL DEVICES: anything subscribed to the feed (relays, motors, lights, heaters, locks, dashboard toggles) will receive and may act on the value, and it cannot be undone from here. Only publish a value the user has asked for. Counts against the account's data rate limit (30 per minute on free accounts, 60 on Plus). POST /feeds/{feed_key}/data.

入力スキーマ

{
  "type": "object",
  "properties": {
    "feed_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Feed key (the URL-safe key shown in Adafruit IO, for example 'temperature'; 'group-key.feed-key' also works)."
    },
    "value": {
      "anyOf": [
        {
          "type": "string",
          "maxLength": 1000
        },
        {
          "type": "number"
        }
      ],
      "description": "The value to publish (text or number, up to 1000 characters)."
    },
    "lat": {
      "description": "Latitude of the reading.",
      "type": "number",
      "minimum": -90,
      "maximum": 90
    },
    "lon": {
      "description": "Longitude of the reading.",
      "type": "number",
      "minimum": -180,
      "maximum": 180
    },
    "ele": {
      "description": "Elevation of the reading in meters.",
      "type": "number",
      "minimum": -20000,
      "maximum": 100000
    }
  },
  "required": [
    "feed_key",
    "value"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴adafruitio_create_feed(name, description, group_key)

WRITE: create a new, empty feed (private by default), optionally inside an existing group. Adds a feed only; it does not change or delete anything existing, and fails if the name is taken. POST /feeds.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Feed name (the key is derived from it)."
    },
    "description": {
      "description": "Optional description.",
      "type": "string",
      "maxLength": 1000
    },
    "group_key": {
      "description": "Optional existing group key to create the feed in.",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 17 件