Model Context Protocol
NervesCloud MCP
Connect an MCP-aware client (Claude Code, Claude Desktop, a claude.ai connector, or any other host) to inspect and manage your NervesCloud device fleet. Every action is performed as you, limited to your existing organization permissions.
Endpoint
Streamable HTTPConnecting
claude.ai / Desktop
Add a custom connector for the endpoint. You'll sign in to NervesCloud and approve the connection once, over OAuth.
Claude Code & API tokens
Send a NervesCloud personal API token as a bearer credential:
Authorization: Bearer nhu_…
MCP Inspector
Pick the Streamable HTTP transport and enter the endpoint URL to explore the tools interactively.
Tools
Every tool resolves your credential to a Nerves Cloud user and enforces that user's organization role. Read-only tools require the view role, actions that change device state require manage.
| Tool | Role | Description |
|---|---|---|
| whoami | any | The Nerves Cloud user your credential resolves to. |
| list_orgs | any | The organizations you belong to. |
| list_products | view | The products in an organization. |
| get_product_summary | view | Fleet summary: device counts, connected vs disconnected, firmware spread. |
| list_devices | view | Devices in a product (paginated; filter by connection, health, firmware, platform, update state, tags, or search). |
| find_device | view | Locate a device by its identifier across everything you can access. |
| get_device | view | Full detail for a single device. |
| get_device_health | view | Connection status, latest health report, and metrics. |
| get_device_activity | view | Recent activity from a device's audit log. |
| get_device_logs | view | Device log lines (requires analytics to be enabled). |
| get_device_data_history | view | Messages that crossed the device's websocket, both directions. |
| list_firmware | view | Firmware available for a product. |
| list_deployment_groups | view | Deployment groups and their match conditions. |
| list_scripts | view | Support scripts defined for a product. |
| set_device_tags | manage | Replaces a device's tags. |
| reboot_device | manage | Requests a reboot of a connected device. |
| reconnect_device | manage | Drops a device's socket to force it to reconnect. |
| upgrade_device | manage | Pushes a specific firmware (by UUID) as a one-off update. |
| run_script | manage | Runs a support script on a connected device and returns its output. |
| clear_penalty_box | manage | Removes a device from the update penalty box. |
Prompts
Guided, read-only workflows your client can surface as slash-commands. Each one steers the assistant through the tools above and never changes device state on its own.
investigate_device
Triage one device (status, health, logs, activity) and diagnose it.
fleet_health_report
Summarise a product's fleet: overall health, unhealthy and offline devices.
triage_offline_devices
Find offline / not-seen devices and help work out why and what to do next.
OAuth discovery
This server is a full OAuth 2.1 authorization server. Clients discover the flow from these public metadata endpoints (RFC 9728 / RFC 8414):