mcpField
T
thingsboard-mcp-server

thingsboard-mcp-server

本地服务
github.com/pophalea数据与分析041 周前更新

关于 thingsboard-mcp-server

thingsboard-mcp-server 将 MCP 客户端连接到 ThingsBoard 实例,用于管理资产、设备、遥测数据和警报。工具由官方 Python SDK 生成,并适配已安装的 CE 或 PE 版本。

主要功能

  1. 01管理 ThingsBoard 资产和设备
  2. 02访问遥测数据和警报
  3. 03根据 Python SDK 生成工具
  4. 04检测已安装的 CE 或 PE 版本
  5. 05验证生成的工具定义

适用场景

  1. 01通过 AI 助手管理 ThingsBoard 资产
  2. 02检查设备遥测数据和警报
  3. 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

🛠️ 设置与生成

  1. 生成工具 运行生成器脚本。该脚本会扫描已安装的 tb-rest-client 库,追踪方法调用,并生成 MCP 工具代码。
python3 generate_thingsboard_mcp.py

会发生什么?

  • 创建 thingsboard_mcp/tools/ce/(如果已安装,还会创建 pe/)。
  • 生成 TOOLS_CE.md 文件,列出所有可用工具及其说明和参数。
  • 自动筛除内部实用方法和 lambda 函数。
  1. 验证工具 运行验证套件,确保生成的代码有效且符合严格的质量标准。
python3 verify_final.py

会发生什么?

  • 模拟 ThingsBoard SDK(无需真实连接)。
  • 使用虚拟数据测试每个工具,确保其正确调用客户端。
  • 生成 VERIFICATION_REPORT_CE.md,记录每个工具的通过/失败状态。

⚙️ 配置

服务需要以下环境变量才能连接到您的 ThingsBoard 实例。

变量描述默认值
TB_URL您的 ThingsBoard URLhttp://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 的控制台输出。以下情况会导致工具被跳过:

  1. 它们对应内部线程方法(join、start)。
  2. 源 SDK 中缺少该方法的文档字符串。
  3. 该方法是 lambda 函数或偏函数。 连接错误? 服务会在首次调用工具时立即尝试登录。请确保运行 MCP 服务的机器能够访问您的 TB_URL,且凭据正确。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。