Thingsboard Mcp Server
@thingsboard
About Thingsboard Mcp Server
No overview available yet
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"thingsboard": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"THINGSBOARD_URL",
"-e",
"THINGSBOARD_USERNAME",
"-e",
"THINGSBOARD_PASSWORD",
"-e",
"LOGGING_PATTERN_CONSOLE",
"thingsboard/mcp"
],
"env": {
"THINGSBOARD_URL": "<thingsboard_url>",
"THINGSBOARD_USERNAME": "<thingsboard_username>",
"THINGSBOARD_PASSWORD": "<thingsboard_password>",
"LOGGING_PATTERN_CONSOLE": ""
}
}
}
}Tools
No tools detected
We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.
Overview
What is Thingsboard MCP Server?
The Thingsboard MCP Server provides a natural language interface for LLMs and AI agents to interact with the ThingsBoard IoT platform via the Model Context Protocol (MCP). It enables querying device data and telemetry, managing assets, customers, and users, analyzing IoT data, and automating ThingsBoard operations through conversational AI.
How to use Thingsboard MCP Server?
Deploy via Docker (STDIO or SSE mode) or build from source with Java 17+ and Maven. Set environment variables THINGSBOARD_URL, THINGSBOARD_USERNAME, and THINGSBOARD_PASSWORD. Configure your MCP client (e.g., Claude Desktop) with the appropriate JSON configuration for Docker or binary mode.
Key features of Thingsboard MCP Server
- Query device details, credentials, profiles, and relationships
- View and manage assets, customers, and users
- Retrieve and insert/update attributes and time-series data
- Discover and navigate relationships between entities
- Fetch alarms, alarm types, and severity for entities
- Access system settings, security policies, and version control
Use cases of Thingsboard MCP Server
- Query device telemetry and status using natural language in an AI chat
- Manage customers and users through a conversational assistant
- Generate IoT reports by asking for aggregated time-series data
- Automate routine ThingsBoard operations (e.g., alarm lookup) via AI workflows
FAQ from Thingsboard MCP Server
What are the requirements to run the server?
You need a running ThingsBoard instance (local, cloud, or demo), valid authentication credentials, network connectivity to the instance, and proper environment variables. The server can be run with Docker or built from source (Java 17+, Maven 3.6+).
How do I run the server in SSE mode?
Use Docker with the -p 8000:8000 flag and set SPRING_AI_MCP_SERVER_STDIO=false and SPRING_WEB_APPLICATION_TYPE=servlet. For JAR mode, add -Dspring.ai.mcp.server.stdio=false -Dspring.main.web-application-type=servlet to the Java command.
How do I configure an MCP client like Claude Desktop?
Add a JSON entry to your client settings (claude_desktop_config.json) specifying the command (docker or java) and environment variables (THINGSBOARD_URL, THINGSBOARD_USERNAME, THINGSBOARD_PASSWORD). See the README for exact templates.
What environment variables are required?
THINGSBOARD_URL, THINGSBOARD_USERNAME, and THINGSBOARD_PASSWORD are mandatory. Optional variables include THINGSBOARD_LOGIN_INTERVAL_SECONDS, SPRING_AI_MCP_SERVER_STDIO, SPRING_WEB_APPLICATION_TYPE, and server port settings.
What transport modes does the server support?
Two modes: STDIO (standard input/output, default) for direct communication with the MCP client, and SSE (Server-Sent Events) where the server runs as an HTTP server on port 8000.
Frequently asked questions
What are the requirements to run the server?
You need a running ThingsBoard instance (local, cloud, or demo), valid authentication credentials, network connectivity to the instance, and proper environment variables. The server can be run with Docker or built from source (Java 17+, Maven 3.6+).
How do I run the server in SSE mode?
Use Docker with the `-p 8000:8000` flag and set `SPRING_AI_MCP_SERVER_STDIO=false` and `SPRING_WEB_APPLICATION_TYPE=servlet`. For JAR mode, add `-Dspring.ai.mcp.server.stdio=false -Dspring.main.web-application-type=servlet` to the Java command.
How do I configure an MCP client like Claude Desktop?
Add a JSON entry to your client settings (`claude_desktop_config.json`) specifying the command (docker or java) and environment variables (`THINGSBOARD_URL`, `THINGSBOARD_USERNAME`, `THINGSBOARD_PASSWORD`). See the README for exact templates.
What environment variables are required?
`THINGSBOARD_URL`, `THINGSBOARD_USERNAME`, and `THINGSBOARD_PASSWORD` are mandatory. Optional variables include `THINGSBOARD_LOGIN_INTERVAL_SECONDS`, `SPRING_AI_MCP_SERVER_STDIO`, `SPRING_WEB_APPLICATION_TYPE`, and server port settings.
What transport modes does the server support?
Two modes: STDIO (standard input/output, default) for direct communication with the MCP client, and SSE (Server-Sent Events) where the server runs as an HTTP server on port 8000.
Basic information
More Other MCP servers
Codelf
unbugA search tool helps dev to solve the naming things problem.
Website
FunnyWolfAdversary simulation and Red teaming platform with AI
FastMCP v2 🚀
jlowin🚀 The fast, Pythonic way to build MCP servers and clients.
Mcp
browsermcpBrowser MCP is a Model Context Provider (MCP) server that allows AI applications to control your browser
Awesome Mlops
visengerA curated list of references for MLOps
Comments