logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

opcua-mcp

An MCP server that connects to OPC UA-enabled industrial systems.

Author

MCP Server

kukapay

MIT License

Quick Info

GitHub GitHub Stars 17
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

embeddedopcuamcpopcua mcpembedded devicesdevices kukapay

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.

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.

See Also

`