Azure IoT Hub MCP Server
About
MCP server for Azure IoT Hub - device registry, twins, direct methods, jobs, messaging
Details
- Author
- nagarjunr
- Categories
- Cloud Service, Other, Infrastructure
Jump to
Setup
Install Azure IoT Hub MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/nagarjunr/iot-mcp-servers
Follow the installation instructions in the repository README, then restart your MCP client.
MCP server for Azure IoT Hub - device registry, twins, direct methods, jobs, messaging
MCP (Model Context Protocol) servers for IoT platforms — giving AI agents full read/write access to device registries, digital twins, and telemetry.
Each row links to that server's README for its full tool list, required environment variables, and setup/testing notes.
Each server is a standalone directory under this repo — its ownpyproject.toml,uv.lock,Dockerfile, andmcp.jsonexample 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 server
Install straight from PyPI withuvorpipx— 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-server
git clone https://github.com/nagarjunr/iot-mcp-servers.git cd iot-mcp-servers/<server-name> uv sync uv run <server-name>mcpserver.py
Each server reads its configuration from environment variables (connection strings, broker host, credentials, etc.) — see that server's README for the full list.
Each server directory has anmcp.jsonwith a ready-to-use client config example (Claude Desktop / VS Code / any MCP client). Copy the relevant block into your client's config, filling in the environment variables described in that server's README. All servers are also listed on theofficial MCP registryunderio.github.nagarjunr/<server-name>.
- Read-only by default, writes explicit.Tools default to read/list operations. Any write tool is called out explicitly in that server's README. Create/replace tools default to create-only (overwrite=False) — race-free via conditional headers where the target API supports them (e.g. Ditto'sIf-None-Match), otherwise a documented describe-then-create check. Delete tools, where a server needs them, require an explicitconfirm=True— there is no bulk/cascading delete.
- No vendor lock-in.Connectors target the open protocol/API (e.g. Eclipse Ditto's HTTP API, the MQTT wire protocol), not a single vendor's proprietary extension of it, so they work against any compatible deployment. Exception: cloud-provider services like AWS IoT Core are inherently vendor-specific — no lock-in claim applies there, but no cross-vendor abstraction is invented either.
- Tested against the real thing, with documented exceptions where no free real instance exists.Each server is verified against a real instance of the target platform (usually via Docker), not hand-rolled mocks.mqttandsparkplug-brun against a real Eclipse Mosquitto broker (sparkplug-b's tests simulate the "device" side with the same real protocol library the server uses, so both ends of the wire are genuine).aws-iot-coreis tested againstmoto(AWS IoT Core has no free local emulator; LocalStack's IoT support requires a paid plan).azure-iot-hubis tested againstrespxfor its REST tools; its one AMQP-only tool (send_c2d_message— Azure IoT Hub's cloud-to-device send has no REST binding) is tested against a local fake AMQP endpoint built for this repo, since no moto-equivalent exists for Azure and no free Azure IoT Hub emulator exists at all. These are genuine emulators/protocol-level fakes, not naive mocks — see each server's README for specifics and caveats.
Adding a new server? Follow the structure and design principles above, add its row to theServerstable, and make sure its test suite runs against a real or faithfully-emulated instance of the target platform (document any exception, asaws-iot-coreandazure-iot-hubdo). Issues and PRs welcome.
Home automation you can just talk to. No dashboards, no app to learn.
The IoT platform where AI controls real-world devices — ask what's happening on site, then tell it to act.
An MCP server for interacting with the ThingsPanel IoT platform.
Manage and interact with Microsoft Azure services.
Deploy and operate workloads, secrets, and networking across AWS, GCP, Azure, and private clouds.
Enables AI assistants to interact with Azure Kubernetes Service (AKS) clusters.
Interact with and manage Azure services using natural language.
A read-only MCP server for Azure Data Catalog, powered by CData's JDBC driver.
Query Azure retail pricing information using the Azure Retail Prices API.
Query and retrieve Azure resource information across subscriptions using Azure Resource Graph.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




