About OPC UA MCP Server
OPC UA MCP Server is an MCP server that connects to OPC UA industrial systems, letting AI agents monitor, analyze and control operational data in real time. It is aimed at developers and engineers who want to link AI workflows with industrial automation.
Key features
- 01Read real-time values from OPC UA nodes
- 02Write values to OPC UA nodes to control devices
- 03Read multiple nodes in one request
- 04Write to multiple nodes in one request
- 05Browse available OPC UA nodes
Use cases
- 01Query current values of device nodes in natural language
- 02Let an AI agent write control values to specified nodes
- 03Interact with industrial device data from Claude Desktop
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEOPC 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.
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.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.