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.
Metadata
Release files for opcua-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| opcua_mcp-0.1.0.tar.gz | 3.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| opcua_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.8 kB
Release files / opcua_mcp-0.1.0.tar.gz
| Download URL | opcua_mcp-0.1.0.tar.gz |
|---|---|
| Size | 3.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e152906cddf7623542e26c87c9c04cc249e41ffa8f34f39578754e80b0d67751
|
|
BLAKE2b-256 checksum How to use checksums |
0e6df048f1f34dd8119448ceca591e7036cf7fd55bd38d154ebb5d254159040e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|
Release files / opcua_mcp-0.1.0-py3-none-any.whl
| Download URL | opcua_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 4.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1020f4bf3ebef456996f6b37bff4491d5f7ba40726784013de07407a77495319
|
|
BLAKE2b-256 checksum How to use checksums |
7d6aecb2446589afe2c7327d9c8b0ced9b9c5fa2010566a580f22d92415fca2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.6.5
|