项目简介
Litmus MCP Edge 服务器是 Litmus Automation 官方开发的 Model Context Protocol (MCP) 服务器,它使大型语言模型 (LLM) 和智能系统能够通过标准协议与 Litmus Edge 工业物联网平台进行交互。该服务器托管并管理了一系列工具,允许LLM执行设备配置、数据监控和资产管理等操作,将工业物联网的复杂性抽象化,让LLM能够以自然语言指令的方式操作边缘设备。
主要功能点
- 设备管理:
- 列出Litmus Edge DeviceHub支持的所有工业驱动程序(如ModbusTCP、OPCUA)。
- 获取、创建和管理Litmus Edge上已配置的工业设备,包括查看其连接设置和状态。
- 检索特定设备的所有标签(数据点/寄存器),并读取其实时值。
- 数据访问:
- 从NATS消息主题获取最新的实时数据值或收集多条序列值,用于趋势分析。
- 查询InfluxDB数据库中的历史时序数据,支持按测量名称和时间范围进行检索。
- 系统监控与部署:
- 获取和设置Litmus Edge设备的友好名称。
- 检查与Litmus Edge Manager (LEM) 的云连接和激活状态。
- 列出Litmus Edge上所有正在运行的Docker容器,并支持部署和运行新的Docker容器。
- 数字孪生:
- 列出、创建和管理数字孪生模型及其实例。
- 查看数字孪生模型或实例的静态属性(固定键值对)和动态属性(实时数据点)。
- 获取数字孪生模型的转换规则和层级结构配置,并支持保存新的层级配置。
- 标准化通信:
- 通过MCP协议(Model Context Protocol)与LLM客户端进行通信,支持Server-Sent Events (SSE) 传输机制,提供安全、可扩展的上下文服务框架。
安装步骤
该服务器可以直接通过Docker镜像运行:
- 确保您的系统已安装Docker。
- 打开终端或命令行工具,运行以下命令启动服务器:
这将会在后台启动Litmus MCP服务器,并将其8000端口映射到主机的8000端口。服务器的SSE端点将监听在 'http://<您的服务器IP>:8000/sse'。docker run -d --name litmus-mcp-server -p 8000:8000 ghcr.io/litmusautomation/litmus-mcp-server:latest
服务器配置
MCP客户端(如Cursor IDE、Claude Desktop、VS Code / Copilot等)需要以下JSON格式的配置信息才能连接到Litmus MCP Edge服务器并使用其提供的工具。您需要根据实际部署情况替换 '<MCP_SERVER_IP>' 和 Litmus Edge 相关的凭据。
{ "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>" } } } }
参数注释:
- 'url': Litmus MCP服务器的SSE(Server-Sent Events)端点,其中 '<MCP_SERVER_IP>' 替换为MCP服务器的实际IP地址。
- 'EDGE_URL': Litmus Edge平台的完整URL(包含 'https://')。
- 'EDGE_API_CLIENT_ID': 从Litmus Edge获取的OAuth2客户端ID,用于API访问认证。
- 'EDGE_API_CLIENT_SECRET': 从Litmus Edge获取的OAuth2客户端密钥,用于API访问认证。
- 'NATS_SOURCE': Litmus Edge平台的IP地址(不包含 'http://' 或 'https://'),用于NATS消息服务连接。
- 'NATS_PORT': NATS消息服务的端口,默认为 '4222'。
- 'NATS_USER': 从Litmus Edge的“系统 → 访问控制 → 令牌”中获取的访问令牌用户名,用于NATS认证。
- 'NATS_PASSWORD': 从Litmus Edge的“系统 → 访问控制 → 令牌”中获取的访问令牌,用于NATS认证。
- 'INFLUX_HOST': Litmus Edge平台的IP地址(不包含 'http://' 或 'https://'),用于InfluxDB数据库连接。
- 'INFLUX_PORT': InfluxDB数据库的端口,默认为 '8086'。
- 'INFLUX_DB_NAME': InfluxDB数据库的名称,默认为 'tsdata'。
- 'INFLUX_USERNAME': 从Litmus Edge获取的DataHub用户凭据用户名,用于InfluxDB认证。
- 'INFLUX_PASSWORD': 从Litmus Edge获取的DataHub用户凭据密码,用于InfluxDB认证。
基本使用方法
MCP服务器启动并成功配置到您的LLM客户端后,LLM即可通过自然语言对话来调用服务器提供的各种工具。例如,您可以向LLM提问:
- “列出Litmus Edge上所有配置的设备。”
- “创建一个名为'MyNewDevice',使用'ModbusTCP'驱动的设备。”
- “读取'ProductionLine_PLC1'设备上'TemperatureSensor_01'标签的当前值。”
- “从NATS主题'devicehub/data/sensor_readings'收集20个序列值,用于趋势分析。”
- “从InfluxDB中查询过去24小时内'machine_status'测量值的历史数据。”
- “列出所有可用的数字孪生模型。”
LLM会根据您的指令,自动识别并调用Litmus MCP Edge服务器中相应的工具来执行操作,并将结构化的结果返回给您。
信息
分类
AI与计算