Command Palette

Search for a command to run...

UnylyUnyly
Browse all

OPC UA

FreeNot checked

Integrates with OPC UA industrial automation systems to enable reading and writing node values for monitoring and controlling connected devices

GitHubEmbed

About

Integrates with OPC UA industrial automation systems to enable reading and writing node values for monitoring and controlling connected devices

README

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.

from github.com/kukapay/opcua-mcp

Install OPC UA in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install opc-ua

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add opc-ua -- uvx opcua-mcp

Step-by-step: how to install OPC UA

FAQ

Is OPC UA MCP free?

Yes, OPC UA MCP is free — one-click install via Unyly at no cost.

Does OPC UA need an API key?

No, OPC UA runs without API keys or environment variables.

Is OPC UA hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install OPC UA in Claude Desktop, Claude Code or Cursor?

Open OPC UA on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare OPC UA with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs