专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

thingsboard/mcp Docker 镜像 - 轩辕镜像 | Docker 镜像高效稳定拉取服务

热门搜索:openclaw🔥nginx🔥redis🔥mysqlopenjdkcursorweb2apimemgraphzabbixetcdubuntucorednsjdk
mcp
thingsboard/mcp
thingsboard
ThingsBoard MCP server
下载次数: 0状态:社区镜像维护者:thingsboard仓库类型:镜像最近更新:18 天前
轩辕镜像,不浪费每一次拉取。点击查看
镜像简介版本下载
轩辕镜像,不浪费每一次拉取。点击查看

ThingsBoard MCP Server

![Source Code]([] ![License]([] ![Docker]([] ![Java]([]

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:

json
{
  "mcpServers": {
    "thingsboard": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "THINGSBOARD_URL", "-e", "THINGSBOARD_API_KEY", "thingsboard/mcp"],
      "env": {
        "THINGSBOARD_URL": "[***]",
        "THINGSBOARD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Cursor

Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project):

json
{
  "mcpServers": {
    "thingsboard": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "-e", "THINGSBOARD_URL", "-e", "THINGSBOARD_API_KEY", "thingsboard/mcp"],
      "env": {
        "THINGSBOARD_URL": "[***]",
        "THINGSBOARD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
VS Code Copilot

Add to your VS Code settings.json or .vscode/mcp.json:

json
{
  "mcp": {
    "servers": {
      "thingsboard": {
        "command": "docker",
        "args": ["run", "-i", "--rm", "-e", "THINGSBOARD_URL", "-e", "THINGSBOARD_API_KEY", "thingsboard/mcp"],
        "env": {
          "THINGSBOARD_URL": "[***]",
          "THINGSBOARD_API_KEY": "YOUR_API_KEY"
        }
      }
    }
  }
}
Claude Code
bash
claude mcp add thingsboard \
  -e THINGSBOARD_URL=[***] \
  -e THINGSBOARD_API_KEY=YOUR_API_KEY \
  -- docker run -i --rm -e THINGSBOARD_URL -e THINGSBOARD_API_KEY thingsboard/mcp
SSE Mode (any HTTP-based MCP client)

Start the server:

bash
docker run --rm -p 8000:8000 \
  -e THINGSBOARD_URL=[***] \
  -e THINGSBOARD_API_KEY=YOUR_API_KEY \
  -e SPRING_AI_MCP_SERVER_STDIO=false \
  -e SPRING_WEB_APPLICATION_TYPE=servlet \
  thingsboard/mcp

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 entitiesAnalyze time-series data
!Get My Devices!Analyze Data
Generate and save telemetryGet anomaly analysis
!Generate Data!Analysis Result

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)
bash
docker pull thingsboard/mcp

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
bash
wget [***]

Run with:

bash
# STDIO mode
java -jar thingsboard-mcp-server-2.1.0.jar

# SSE mode
java -Dspring.ai.mcp.server.stdio=false -Dspring.main.web-application-type=servlet -jar thingsboard-mcp-server-2.1.0.jar
Binary client configuration

If you're using the JAR file instead of Docker, use this in your claude_desktop_config.json:

json
{
  "mcpServers": {
    "thingsboard": {
      "command": "java",
      "args": ["-jar", "/absolute/path/to/thingsboard-mcp-server-2.1.0.jar"],
      "env": {
        "THINGSBOARD_URL": "[***]",
        "THINGSBOARD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}
Build from Source

Requires Java 17+ and Maven 3.6+.

bash
git clone [***]
cd mcp-server
mvn clean install -DskipTests
java -jar target/thingsboard-mcp-server-2.1.0.jar

Configuration

Environment Variables
VariableDescriptionDefault
THINGSBOARD_URLBase URL of your ThingsBoard instancerequired
THINGSBOARD_API_KEYAPI key for authentication (recommended for 4.3+)
THINGSBOARD_USERNAMEUsername for authentication (legacy)
THINGSBOARD_PASSWORDPassword for authentication (legacy)
THINGSBOARD_LOGIN_INTERVAL_SECONDSSession refresh interval1800
HTTP_BIND_ADDRESSHTTP bind address (SSE mode)127.0.0.1
HTTP_BIND_PORTHTTP port (SSE mode)8000
SPRING_AI_MCP_SERVER_STDIOEnable STDIO transporttrue
SPRING_WEB_APPLICATION_TYPEnone for STDIO, servlet for SSEnone
SPRING_AI_MCP_SERVER_SSE_ENDPOINTSSE endpoint path/sse
SPRING_AI_MCP_SERVER_SSE_MESSAGE_ENDPOINTSSE message endpoint path/mcp/message
Advanced: connection and logging
VariableDescriptionDefault
THINGSBOARD_CONNECTION_MAX_RETRIESMax connection retry attempts3
THINGSBOARD_CONNECTION_RETRY_DELAY_SECONDSDelay between retries5
THINGSBOARD_CONNECTION_CONNECT_TIMEOUT_SECONDSHTTP connect timeout10
THINGSBOARD_CONNECTION_READ_TIMEOUT_SECONDSHTTP read timeout60
LOG_LEVEL_APPApplication log levelinfo
LOG_LEVEL_TOOLSTool execution log levelinfo
LOG_LEVEL_TOOL_RESPONSETool response log levelinfo
LOGGING_PATTERN_CONSOLELogback console pattern%d{yyyy-MM-dd HH:mm:ss} | %-5level | %logger{1} | %msg%n
LOGGING_CONSOLE_TARGETLog output targetSystem.err
Tool Groups

The server exposes 120+ tools which may exceed context limits for some clients. Disable groups you don't need:

VariableGroupToolsDefault
THINGSBOARD_TOOLS_EDQEntity Data Query + Guides40true
THINGSBOARD_TOOLS_TELEMETRYTelemetry & Attributes11true
THINGSBOARD_TOOLS_DEVICEDevices11true
THINGSBOARD_TOOLS_ASSETAssets8true
THINGSBOARD_TOOLS_ALARMAlarms9true
THINGSBOARD_TOOLS_OTAOTA Packages11true
THINGSBOARD_TOOLS_RELATIONRelations8true
THINGSBOARD_TOOLS_CUSTOMERCustomers7true
THINGSBOARD_TOOLS_USERUsers9true
THINGSBOARD_TOOLS_GROUPEntity Groups (PE only)10true

Example — reduce to ~50 tools for clients with limited context:

json
{
  "env": {
    "THINGSBOARD_TOOLS_EDQ": "false",
    "THINGSBOARD_TOOLS_OTA": "false",
    "THINGSBOARD_TOOLS_GROUP": "false",
    "THINGSBOARD_TOOLS_USER": "false"
  }
}

Available Tools

Device Tools (11)
ToolDescription
createOrUpsertDeviceCreate or update a device by name. Primary tool for most device tasks.
saveDeviceCreate or update the device object from raw JSON. Advanced tool.
deleteDeviceDelete the device by id.
getDeviceByIdFetch the Device object based on the provided Device Id.
getDeviceCredentialsByDeviceIdGet device credentials by device id.
getTenantDevicesReturns a page of devices owned by tenant.
getTenantDeviceGet tenant device by name.
getCustomerDevicesReturns a page of devices assigned to customer.
getUserDevices (PE)Returns a page of devices available for the current user.
getDevicesByIdsGet devices by ids.
getDevicesByEntityGroupId (PE)Returns a page of devices in a specified entity group.
Asset Tools (8)
ToolDescription
saveAssetCreate or update the asset object.
deleteAssetDelete the asset by id.
getAssetByIdGet the Asset object by id.
getTenantAssetsReturns a page of assets owned by tenant.
getTenantAssetGet tenant asset by name.
getCustomerAssetsReturns a page of assets assigned to customer.
getUserAssets (PE)Returns a page of assets available for the current user.
getAssetsByEntityGroupId (PE)Returns a page of assets in a specified entity group.
Customer Tools (7)
ToolDescription
saveCustomerCreate or update the customer object.
deleteCustomerDelete the customer by id.
getCustomerByIdGet the Customer object by id.
getCustomersReturns a page of customers owned by tenant.
getTenantCustomerGet customer by title.
getUserCustomers (PE)Returns a page of customers available for the user.
getCustomersByEntityGroupId (PE)Returns a page of customers in a specified entity group.
User Tools (9)
ToolDescription
saveUserCreate or update the user object.
deleteUserDelete the user by id.
getUserByIdFetch the User object by id.
getUsersReturns a page of users owned by tenant or customer.
getTenantAdminsReturns a page of tenant administrator users.
getCustomerUsersReturns a page of users assigned to a customer.
getAllCustomerUsers (PE)Returns a page of all customer users for the current tenant.
getUsersForAssignReturns users that can be assigned to an alarm.
getUsersByEntityGroupId (PE)Returns a page of users in a specified entity group.
Alarm Tools (9)
ToolDescription
saveAlarmCreate or update the alarm object.
deleteAlarmDelete the alarm by id.
ackAlarmAcknowledge the alarm.
clearAlarmClear the alarm.
getAlarmInfoByIdGet alarm info by id (includes originator name).
getAlarmsGet a page of alarms for the selected entity.
getAllAlarmsGet a page of alarms for the current user owner.
getHighestAlarmSeverityGet highest alarm severity by originator.
getAlarmTypesGet unique alarm types.
OTA Tools (11)
ToolDescription
saveOtaPackageInfoCreate or update OTA package info.
saveOtaPackageDataUpload OTA package binary from a file path.
downloadOtaPackageDownload OTA package binary to a local file path.
getOtaPackageInfoByIdGet OTA package info by id.
getOtaPackageByIdGet OTA package by id.
getOtaPackagesGet OTA packages (paged).
getOtaPackagesByDeviceProfileGet OTA packages by device profile and type.
assignOtaPackageToDeviceAssign or clear OTA package for a device.
assignOtaPackageToDeviceProfileAssign or clear OTA package for a device profile.
countByDeviceProfileAndEmptyOtaPackageCount devices without assigned OTA package.
deleteOtaPackageDelete OTA package by id.
Relation Tools (8)
ToolDescription
saveRelationCreate or update a relation.
deleteRelationDelete a relation between two entities.
deleteRelationsDelete all relations for an entity.
getRelationGet a relation between two entities.
findInfoByFromFind relations from an entity (includes entity names).
findByFromWithRelationTypeFind relations from an entity filtered by type.
findInfoByToFind relations to an entity (includes entity names).
findByToWithRelationTypeFind relations to an entity filtered by type.
Telemetry Tools (11)
ToolDescription
getAttributeKeysGet all attribute keys for an entity.
getAttributeKeysByScopeGet attribute keys by scope.
getAttributesGet attributes for an entity.
getAttributesByScopeGet attributes by scope.
getTimeseriesKeysGet all time-series keys for an entity.
getLatestTimeseriesGet latest time-series values.
getTimeseriesGet time-series data for a time range.
saveDeviceAttributesSave device attributes.
saveEntityAttributesV2Save entity attributes.
saveEntityTelemetrySave entity telemetry data.
saveEntityTelemetryWithTTLSave entity telemetry with TTL.
Entity Group Tools — PE only (10)
ToolDescription
saveEntityGroupCreate or update an entity group.
deleteEntityGroupDelete an entity group by id.
getEntityGroupByIdGet entity group by id.
getEntityGroupsByTypeGet entity groups by entity type.
getEntityGroupByOwnerAndNameAndTypeGet entity group by owner, type, and name.
getEntityGroupsByOwnerAndTypeGet entity groups by owner and type.
getEntityGroupsForEntityGet groups containing a specified entity.
getEntityGroupsByIdsGet entity groups by ids.
addEntitiesToEntityGroupAdd entities to a group.
removeEntitiesFromEntityGroupRemove entities from a group.
Entity Data Query Tools (19)

Complex filtered queries across all entity types. Supports entity fields, attributes, and latest telemetry with key filters.

ToolDescription
findEntityDataBySingleEntityFilterFind data for one entity by ID.
findEntityDataByEntityGroupFilter (PE)Find data by entity group.
findEntityDataByEntityListFilterFind data for a list of entity IDs.
findEntityDataByEntityNameFilterFind data by name prefix.
findEntityDataByEntityTypeFilterFind data by entity type.
findEntityDataByEntityGroupListFilter (PE)Find data for multiple groups.
findEntityDataByEntityGroupNameFilter (PE)Find data for groups by name prefix.
findEntityDataByEntitiesGroupNameFilter (PE)Find data for entities in a named group.
findEntityDataByStateEntityOwnerFilterFind data for entity owner.
findEntityDataByAssetTypeFilterFind assets by type.
findEntityDataByDeviceTypeFilterFind devices by type.
findEntityDataByEdgeTypeFilterFind edges by type.
findEntityDataByEntityViewTypeFilterFind entity views by type.
findEntityDataByRelationsQueryFilterFind related entities.
findEntityDataByAssetSearchQueryFilterFind related assets.
findEntityDataByDeviceSearchQueryFilterFind related devices.
findEntityDataByEntityViewSearchQueryFilterFind related entity views.
findEntityDataByApiUsageStateFilterFind API usage data.
findEntityDataByEdgeQueryFilterFind related edges.
Entity Count Query Tools (18)

Count entities matching filters. Same filter types as Entity Data Query.

ToolDescription
countBySingleEntityFilterCount by single entity ID.
countByEntityGroupFilter (PE)Count by entity group.
countByEntityListFilterCount by entity ID list.
countByEntityNameFilterCount by name prefix.
countByEntityTypeFilterCount by entity type.
countByEntityGroupListFilter (PE)Count by multiple groups.
countByEntityGroupNameFilter (PE)Count by group name prefix.
countByEntitiesGroupNameFilter (PE)Count entities in a named group.
countByAssetTypeFilterCount assets by type.
countByDeviceTypeFilterCount devices by type.
countByEdgeTypeFilterCount edges by type.
countByEntityViewTypeFilterCount entity views by type.
countByApiUsageStateFilterCount API usage rows.
countByRelationsQueryFilterCount related entities.
countByAssetSearchQueryFilterCount related assets.
countByDeviceSearchQueryFilterCount related devices.
countByEntityViewSearchQueryFilterCount related entity views.
countByEdgeQueryFilterCount related edges.
Guide Tools (3)

Documentation tools that help LLMs construct correct queries.

ToolDescription
getEdqGuideGet documentation for creating Entity Data Queries.
getEdqCountGuideGet documentation for creating Entity Count Queries.
getKeyFiltersGuideGet documentation for creating key filters.

License

This project is licensed under the Apache License 2.0 — see the LICENSE file for details.

查看更多 mcp 相关镜像 →
mcp/playwright logo
mcp/playwright
mcp
Playwright MCP服务器是基于微软Playwright自动化测试工具的管理控制平台,主要用于跨浏览器(如Chrome、Firefox、WebKit等)的端到端测试任务调度与执行,支持用户交互模拟、多环境部署管理、测试资源分配、CI/CD流程集成及测试结果分析,能有效提升Web应用测试效率,保障应用在不同浏览器和设备上的兼容性与稳定性,助力开发团队实现高质量软件交付。
29 次收藏50万+ 次下载
17 天前更新
mcp/grafana logo
mcp/grafana
mcp
Grafana的MCP服务器,提供47种工具用于事件管理、监控数据查询、仪表板操作等,支持模型上下文协议集成。
20 次收藏10万+ 次下载
12 天前更新
mcp/dynatrace-mcp-server logo
mcp/dynatrace-mcp-server
mcp
允许与Dynatrace可观测性平台交互,将实时可观测性数据直接带入开发工作流的MCP服务器。
10万+ 次下载
7 个月前更新
mcp/notion logo
mcp/notion
mcp
官方Notion MCP服务器,通过模型上下文协议提供Notion API工具,支持创建评论、数据库、管理块和页面等19种操作,便于集成Notion功能到AI应用中。
34 次收藏10万+ 次下载
20 天前更新
mcp/context7 logo
mcp/context7
mcp
Context7 MCP Server是为大型语言模型和AI代码编辑器提供最新代码文档的服务器。
21 次收藏10万+ 次下载
9 个月前更新
mcp/fetch logo
mcp/fetch
mcp
从互联网获取URL并将其内容提取为markdown格式。
54 次收藏100万+ 次下载
15 天前更新

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

docker search 报错:专属域名下仅支持 Docker Hub 查询

docker search 报错问题

网页搜不到镜像:Docker Hub 有但轩辕镜像搜索无结果

镜像搜索不到

离线传输镜像:无法直连时用 docker save/load 迁移

离线传输镜像

Docker 插件安装错误:application/vnd.docker.plugin.v1+json

Docker 插件安装错误

WSL 下 Docker 拉取慢:网络与挂载目录影响及优化

WSL 拉取镜像慢

轩辕镜像是否安全?镜像完整性校验(digest)说明

镜像安全性

如何用轩辕镜像拉取镜像?登录方式与专属域名配置

如何拉取镜像

错误码与失败问题

manifest unknown 错误:镜像不存在或标签错误

manifest unknown 错误

TLS/SSL 证书验证失败:Docker pull 时 HTTPS 证书错误

TLS 证书验证失败

DNS 解析超时:无法解析镜像仓库地址或连接超时

DNS 解析超时

410 Gone 错误:Docker 版本过低导致协议不兼容

410 错误:版本过低

402 Payment Required 错误:流量耗尽错误提示

402 错误:流量耗尽

401 UNAUTHORIZED 错误:身份认证失败或登录信息错误

身份认证失败错误

429 Too Many Requests 错误:请求频率超出专业版限制

429 限流错误

Docker login 凭证保存错误:Cannot autolaunch D-Bus(不影响登录)

凭证保存错误

账号 / 计费 / 权限

免费版与专业版区别:功能、限额与使用场景对比

免费版与专业版区别

支持的镜像仓库:Docker Hub、GCR、GHCR、K8s 等列表

轩辕镜像支持的镜像仓库

拉取失败是否扣流量?计费规则说明

拉取失败流量计费

KYSEC 权限不够:麒麟 V10/统信 UOS 下脚本执行被拦截

KYSEC 权限错误

如何申请开具发票?(增值税普票/专票)

开具发票

如何修改网站与仓库登录密码?

修改网站和仓库密码

配置与原理类

registry-mirrors 未生效:仍访问官方仓库或报错的原因

registry-mirrors 未生效

如何去掉镜像名称中的轩辕域名前缀?(docker tag)

去掉域名前缀

如何拉取指定架构镜像?(ARM64/AMD64 等多架构)

拉取指定架构镜像

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
thingsboard/mcp
博客公告Docker 镜像公告与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.