A Python application that connects to an OPC UA server and exposes it via MCP (Model Context Protocol) using FastMCP.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"opcua-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A Python application that connects to an OPC UA server and exposes it via MCP (Model Context Protocol) using FastMCP.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in devops
MCP server for using the GitLab API
Enhanced MCP server for GitLab: group projects listing and activity tracking
Yunxiao MCP Server provides AI assistants with the ability to interact with the Yunxiao platform. It provides a set of tools that interact with Yunxiao's API, allowing AI assistants to manage Codeup repository, Project, Pipeline, Packages etc.
MCP server for Komodo - manage Docker containers, servers, stacks, and deployments via AI
MCP Security Weekly
Get CVE alerts and security updates for Opcua Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A Python application that connects to an OPC UA server and exposes it via MCP (Model Context Protocol) using FastMCP.
pip install -r requirements.txt
python opcua_mcp_server.py opc.tcp://localhost:4840
python opcua_mcp_server.py opc.tcp://localhost:4840 --username myuser --password mypass
python opcua_mcp_server.py opc.tcp://localhost:4840 --transport stdio
python opcua_mcp_server.py opc.tcp://localhost:4840 --start-node "i=84" --http-port 8080
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)The server provides the following tools:
Read the current value of one or more OPC UA nodes.
Parameters:
node_ids: List of node IDs to readExample:
{
"node_ids": ["ns=2;s=MyVariable", "ns=2;s=Temperature"]
}
Find nodes by display name pattern (supports wildcards).
Parameters:
pattern: Display name pattern with wildcards (e.g., Temperature)Example:
{
"pattern": "*Temperature*"
}
Find nodes by browse name pattern (supports wildcards).
Parameters:
pattern: Browse name pattern with wildcards (e.g., Sensor)Example:
{
"pattern": "*Sensor*"
}
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)opcua-asyncio example server)python opcua_mcp_server.py opc.tcp://localhost:4840