官方的 Litmus Automation 模型上下文协议 (MCP) 服务器使大型语言模型和智能系统能够与 Litmus Edge 进行设备配置、监控和管理交互。它基于 MCP SDK 构建,并遵循 模型上下文协议规范。
<div> <picture> <source media="(prefers-color-scheme: light)" srcset="static/MCP-server-arch-diagram.png" /> <img src="static/MCP-server-arch-diagram.png" alt="Litmus MCP 服务器架构图" /> </picture> </div>在 Docker 中运行服务器:
docker run -d --name litmus-mcp-server -p 8000:8000 ghcr.io/litmusautomation/litmus-mcp-server:latest
示例 mcp.json 配置:
{
"mcpServers": {
"litmus-mcp-server": {
"url": "http://<MCP_SERVER_IP>:8000/sse",
"headers": {
"EDGE_URL": "https://<LITMUSEDGE_IP>",
"EDGE_API_CLIENT_ID": "<oauth2_client_id>",
"EDGE_API_CLIENT_SECRET": "<oauth2_client_secret>",
"NATS_SOURCE": "<LITMUSEDGE_IP>",
"NATS_PORT": "4222",
"NATS_USER": "<access_token_username>",
"NATS_PASSWORD": "<access_token_from_litmusedge>",
"INFLUX_HOST": "<LITMUSEDGE_IP>",
1. "INFLUX_PORT": "8086",
"INFLUX_DB_NAME": "tsdata",
"INFLUX_USERNAME": "<datahub_username>",
"INFLUX_PASSWORD": "<datahub_password>"
}
}
}
}
头部配置指南:
EDGE_URL: Litmus Edge 基础 URL(包括 https://)EDGE_API_CLIENT_ID / EDGE_API_CLIENT_SECRET: 来自 Litmus Edge 的 OAuth2 凭证NATS_SOURCE: Litmus Edge IP(无 http/https)NATS_USER / NATS_PASSWORD: 来自 系统 → 访问控制 → 令牌 的访问令牌凭证INFLUX_HOST: Litmus Edge IP(无 http/https)INFLUX_USERNAME / INFLUX_PASSWORD: DataHub 用户凭证更多信息请参阅 Cursor 文档。
| 类别 | 功能名称 | 描述 |
|---|---|---|
| DeviceHub | get_litmusedge_driver_list | 列出支持的 Litmus Edge 驱动程序(例如,ModbusTCP、OPCUA、BACnet)。 |
get_devicehub_devices | 列出所有已配置的 DeviceHub 设备及其连接设置和状态。 | |
create_devicehub_device | 创建具有指定驱动程序和默认配置的新设备。 | |
get_devicehub_device_tags | 获取特定设备的所有标签(数据点/寄存器)。 | |
get_current_value_of_devicehub_tag | 读取特定设备标签的当前实时值。 | |
| 设备标识 | get_litmusedge_friendly_name | 获取分配给 Litmus Edge 设备的人类可读名称。 |
set_litmusedge_friendly_name | 更新 Litmus Edge 设备的友好名称。 | |
| LEM 集成 | get_cloud_activation_status | 检查云注册和 Litmus Edge Manager (LEM) 连接状态。 |
| Docker 管理 | get_all_containers_on_litmusedge | 列出 Litmus Edge 市场上的所有 Docker 容器。 |
run_docker_container_on_litmusedge | 在 Litmus Edge 市场上部署并运行新的 Docker 容器。 | |
| NATS 主题 * | get_current_value_from_topic | 订阅 NATS 主题并返回下一个发布的消息。 |
get_multiple_values_from_topic | 收集 NATS 主题的多个连续值以进行趋势分析。 | |
| InfluxDB ** | get_historical_data_from_influxdb | 根据测量值和时间范围查询 InfluxDB 中的历史时间序列数据。 |
| 数字孪生 | list_digital_twin_models | 列出所有数字孪生模型及其 ID、名称、描述和版本。 |
list_digital_twin_instances | 列出所有数字孪生实例或按模型 ID 过滤。 | |
create_digital_twin_instance | 从现有模型创建新的数字孪生实例。 | |
list_static_attributes | 列出模型或实例的静态属性(固定键值对)。 | |
list_dynamic_attributes | 列出模型或实例的动态属性(实时数据点)。 | |
list_transformations | 列出为数字孪生模型配置的数据转换规则。 | |
get_digital_twin_hierarchy | 获取数字孪生模型的层次结构配置。 | |
save_digital_twin_hierarchy | 将新的层次结构配置保存到数字孪生模型中。 |
* NATS 主题工具需求:
要使用 get_current_value_from_topic 和 get_multiple_values_from_topic,您必须在 Litmus Edge 上配置访问控制:
** InfluxDB 工具需求:
要使用 get_historical_data_from_influxdb,您必须允许 InfluxDB 端口访问:
此服务器支持 MCP SSE 传输,用于实时通信。
http://<server-ip>:8000/sse0.0.0.0:8000/sse通过 Litmus 中央 下载或试用 Litmus Edge。
添加到 ~/.cursor/mcp.json 或 .cursor/mcp.json:
{
"mcpServers": {
"litmus-mcp-server": {
"url": "http://<MCP_SERVER_IP>:8000/sse",
"headers": {
"EDGE_URL": "https://<LITMUSEDGE_IP>",
"EDGE_API_CLIENT_ID": "<oauth2_client_id>",
"EDGE_API_CLIENT_SECRET": "<oauth2_client_secret>",
"NATS_SOURCE": "<LITMUSEDGE_IP>",
"NATS_PORT": "4222",
"NATS_USER": "<access_token_username>",
"NATS_PASSWORD": "<access_token_from_litmusedge>",
"INFLUX_HOST": "<LITMUSEDGE_IP>",
"INFLUX_PORT": "8086",
"INFLUX_DB_NAME": "tsdata",
"INFLUX_USERNAME": "<datahub_username>",
"INFLUX_PASSWORD": "<datahub_password>"
}
}
}
}
添加到 claude_desktop_config.json:
{
"mcpServers": {
"litmus-mcp-server": {
"url": "http://<MCP_SERVER_IP>:8000/sse",
"headers": {
"EDGE_URL": "https://<LITMUSEDGE_IP>",
"EDGE_API_CLIENT_ID": "<oauth2_client_id>",
"EDGE_API_CLIENT_SECRET": "<oauth2_client_secret>",
"NATS_SOURCE": "<LITMUSEDGE_IP>",
"NATS_PORT": "4222",
"NATS_USER": "<access_token_username>",
"NATS_PASSWORD": "<access_token_from_litmusedge>",
"INFLUX_HOST": "<LITMUSEDGE_IP>",
"INFLUX_PORT": "8086",
"INFLUX_DB_NAME": "tsdata",
"INFLUX_USERNAME": "<datahub_username>",
"INFLUX_PASSWORD": "<datahub_password>"
}
}
}
}
在 VS Code 中: 打开用户设置 (JSON) → 添加:
{
"mcpServers": {
"litmus-mcp-server": {
"url": "http://<MCP_SERVER_IP>:8000/sse",
"headers": {
"EDGE_URL": "https://<LITMUSEDGE_IP>",
"EDGE_API_CLIENT_ID": "<oauth2_client_id>",
"EDGE_API_CLIENT_SECRET": "<oauth2_client_secret>",
"NATS_SOURCE": "<LITMUSEDGE_IP>",
"NATS_PORT": "4222",
"NATS_USER": "<access_token_username>",
"NATS_PASSWORD": "<access_token_from_litmusedge>",
"INFLUX_HOST": "<LITMUSEDGE_IP>",
"INFLUX_PORT": "8086",
"INFLUX_DB_NAME": "tsdata",
"INFLUX_USERNAME": "<datahub_username>",
"INFLUX_PASSWORD": "<datahub_password>"
}
}
}
}
或者使用项目中的 .vscode/mcp.json。
添加到 ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"litmus-mcp-server": {
"url": "http://<MCP_SERVER_IP>:8000/sse",
"headers": {
"EDGE_URL": "https://<LITMUSEDGE_IP>",
"EDGE_API_CLIENT_ID": "<oauth2_client_id>",
"EDGE_API_CLIENT_SECRET": "<oauth2_client_secret>",
"NATS_SOURCE": "<LITMUSEDGE_IP>",
"NATS_PORT": "4222",
"NATS_USER": "<access_token_username>",
"NATS_PASSWORD": "<access_token_from_litmusedge>",
"INFLUX_HOST": "<LITMUSEDGE_IP>",
"INFLUX_PORT": "8086",
"INFLUX_DB_NAME": "tsdata",
1. "INFLUX_USERNAME": "<datahub_username>",
"INFLUX_PASSWORD": "<datahub_password>"
}
}
}
}
© 2025 Litmus Automation, Inc. 保留所有权利。