Azure IoT Hub MCP server
MCP server for Azure IoT Hub: device registry, twins, methods, jobs, messaging.
0 stars
Reviews
Write oneNobody has reviewed Azure IoT Hub yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Azure IoT Hub tools (25, 11 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
cancel_scheduled_jobwrite actionCancel a scheduled job. Wraps POST /jobs/v2/{id}/cancel.
create_devicewrite actionRegister a new device identity. Wraps PUT /devices/{id}.
create_modulewrite actionRegister a new module identity on a device. Wraps PUT /devices/{deviceId}/modules/{moduleId}.
create_scheduled_jobwrite actionCreate a scheduled job to update twins or invoke a method across many devices. Wraps PUT /jobs/v2/{id}.
delete_devicewrite actionDelete a device identity. Wraps DELETE /devices/{id}. Irreversible.
delete_modulewrite actionDelete a module identity. Wraps DELETE /devices/{deviceId}/modules/{moduleId}. Irreversible.
get_deviceFetch a device's identity (auth mechanism, status, connection state). Wraps GET /devices/{id}.
get_device_statisticsGet identity-registry statistics (total/enabled/disabled device counts). Wraps GET /statistics/devices.
get_device_twinFetch a device's twin (tags, desired/reported properties). Wraps GET /twins/{id}.
get_moduleFetch a module identity. Wraps GET /devices/{deviceId}/modules/{moduleId}.
get_module_twinFetch a module's twin. Wraps GET /twins/{deviceId}/modules/{moduleId}.
get_scheduled_jobFetch a scheduled job's status and results. Wraps GET /jobs/v2/{id}.
get_service_statisticsGet service statistics (e.g. connected device count). Wraps GET /statistics/service.
invoke_device_methodInvoke a direct method on a device. Wraps POST /twins/{deviceId}/methods.
invoke_module_methodInvoke a direct method on a module. Wraps POST /twins/{deviceId}/modules/{moduleId}/methods.
list_devicesList devices in the identity registry. For filtering, prefer query_devices instead.
list_modulesList module identities on a device. Wraps GET /devices/{deviceId}/modules.
purge_c2d_message_queuewrite actionDelete all pending cloud-to-device messages queued for a device. Wraps DELETE /devices/{deviceId}/commands.
query_devicesQuery devices/twins using IoT Hub's query language. Wraps POST /devices/query.
query_scheduled_jobsList scheduled jobs, optionally filtered. Wraps GET /jobs/v2/query.
replace_device_twinReplace (not merge) a device twin's tags and desired properties. Wraps PUT /twins/{id}.
send_c2d_messagewrite actionSend a cloud-to-device message. Wraps the AMQP C2D send (there is no REST equivalent for sending -- only the REST API's feedback/receipt operations are REST; the send itself is AMQP-only in the Azure IoT Hub service API).
update_devicewrite actionUpdate a device's status. Wraps PUT /devices/{id} (full device fetched first, then patched fields applied).
update_device_twinwrite actionMerge-update a device twin's tags and/or desired properties. Wraps PATCH /twins/{id}.
update_module_twinwrite actionMerge-update a module twin's tags and/or desired properties. Wraps PATCH /twins/{deviceId}/modules/{moduleId}.
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 51 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Azure IoT Hub compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 78/100
- higher than 57% of 48,273 servers
- Tools
- 25
- the typical server has 7
- Tools that change things
- 44%
- typical: 0%. Fewer write tools means less an agent can break
What its tools let an agent do: 11 read · 3 create · 4 change · 4 delete · 1 send or post · 2 run or deploy
Install Azure IoT Hub in Claude Code, Cursor or VS Code
claude mcp add azure-iot-hub -- uvx azure-iot-hub-mcp-server
What the publisher says
From the Azure IoT Hub repository's README, as published. We do not edit it. Read it on GitHub
IoT MCP Servers
MCP (Model Context Protocol) servers for IoT platforms — giving AI agents full read/write access to device registries, digital twins, and telemetry.
Servers
Each row links to that server's README for its full tool list, required environment variables, and setup/testing notes.
Structure
Each server is a standalone directory under this repo — its own pyproject.toml, uv.lock, Dockerfile, and mcp.json example config. No shared library layer: every server is independently runnable and dockerizable.
<server-name>/
├── <server-name>mcpserver.py # FastMCP server (single file)
├── pyproject.toml # own dependencies
├── uv.lock
├── Dockerfile
├── mcp.json # example MCP client config
└── README.md # tools, env vars, setup for this serverRequirements
- Python 3.12+
- uv for dependency management and running servers
- Docker, only if you want to run a server's own test suite against a real/emulated instance (see that server's README)
Quick start
Install straight from PyPI with uv or pipx — no clone needed:
uvx eclipse-ditto-mcp-server # or: mqtt5-mcp-server / aws-iot-core-mcp-server / azure-iot-hub-mcp-server / sparkplug-b-mcp-serverOr run from a clone of this repo:
git clone https://github.com/nagarjunr/iot-mcp-servers.git
cd iot-mcp-servers/<server-name>
uv sync
uv run <server-name>mcpserver.pyEach server reads its configuration from environment variables (connection strings, broker host, credentials, etc.) — see that server's README for the full list.
Using with an MCP client
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Azure IoT Hub: common questions
- Is Azure IoT Hub MCP server safe?
- Mostly: it is graded B (78/100). Read the Azure IoT Hub safety report
- How do I install Azure IoT Hub?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Azure IoT Hub need an API key?
- Yes. The registry entry asks for
AZURE_IOT_HUB_CONNECTION_STRING. - Is Azure IoT Hub maintained?
- The last commit was 90 days ago (2026-08-04). The latest release is v0.1.0.
- How does Azure IoT Hub compare with other MCP servers?
- safety score 78/100 (higher than 57% of 48,273 servers); tools 25 (the typical server has 7); tools that change things 44% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.