
OPC UA MCP Server
An MCP server that connects to OPC UA-enabled industrial systems.
what is OPC UA MCP Server?
OPC UA MCP Server is a server that connects to OPC UA-enabled industrial systems, enabling AI agents to monitor, analyze, and control operational data in real time.
how to use OPC UA MCP Server?
To use the OPC UA MCP Server, clone the repository, install the required dependencies, and configure the MCP client with your OPC UA server URL. You can then interact with the server using the provided tools to read and write OPC UA node values.
key features of OPC UA MCP Server?
- Read OPC UA Nodes: Retrieve real-time values from industrial devices.
- Write to OPC UA Nodes: Control devices by writing values to specified nodes.
- Seamless Integration: Works with MCP clients for natural language interaction.
use cases of OPC UA MCP Server?
- Monitoring real-time data from industrial sensors.
- Controlling industrial devices remotely.
- Integrating AI-driven workflows with industrial automation systems.
FAQ from OPC UA MCP Server?
- Can I use OPC UA MCP Server with any OPC UA device?
Yes! The server is designed to work with any OPC UA-enabled device.
- What programming language is used for this project?
The project is developed in Python.
- Is there a license for this project?
Yes! The project is licensed under the MIT License.
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.
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.
- Seamless Integration: Works with MCP clients like Claude Desktop for natural language interaction.
Tools
The server exposes two 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").
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.10 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 asyncua mcp[cli]
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.