OPC UA MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OPC UA MCP Serverread value of ns=2;s=Temperature"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OPC UA MCP Server
A Python application that connects to an OPC UA server and exposes it via MCP (Model Context Protocol) using FastMCP.
Features
Connect to any OPC UA server with optional authentication
Browse the complete node tree from a configurable starting node
Expose the OPC UA node tree as MCP resources
Read values from OPC UA nodes
Search nodes by display name or browse name with wildcard support
Support for both stdio and SSE (Server-Sent Events) transport methods
Related MCP server: WinCC Unified MCP XT
Installation
pip install -r requirements.txtUsage
Basic usage with HTTP transport (default):
python opcua_mcp_server.py opc.tcp://localhost:4840With authentication:
python opcua_mcp_server.py opc.tcp://localhost:4840 --username myuser --password mypassUsing stdio transport:
python opcua_mcp_server.py opc.tcp://localhost:4840 --transport stdioWith custom starting node and HTTP port:
python opcua_mcp_server.py opc.tcp://localhost:4840 --start-node "i=84" --http-port 8080Command Line Arguments
opcua_url(required): OPC UA server URL (e.g., opc.tcp://localhost:4840)--start-node: Starting node ID for browsing (default: i=85)--username: Username for OPC UA authentication--password: Password for OPC UA authentication--transport: MCP transport method - 'stdio' or 'http' (default: http)--http-port: Port for HTTP transport (default: 3000)
MCP Tools
The server provides the following tools:
read-value
Read the current value of one or more OPC UA nodes.
Parameters:
node_ids: List of node IDs to read
Example:
{
"node_ids": ["ns=2;s=MyVariable", "ns=2;s=Temperature"]
}find-by-display-name
Find nodes by display name pattern (supports wildcards).
Parameters:
pattern: Display name pattern with wildcards (e.g., Temperature)
Example:
{
"pattern": "*Temperature*"
}find-by-browse-name
Find nodes by browse name pattern (supports wildcards).
Parameters:
pattern: Browse name pattern with wildcards (e.g., Sensor)
Example:
{
"pattern": "*Sensor*"
}Node Information
Each node in the tree contains:
node_id: The OPC UA node identifierbrowse_name: The browse name of the nodedisplay_name: The human-readable display namenode_class: The type of node (e.g., Object, Variable, Method, etc.)children: List of child nodes (only for non-leaf nodes)
Example
Start an OPC UA server (e.g., using
opcua-asyncioexample server)Run the MCP server:
python opcua_mcp_server.py opc.tcp://localhost:4840The MCP server will connect to the OPC UA server, browse the node tree, and expose it via MCP
You can now use any MCP client to interact with the OPC UA data
Error Handling
The server will exit if it cannot connect to the OPC UA server
Individual node read errors are returned in the response
The server properly disconnects from the OPC UA server on shutdown
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityDmaintenanceConnects AI agents to OPC UA-enabled industrial systems for real-time monitoring and control of operational data. It enables users to read, write, and browse industrial device nodes through natural language interactions.Last updatedMIT
- Flicense-qualityDmaintenanceAn MCP server that interfaces with SIEMENS WinCC Unified SCADA systems via GraphQL to manage real-time and historical tag data. It enables AI assistants to browse SCADA objects, read or write tag values, and perform alarm management tasks such as fetching, acknowledging, and resetting alarms.Last updated6
- AlicenseBqualityCmaintenanceEnables MCP clients to connect to and interact with Siemens PLCs via python-snap7, supporting read/write operations on data blocks, memory, timers, counters, and CPU management.Last updated22MIT
- Alicense-qualityAmaintenanceConverts OPC UA sensor data into MCP-compatible tools and exposes machine health via both HTTP and MCP.Last updated1Apache 2.0
Related MCP Connectors
Search and browse every MCP server in the Model Context Protocol registry.
Self-hosted MCP gateway: turn any API, database or MCP server into AI connectors — no code.
Connect any MCP client to MetaTrader 4/5 to read prices, manage positions, and place trades.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vogler75/opcua-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server