EMBEDDED DEV TOOLS / HM-DT-041
HM-DT-041 · datasheet
OPC UA MCP Server
Lets MCP agents read sensors, browse the plant and, only when allowed, control equipment on any OPC UA server (PLC, SCADA gateway or historian)
01 · What it does
- Read and browse OPC UA nodes, with data type, status, timestamps and units
- Read history and aggregates, and event history where the server supports it
- Subscribe to nodes and events, and list active alarms
- Read-only by default; writes and method calls need the operator profile, an allowlist and a verified server
- Audit file of every control call. Same 15 tools in Python and Node
02 · Install
$ claude mcp add opcua -e OPCUA_SERVER_URL=opc.tcp://localhost:4840 -- npx -y opcua-mcp-server- Replace opc.tcp://localhost:4840 with your endpoint. Python runtime: swap npx -y opcua-mcp-server for uvx opcua-mcp-server
- Claude Desktop: a one-file .mcpb bundle on the releases page, or opcua-mcp-server --install claude-desktop --url ... --dry-run
- Try it without a plant: the repo ships a mock OPC UA server (uv sync --all-packages, then uv run --no-sync opcua-mock-server)
- README warning: the default channel is unencrypted and anonymous; secure it and pin the server certificate before real equipment
- One process talks to one endpoint, so add one entry per PLC
03 · Client config (from README)
{
"mcpServers": {
"opcua": {
"command": "npx",
"args": ["-y", "opcua-mcp-server"],
"env": { "OPCUA_SERVER_URL": "opc.tcp://localhost:4840" }
}
}
}
Install steps taken from the project README (its recommended path first). Placeholders are the maintainer's. Not bench-tested by HardwareMCP yet.
Weekly bulletin
New hardware MCP servers, notable releases and setup notes. One email, Mondays.