返回市场
OPC-UA-MCP

OPC-UA-MCP

作者:kukapay20 星标更新:2025-10-30

项目介绍

OPC UA MCP 服务器

连接到支持OPC UA的工业系统,允许AI代理实时监控、分析和控制操作数据。

此项目非常适合希望将AI驱动的工作流程与工业自动化系统相结合的开发者和工程师。

GitHub License Python Version Status

特性

  • 读取OPC UA节点:从工业设备中获取实时值。
  • 写入OPC UA节点:通过向指定节点写入值来控制设备。
  • 浏览节点:请求列出所有OPC UA节点。
  • 读取多个OPC UA节点:从设备中获取多个实时值。
  • 写入多个OPC UA节点:通过向多个节点写入值来控制设备。
  • 无缝集成:与如Claude Desktop等MCP客户端配合,实现自然语言交互。

工具

该服务器公开了五个工具:

  • read_opcua_node

    • 描述:读取特定OPC UA节点的值。
    • 参数
      • node_id (str): OPC UA节点ID(例如:ns=2;i=2)。
    • 返回:一个字符串,包含节点ID及其值(例如:"节点 ns=2;i=2 值:42")。
  • write_opcua_node

    • 描述:向特定OPC UA节点写入值。
  • 参数

    • node_id (str): OPC UA节点ID(例如:ns=2;i=3)。
    • value (str): 要写入的值(根据节点类型转换)。
  • 返回:成功或错误消息(例如:"成功将100写入节点 ns=2;i=3")。

  • 浏览节点

    • 描述:读取特定OPC UA节点的值。
  • 读取多个OPC UA节点

    • 描述:读取特定OPC UA节点的值。
  • 写入多个OPC UA节点

    • 描述:读取特定OPC UA节点的值。

示例提示

  • "节点 ns=2;i=2 的值是多少?" → 返回当前值。
  • "将节点 ns=2;i=3 设置为100。" → 将100写入节点。

安装

先决条件

  • Python 3.13 或更高版本
  • 一个OPC UA服务器(例如:模拟器或实际工业设备)

安装依赖项

克隆仓库并安装所需的Python包:

git clone https://github.com/kukapay/opcua-mcp.git
cd opcua-mcp
pip install mcp[cli] opcua cryptography

MCP客户端配置

{
 "mcpServers": {
   "opcua-mcp": {
     "command": "python",
     "args": ["path/to/opcua_mcp/main.py"],
     "env": {
        "OPCUA_SERVER_URL": "your-opc-ua-server-url"
     }
   }
 }
}

许可证

本项目采用MIT许可证。详情见LICENSE文件。