Skip to main content
Glama
intigration

OPC UA MCP Server

by intigration

OPC UA MCP Server

An MCP server that connects to OPC UA-enabled industrial systems, allowing AI agents to monitor, analyze, and control operational data in real time.

This project is ideal for developers and engineers looking to bridge AI-driven workflows with industrial automation systems.

GitHub License Python Version Status

Features

  • Read OPC UA Nodes: Retrieve real-time values from industrial devices.

  • Write to OPC UA Nodes: Control devices by writing values to specified nodes.

  • Browse nodes: Request to list allopcua nodes

  • Read multiple OPC UA Nodes: Retrieve multiple real-time values from devices.

  • Write to multiple OPC UA Nodes: Control devices by writing values to multiple nodes.

  • Seamless Integration: Works with MCP clients like Claude Desktop for natural language interaction.

Tools

The server exposes five tools:

  • read_opcua_node:

    • Description: Read the value of a specific OPC UA node.

    • Parameters:

      • node_id (str): OPC UA node ID (e.g., ns=2;i=2).

    • Returns: A string with the node ID and its value (e.g., "Node ns=2;i=2 value: 42").

  • write_opcua_node:

    • Description: Write a value to a specific OPC UA node.

    • Parameters:

      • node_id (str): OPC UA node ID (e.g., ns=2;i=3).

      • value (str): Value to write (converted based on node type).

    • Returns: A success or error message (e.g., "Successfully wrote 100 to node ns=2;i=3").

  • Browse nodes:

    • Description: Read the value of a specific OPC UA node.

  • Read multiple OPC UA Nodes:

    • Description: Read the value of a specific OPC UA node.

  • Write to multiple OPC UA Nodes:

    • Description: Read the value of a specific OPC UA node.

Example Prompts

  • "What’s the value of node ns=2;i=2?" → Returns the current value.

  • "Set node ns=2;i=3 to 100." → Writes 100 to the node.

Related MCP server: S7 MCP Bridge

Installation

Prerequisites

  • Python 3.13 or higher

  • An OPC UA server (e.g., a simulator or real industrial device)

Install Dependencies

Clone the repository and install the required Python packages:

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

MCP Client Configuration

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

License

This project is licensed under the MIT License. See the LICENSE file for details.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Provides AI agents with safe, governed read access to industrial control systems (OPC-UA, Modbus, S7, Mitsubishi, MTConnect, MQTT/Sparkplug) plus cross-protocol diagnostics for troubleshooting data breaks, alarm floods, and unhealthy tags.
    2
    155
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Connects AI agents to Siemens industrial PLCs for automatic monitoring and control of industrial equipment.
    23
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables LLMs to connect to factory PLC sensors, read register data, analyze predictive maintenance, and monitor energy consumption in industrial environments.
    3
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLMs to read, write, browse, search, and subscribe to live data on OPC-UA industrial automation servers, with caching, discovery index, and support for stdio or HTTP transports.
    5
    MIT