Skip to content

Cookie preferences

We use cookies for our own analytics and to see how our campaigns perform. We never sell your data. Necessary cookies keep the site working and cannot be switched off. See our Cookie Policy for details.

Security, load balancing and remembering your cookie choice.

Show us which pages people read and how they find the site, so we can improve it (Google Analytics).

Show us which of our ad campaigns bring visitors to the site (Google Ads).

© 2026 The ThingsBoard Authors
Try for free

ThingsBoard Cloud

Choose your data region

Your data stays in the region you choose, for residency and compliance. No credit card required.

Rather run it yourself? Install on your own servers

Getting Started

The ThingsBoard MCP Server connects your MCP-compatible LLM client to a live ThingsBoard Edge node via the Model Context Protocol. It exposes a set of tools across multiple tool groups for querying, creating, and managing local edge data using natural language — no REST calls or dashboard clicks required.

The MCP server works with Claude Desktop, Cursor, VS Code Copilot, Claude Code, and any MCP-compatible client.

Before you begin, ensure that you have:

  • A running ThingsBoard Edge instance, accessible over the network.
  • A Tenant Administrator username and password for the Edge instance.
  • An MCP-compatible LLM client, like Claude Desktop, Claude Code, Cursor, or VS Code with an MCP extension.

Pull the Docker image:

Terminal window
docker pull thingsboard/mcp

Edit the Claude Desktop config file (claude_desktop_config.json):

{
"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": "http://<edge_host>:8080",
"THINGSBOARD_USERNAME": "<tenant_email>",
"THINGSBOARD_PASSWORD": "<password>",
"LOGGING_PATTERN_CONSOLE": ""
}
}
}
}

When the client starts, thingsboard tools appear in the client’s tool panel.

As an alternative to Docker, you can build the JAR file and run the MCP server directly.

Prerequisites:

  • Java 17 or later
  • Maven 3.6 or later

To build the project:

  1. Clone the thingsboard-mcp repository.

  2. Build the project:

    Terminal window
    mvn clean install -DskipTests
  3. The JAR file is available in the target folder:

    ./target/thingsboard-mcp-server-1.0.0.jar
  4. Run the server:

    Terminal window
    # STDIO mode
    java -jar ./target/thingsboard-mcp-server-1.0.0.jar
    # SSE mode
    java -Dspring.ai.mcp.server.stdio=false -Dspring.main.web-application-type=servlet -jar ./target/thingsboard-mcp-server-1.0.0.jar

To use the JAR with an MCP client instead of Docker, replace the command and args in your client config. Example for Claude Desktop:

{
"mcpServers": {
"thingsboard": {
"command": "java",
"args": [
"-jar",
"/absolute/path/to/thingsboard-mcp-server-1.0.0.jar"
],
"env": {
"THINGSBOARD_URL": "http://<edge_host>:8080",
"THINGSBOARD_USERNAME": "<tenant_email>",
"THINGSBOARD_PASSWORD": "<password>",
"LOGGING_PATTERN_CONSOLE": ""
}
}
}
}

The same pattern applies to Cursor, VS Code, and other MCP clients.