关于 thingsboard-mcp-server
thingsboard-mcp-server 将 MCP 客户端连接到 ThingsBoard 实例,用于管理资产、设备、遥测数据和警报。工具由官方 Python SDK 生成,并适配已安装的 CE 或 PE 版本。
主要功能
- 01管理 ThingsBoard 资产和设备
- 02访问遥测数据和警报
- 03根据 Python SDK 生成工具
- 04检测已安装的 CE 或 PE 版本
- 05验证生成的工具定义
适用场景
- 01通过 AI 助手管理 ThingsBoard 资产
- 02检查设备遥测数据和警报
- 03为已安装的 ThingsBoard 版本生成工具
MCP 相关
向 MCP 客户端提供 ThingsBoard 管理工具,工具由官方 Python REST SDK 生成。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
ThingsBoard MCP 服务
这是一个适用于 ThingsBoard 的 模型上下文协议(MCP) 服务。此项目允许 AI 助手(如 Claude Desktop)直接与您的 ThingsBoard 实例交互,以管理资产、设备、遥测数据、警报等。
这些工具由官方 Python SDK(tb-rest-client)自动生成,可确保 100% 的 API 覆盖率、严格的类型检查,以及直接从源代码提取的丰富文档。
🚀 功能
- 自动发现: 自动检测已安装的 ThingsBoard SDK 版本(
CE或PE),并据此进行适配。 - 智能追踪: 将高级客户端方法(
rest_client_ce.py)映射到其底层 API 控制器,以提取准确的文档字符串和签名。 - 严格验证: 包含一个测试套件(
verify_tools.py),通过模拟 SDK 确保每个生成的工具都具有有效的输入、文档字符串和执行逻辑。 - 全面报告: 生成详细的 Markdown 文档(
TOOLS_CE.md)和验证审计报告(VERIFICATION_REPORT_CE.md)。
📋 前置条件
- Python 3.10+
- ThingsBoard Python REST 客户端
pip install tb-rest-client
🛠️ 设置与生成
- 生成工具
运行生成器脚本。该脚本会扫描已安装的
tb-rest-client库,追踪方法调用,并生成 MCP 工具代码。
python3 generate_thingsboard_mcp.py
会发生什么?
- 创建 thingsboard_mcp/tools/ce/(如果已安装,还会创建 pe/)。
- 生成 TOOLS_CE.md 文件,列出所有可用工具及其说明和参数。
- 自动筛除内部实用方法和 lambda 函数。
- 验证工具 运行验证套件,确保生成的代码有效且符合严格的质量标准。
python3 verify_final.py
会发生什么?
- 模拟 ThingsBoard SDK(无需真实连接)。
- 使用虚拟数据测试每个工具,确保其正确调用客户端。
- 生成
VERIFICATION_REPORT_CE.md,记录每个工具的通过/失败状态。
⚙️ 配置
服务需要以下环境变量才能连接到您的 ThingsBoard 实例。
| 变量 | 描述 | 默认值 |
|---|---|---|
| TB_URL | 您的 ThingsBoard URL | http://localhost:8080 |
| TB_USERNAME | 租户管理员用户名 | [email protected] |
| TB_PASSWORD | 租户管理员密码 | tenant |
| TB_EDITION | 要加载的版本(CE 或 PE) | PE |
🏃♂️ 使用方法
选项 A:与 Claude Desktop 配合使用
将以下配置添加到您的 Claude Desktop 配置文件中:
MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"thingsboard": {
"command": "python3",
"args": ["/absolute/path/to/thingsboard-mcp/thingsboard_mcp/main.py"],
"env": {
"TB_URL": "http://YOUR_TB_IP:8080",
"TB_USERNAME": "[email protected]",
"TB_PASSWORD": "your_password",
"TB_EDITION": "CE"
}
}
}
}
选项 B:手动运行(测试)
您可以直接在终端中运行服务,以测试连接或进行调试。
export TB_URL="http://localhost:8080"
export TB_USERNAME="[email protected]"
export TB_PASSWORD="tenant"
export TB_EDITION="CE"
python3 thingsboard_mcp/main.py
📂 项目结构。
├── generate_thingsboard_mcp.py # Scans SDK and generates tool code
├── verify_tools.py # Mocks SDK and verifies generated tools
├── TOOLS_CE.md # Documentation of all generated tools
├── VERIFICATION_REPORT_CE.md # Audit log of tool health
├── README.md # This file
└── thingsboard_mcp/ # The generated package
├── main.py # Entry point for MCP Server
└── tools/
├── shared.py # Shared utilities (Auth, JSON parsing)
├── ce/ # Community Edition tools (Asset, Device, etc.)
└── pe/ # Professional Edition tools (if applicable)
🛡️ 故障排除
缺少工具? 请检查 TOOLS_CE.md 或 generate_thingsboard_mcp.py 的控制台输出。以下情况会导致工具被跳过:
- 它们对应内部线程方法(join、start)。
- 源 SDK 中缺少该方法的文档字符串。
- 该方法是 lambda 函数或偏函数。
连接错误? 服务会在首次调用工具时立即尝试登录。请确保运行 MCP 服务的机器能够访问您的
TB_URL,且凭据正确。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。