MCP.Market

Azure IoT Hub MCP server

by nagarjunr·io.github.nagarjunr/azure-iot-hub·v0.1.0

MCP server for Azure IoT Hub: device registry, twins, methods, jobs, messaging.

B78/100grade B
What users say
No reviews yet
Be the first
Safety scan
B78/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody 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 posts

Read from the package source without running it. The installed server may list more.

  • cancel_scheduled_jobwrite action

    Cancel a scheduled job. Wraps POST /jobs/v2/{id}/cancel.

  • create_devicewrite action

    Register a new device identity. Wraps PUT /devices/{id}.

  • create_modulewrite action

    Register a new module identity on a device. Wraps PUT /devices/{deviceId}/modules/{moduleId}.

  • create_scheduled_jobwrite action

    Create a scheduled job to update twins or invoke a method across many devices. Wraps PUT /jobs/v2/{id}.

  • delete_devicewrite action

    Delete a device identity. Wraps DELETE /devices/{id}. Irreversible.

  • delete_modulewrite action

    Delete a module identity. Wraps DELETE /devices/{deviceId}/modules/{moduleId}. Irreversible.

  • get_device

    Fetch a device's identity (auth mechanism, status, connection state). Wraps GET /devices/{id}.

  • get_device_statistics

    Get identity-registry statistics (total/enabled/disabled device counts). Wraps GET /statistics/devices.

  • get_device_twin

    Fetch a device's twin (tags, desired/reported properties). Wraps GET /twins/{id}.

  • get_module

    Fetch a module identity. Wraps GET /devices/{deviceId}/modules/{moduleId}.

  • get_module_twin

    Fetch a module's twin. Wraps GET /twins/{deviceId}/modules/{moduleId}.

  • get_scheduled_job

    Fetch a scheduled job's status and results. Wraps GET /jobs/v2/{id}.

  • get_service_statistics

    Get service statistics (e.g. connected device count). Wraps GET /statistics/service.

  • invoke_device_method

    Invoke a direct method on a device. Wraps POST /twins/{deviceId}/methods.

  • invoke_module_method

    Invoke a direct method on a module. Wraps POST /twins/{deviceId}/modules/{moduleId}/methods.

  • list_devices

    List devices in the identity registry. For filtering, prefer query_devices instead.

  • list_modules

    List module identities on a device. Wraps GET /devices/{deviceId}/modules.

  • purge_c2d_message_queuewrite action

    Delete all pending cloud-to-device messages queued for a device. Wraps DELETE /devices/{deviceId}/commands.

  • query_devices

    Query devices/twins using IoT Hub's query language. Wraps POST /devices/query.

  • query_scheduled_jobs

    List scheduled jobs, optionally filtered. Wraps GET /jobs/v2/query.

  • replace_device_twin

    Replace (not merge) a device twin's tags and desired properties. Wraps PUT /twins/{id}.

  • send_c2d_messagewrite action

    Send 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 action

    Update a device's status. Wraps PUT /devices/{id} (full device fetched first, then patched fields applied).

  • update_device_twinwrite action

    Merge-update a device twin's tags and/or desired properties. Wraps PATCH /twins/{id}.

  • update_module_twinwrite action

    Merge-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

no findings
  • 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
Overall 78/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

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
Add to Cursor

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 server

Requirements

  • 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-server

Or 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.py

Each 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.

More from nagarjunr →