MCP servers for IoT: AWS IoT Core, SiteWise, Azure IoT Hub and MQTT
Updated
AWS does not publish an MCP server dedicated to AWS IoT Core: an AI agent reaches IoT Core through the general AWS MCP Server, generally available since 6 May 2026, while AWS IoT SiteWise has its own open-source MCP server with 73 tools. On the Microsoft side, the Azure MCP Server includes Azure IoT Hub tools, all read-only. This guide lists the MCP servers that exist for IoT platforms and MQTT brokers on 3 November 2026, what each one can change, and how to keep an agent read-only. Every row comes from the publisher’s own documentation, repository or package registry.
Key takeaways
- AWS IoT Core: use the AWS MCP Server. It is managed by AWS, has no additional charge and acts with your IAM permissions; read-only mode is a setting of the local MCP Proxy for AWS.
- AWS IoT SiteWise has a dedicated server: 73 tools for assets, models and industrial data, read-only unless you enable writes.
- Azure IoT Hub is covered by the Azure MCP Server, version 3.0.0: devices, device twins, queries and routing health, all read-only. Its documentation lists no tool for the Event Grid MQTT broker.
- MQTT: EMQX publishes an MCP server for EMQX Cloud and an “MCP over MQTT” transport; we found no official HiveMQ or Mosquitto MCP server.
- The data is free to reuse: download the list as CSV.
The servers at a glance
| Server | Publisher | What it reaches | Can it change things? | Read-only setting | Status on 3 November 2026 |
|---|---|---|---|---|---|
| AWS MCP Server | AWS | Any AWS service, including AWS IoT Core | Yes, within IAM permissions | --read-only on the MCP Proxy for AWS | Generally available since 6 May 2026 |
| AWS IoT SiteWise MCP Server | AWS Labs | AWS IoT SiteWise | Yes, if enabled | Read-only by default | Version 11.0.23 (8 September 2026) |
| AWS API MCP Server | AWS Labs | Any AWS service, through AWS CLI commands | Yes | READ_OPERATIONS_ONLY=true | Superseded by the AWS MCP Server |
| Azure MCP Server | Microsoft | Azure IoT Hub, IoT Operations, Device Registry, Device Provisioning Service, Event Grid | No for IoT tools; Event Grid can publish events | --read-only | Version 3.0.0 (12 October 2026) |
| EMQX Cloud MCP Server | EMQ Technologies | EMQX Cloud deployments, MQTT clients, users and ACLs | Yes, if enabled | Read-only by default | Version 0.2.0 (29 October 2026) |
| InfluxDB 3 MCP Server | InfluxData | InfluxDB 3 databases | Yes | INFLUX_MCP_TOOL_PROFILE=readonly | Version 2.0.1 (30 October 2026) |
| Apache IoTDB MCP Server | Apache Software Foundation | Apache IoTDB time-series databases | Yes | Permissions are advisory by default | Version 0.2.0 on PyPI (18 April 2025) |
| ThingsBoard MCP Server | ThingsBoard | Devices, assets, alarms, telemetry, firmware updates | Yes | None found in its README; tool groups can be turned off | Version 2.1.0 (17 February 2026) |
AWS IoT Core: use the AWS MCP Server
AWS keeps its open-source MCP servers in the awslabs/mcp repository. On 3 November 2026 it holds no server for AWS IoT Core; the only IoT server there is the SiteWise one. For IoT Core, AWS offers the AWS MCP Server, a remote server that AWS runs for you and that lets coding agents “interact with any AWS service”, according to its general availability announcement of 6 May 2026.
- How it reaches IoT Core. Its
aws___run_scripttool runs Python in a sandbox with AWS API access, so an agent can call the IoT Core APIs, for example to list things, within the IAM permissions you give it. - Price. No additional charge; you pay for the AWS resources your agents use.
- Authentication. Either OAuth directly, or SigV4 signing through the local MCP Proxy for AWS.
- Read-only mode exists only on the SigV4 path: start the proxy with
--read-onlyand the tools that may write are hidden from the agent. - Regions. The getting-started guide lists eight endpoints, including Frankfurt (
eu-central-1), Ireland (eu-west-1) and London (eu-west-2).
Adding it to Claude Code, from the getting-started guide:
claude mcp add aws-mcp https://aws-mcp.us-east-1.api.aws/mcp --transport http
Two older routes still appear in search results:
- The AWS API MCP Server runs AWS CLI commands, so it also reaches IoT Core, with
READ_OPERATIONS_ONLY=truefor read-only use andREQUIRE_MUTATION_CONSENT=trueto ask before each change. Its own page now says it is superseded by the AWS MCP Server and intended for development, testing and evaluation. - An AWS code sample, sample-MCP_server-for-Amazon_IoT_Core,
exposes a single tool,
publish_mqtt, that publishes a message to IoT Core. It is a sample, not a supported product; its last update dates from 20 September 2025.
The README of awslabs/mcp still labels the AWS MCP Server “in preview” on 3 November 2026; the AWS announcement of general availability is the more recent source.
AWS IoT SiteWise: a dedicated server
AWS announced an MCP server for
AWS IoT SiteWise on 19 September 2025. Its README
lists 73 tools, from asset and model management to queries (execute_query) and data ingestion
(batch_put_asset_property_value).
- Read-only by default. Write tools are turned on only with the environment variable
SITEWISE_MCP_ALLOW_WRITES=True. - Runs locally (stdio) and installs with
uvx awslabs.aws-iot-sitewise-mcp-server@latest. - Version 11.0.23, published on PyPI on 8 September 2026.
Azure IoT Hub: the Azure MCP Server
Microsoft’s Azure MCP Server covers many Azure services in one server. Its command reference lists, on 3 November 2026:
| Service | Commands | Read or write |
|---|---|---|
| Azure IoT Hub | hub get, device list, device show, device stats, device twin get, query run, routing endpoint-health, routing endpoint-diagnostics | All marked read-only |
| Azure IoT Operations | instance list, instance get | Read-only |
| Azure Device Registry | namespace list | Read-only |
| Azure Event Grid | topics and subscriptions, events publish | Read, and publishing events |
- What it does not do. No IoT Hub tool creates or deletes devices, calls a direct method or sends a cloud-to-device message. The README, the command reference and the changelog do not mention MQTT, so the Event Grid MQTT broker has no tools.
- Read-only mode: start it with
--read-only. - Authentication uses your Azure credentials or a managed identity, with Azure role-based access control (RBAC).
- Runs locally (stdio) by default; it can also be hosted as a remote HTTP endpoint, for example on Azure Container Apps.
- Pin the version. The usual command is
npx -y @azure/mcp@latest server start, but on 3 November 2026 the npmlatesttag points to 4.0.0-beta.4, a beta; the last stable version is 3.0.0, published on 12 October 2026. Use@azure/mcp@3.0.0for a stable install.
Microsoft Learn documents fewer IoT Hub tools than the repository: its IoT Hub page describes two. The command reference in the repository is the more complete source.
MQTT brokers and IoT data platforms
| Server | Publisher | What it does | Read-only setting |
|---|---|---|---|
| EMQX Cloud MCP Server | EMQ Technologies | Manages EMQX Cloud deployments, MQTT clients, users, ACLs and data integrations | Read-only by default; --allow-writes, and --allow-destructive for deletions |
| InfluxDB 3 MCP Server | InfluxData | Queries and writes InfluxDB 3 data | INFLUX_MCP_TOOL_PROFILE=readonly removes every writing and admin tool |
| Apache IoTDB MCP Server | Apache Software Foundation | SQL queries on IoTDB time series | Permissions are advisory: approval is left to the agent’s host |
| ThingsBoard MCP Server | ThingsBoard | More than 120 tools: devices, entities, alarms, telemetry, firmware updates | None found in its README; tool groups can be turned off |
We found no official MCP server from HiveMQ or Eclipse Mosquitto: on 3 November 2026, the GitHub organisations hivemq, eclipse-mosquitto and cedalo hold no MCP project. Generic MQTT servers exist from individual developers (see below).
MCP over MQTT
MCP normally runs over stdio or HTTP. EMQX also publishes MCP over MQTT, which carries MCP messages on an MQTT broker, with SDKs for Erlang, ESP32 C, C (Paho), Python, TypeScript and Kotlin. Two AWS blog posts describe the same idea with AWS IoT Core as the broker: the AWS Germany blog on 9 April 2026 and the AWS Physical AI blog on 21 May 2026, where a robot talks MQTT and an AWS Lambda function translates for the agent. These are architectures, not products.
Community servers: check before you trust them
| Project | What it covers | GitHub stars and last update, 3 November 2026 |
|---|---|---|
| nagarjunr/iot-mcp-servers | One server each for AWS IoT Core, the Azure IoT Hub data plane, MQTT, Sparkplug B and Eclipse Ditto | 0 stars, created 31 October 2026 |
| ezhuk/mqtt-mcp | Publishes and receives on any MQTT broker | 25 stars, 31 October 2026 |
| tlaukkanen/azure-iothub-mcp-server | Read-only IoT Hub monitoring through the Azure CLI | 0 stars, 5 April 2025 |
The server often listed as “iot-edge-mcp-server” (MQTT sensors, Modbus controllers, InfluxDB) has lost its original repositories: both addresses return a 404 error on 3 November 2026, and no package of that name exists on PyPI. A copy remains at lwsinclair/IoT-Edge-MCP-Server.
A community server runs with the credentials you give it. Read its code, check when it was last updated, and give it the narrowest cloud identity you can.
Safety checklist
- Start read-only. Use the read-only setting of each server from the tables above, and widen it only after watching what the agent does.
- Limit the cloud identity. An IAM policy or an Azure RBAC role scoped to the IoT resources the agent needs is the control that holds even if a server setting is wrong.
- Check the authorization of remote servers. Under the MCP specification (version 2026-07-28), a protected server acts as an OAuth 2.1 resource server, must accept only tokens issued for itself (RFC 8707) and must not pass other tokens on; a token never goes in the URL query string.
- Pin versions. Install a stated version rather than
latest, as the Azure MCP Server’s npm tag shows. - Prefer publisher servers. Use a community server only after reading its code.
What these servers do not cover: the SIM
The servers above work on the cloud side: they see a device once it is connected, through its registry entry, its twin or shadow and its messages. The cellular line of that device is another layer: whether the SIM is active, how much data it used this month, which network it is attached to, whether it should be suspended. That layer is managed through the API of your connectivity provider.
The M2M.global MCP server is built for that layer: it lets an agent list SIMs, read their data usage, and, with a write token, suspend, reactivate or top them up, with the same permissions as the API.
Status: Coming soon (checked 26 October 2026) · Notify me when available
Device traffic can also reach your cloud without crossing the internet, through private delivery into AWS or into Azure.
How we built this guide
- Sources: publisher documentation and announcements, official GitHub repositories, PyPI and npm registries, and the GitHub API for stars and dates, all read on 3 November 2026. Each row of the CSV file gives its source address.
- Checks: each fact was matched against an excerpt of its source page, then the excerpts were checked again on the live pages the same day.
- What we looked for and did not find: an AWS server dedicated to AWS IoT Core (awslabs/mcp, AWS announcements), Event Grid MQTT tools in the Azure MCP Server, official HiveMQ and Mosquitto servers.
- These projects move fast: versions and tools change every few weeks, so we check this page every month.
Related
- MCP server for IoT SIMs
- IoT SIM API
- Deliver IoT SIM traffic privately into AWS
- Deliver IoT SIM traffic privately into Microsoft Azure
Frequently asked questions
Is there an official MCP server for AWS IoT Core?
Not a dedicated one. On 3 November 2026, AWS publishes no MCP server specific to AWS IoT Core. Agents reach IoT Core through the general AWS MCP Server, generally available since 6 May 2026, which calls AWS APIs with the IAM permissions you give it. AWS IoT SiteWise is the only AWS IoT service with its own MCP server.
Does the Azure MCP Server support Azure IoT Hub?
Yes, for reading. Version 3.0.0 of Microsoft's Azure MCP Server (12 October 2026) has eight IoT Hub commands: hub details, device list, device details and statistics, device twin, query, and two routing diagnostics. All are marked read-only: none creates devices, calls direct methods or sends cloud-to-device messages.
How do I stop an AI agent from changing my IoT devices?
Start each server in its read-only mode: --read-only on the MCP Proxy for AWS and on the Azure MCP Server, the default mode of the SiteWise and EMQX Cloud servers, INFLUX_MCP_TOOL_PROFILE=readonly for InfluxDB 3. Then limit the cloud identity the server uses, with an IAM policy or an Azure RBAC role: that remains the real control.
Can these MCP servers manage the SIM cards of my devices?
No. The servers in this guide work on the cloud side: device registry, twins or shadows, messages, assets and telemetry. The cellular line itself, its state, the data it uses and the network it is attached to, is managed through your connectivity provider's API or MCP server.