项目简介

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镜像运行:

  1. 确保您的系统已安装Docker。
  2. 打开终端或命令行工具,运行以下命令启动服务器:
    docker run -d --name litmus-mcp-server -p 8000:8000 ghcr.io/litmusautomation/litmus-mcp-server:latest
    这将会在后台启动Litmus MCP服务器,并将其8000端口映射到主机的8000端口。服务器的SSE端点将监听在 'http://<您的服务器IP>:8000/sse'。

服务器配置

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与计算