Official descriptionThingsBoard MCP Server Connect AI agents to your ThingsBoard IoT platform via Model Context Protocol (MCP).
Config template (adjust for your client)
claude mcp add thingsboard-mcp -- npx -y thingsboard-mcp
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
98 โ ยท thingsboard/thingsboard-mcp ยท read from the repository page ยท (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list ยท type: MCP server
Harvest history
first seen 2026-10-09 ยท last seen 2026-10-16 ยท seen 32ร ยท listed by 10 sources
Score
score 1,003 ยท 98 โ ยท 10 sources ยท mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP ๆๅก. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository thingsboard/thingsboard-mcp๏ผfirst catalogued 2026-10-09๏ผlast seen 2026-10-16ใThere is no official certification or quality rating here โ we record sources and dates only.
Connect AI agents to your ThingsBoard IoT platform via Model Context Protocol (MCP). Query devices, manage entities, analyze telemetry, and automate operations โ all through natural language. Works with Claude Desktop, Cursor, VS Code Copilot, Claude Code, and any MCP-compatible client. Quick Start You need a ThingsBoard instance (Cloud, EU Cloud, self-hosted CE/PE, or Edge) and an API key (ThingsBoard 4.3+) or username/password. Claude Desktop Add to your claude_desktop_config.json: Cursor Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project): VS Code Copilot Add to your VS Code settings.json or .vscode/mcp.json: Claude Code SSE Mode (any HTTP-based MCP client) Start the server: Then point your MCP client to http://localhost:8000/sse. > **Legacy auth**: If your ThingsBoard version is older than 4.3, use THINGSBOARD_USERNAME and THINGSBOARD_PASSWORD instead of THINGSBOARD_API_KEY. What You Can Do Ask questions in natural language and get structured results from your ThingsBoard instance: | | | |---|---| | **Query devices and entities** | **Analyze time-series data** | | | | | **Generate and save telemetry** | **Get anomaly analysis** | | | | **120+ tools** across 10 tool groups: - **Devices** โ create, update, delete, list, search by name/type/group - **Assets** โ CRUD, list by tenant/customer, search - **Customers** โ CRUD, list, search by title - **Users** โ CRUD, list, admin/customer user management - **Alarms** โ create, acknowledge, clear, delete, query by severity - **Telemetry** โ read/write attributes and time-series, aggregation, TTL - **Relations** โ create, delete, navigate entity relationships - **OTA Packages** โ upload, download, assign firmware/software to devices - **Entity Groups** (PE) โ manage groups, assign/remove entities - **Entity Data Query** โ complex filtered queries across all entity types with attribute/telemetry filters Installation Docker (Recommended) The Docker image supports two transport modes: - **STDIO** (default) โ for clients that launch the server as a subprocess (Claude Desktop, Cursor, etc.) - **SSE** โ for clients that connect over HTTP See Quick Start for usage examples. Download Binary Run with: Binary client configuration If you're using the JAR file instead of Docker, use this in your claude_desktop_config.json: Build from Source Requires Java 17+ and Maven 3.6+. Configuration Environment Variables | Variable | Description | Default | |----------|-------------|---------| | THINGSBOARD_URL | Base URL of your ThingsBoard instance | *required* | | THINGSBOARD_API_KEY | API key for authentication (recommended for 4.3+) | | | THINGSBOARD_USERNAME | Username for authentication (legacy) | | | THINGSBOARD_PASSWORD | Password for authentication (legacy) | | | THINGSBOARD_LOGIN_INTERVAL_SECONDS | Session refresh interval | 1800 | | HTTP_BIND_ADDRESS | HTTP bind address (SSE mode) | 127.0.0.1 | | HTTP_BIND_PORT | HTTP port (SSE mode) | 8000 | | SPRING_AI_MCP_SERVER_STDIO | Enable STDIO transport | true | | SPRING_WEB_APPLICATION_TYPE | none for STDIO, servlet for SSE | none | | SPRING_AI_MCP_SERVER_SSE_ENDPOINT | SSE endpoint path | /sse | | SPRING_AI_MCP_SERVER_SSE_MESSAGE_ENDPOINT | SSE message endpoint path | /mcp/message | Advanced: connection and logging | Variable | Description | Default | |----------|-------------|---------| | THINGSBOARD_CONNECTION_MAX_RETRIES | Max connection retry attempts | 3 | | THINGSBOARD_CONNECTION_RETRY_DELAY_SECONDS | Delay between retries | 5 | | THINGSBOARD_CONNECTION_CONNECT_TIMEOUT_SECONDS | HTTP connect timeout | 10 | | THINGSBOARD_CONNECTION_READ_TIMEOUT_SECONDS | HTTP read timeout | 60 | | LOG_LEVEL_APP | Application log level | info | | LOG_LEVEL_TOOLS | Tool execution log level | info | | LOG_LEVEL_TOOL_RESPONSE | Tool response log level | info | | LOGGING_PATTERN_CONSOLE | Logback console pattern | %d{yyyy-MM-dd HH:mm:ss} \| %-5level \| %logger{1} \| %msg%n | | LOGGING_CONSOLE_TARGET | Log output target | System.err | Tool Groups The server exposes **120+ tools** which may exceed context limits for some clients. Disable groups you don't need: