Server data from the Official MCP Registry
OPC UA companion spec types, namespace dependencies, and engineering units for AI agents
OPC UA companion spec types, namespace dependencies, and engineering units for AI agents
A well-architected OPC UA information model discovery tool with clean code organization, proper input validation via Zod, and appropriate permissions scoped to the server's purpose. The server operates entirely offline from a static catalog with no network calls, API keys, or sensitive credentials. Minor code quality observations do not materially impact security posture. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
5 files analyzed · 7 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-node-opcua-node-opcua-modeler-mcp-server": {
"args": [
"-y",
"node-opcua-modeler-mcp-server"
],
"command": "npx"
}
}
}From the project's GitHub README.
An MCP server that gives AI agents access to the OPC UA companion specification type system — 589 types across 22 industrial namespaces, plus 1,533 engineering units.
Built on node-opcua, the most widely used OPC UA stack for Node.js.
When an AI agent needs to build an OPC UA information model, it must know:
This MCP server answers all of those questions — offline, for free, in milliseconds.
Add to your claude_desktop_config.json:
{
"mcpServers": {
"opcua-modeler": {
"command": "npx",
"args": ["-y", "node-opcua-modeler-mcp-server"]
}
}
}
npx node-opcua-modeler-mcp-server
The server communicates over stdio using the Model Context Protocol.
list_namespacesList all 25 OPC UA companion spec namespaces with aliases, URIs, and dependencies.
→ list_namespaces()
← [
{ "alias": "di", "name": "OPC UA for Devices", "uri": "http://opcfoundation.org/UA/DI/", "dependencies": [] },
{ "alias": "robotics", "name": "OPC UA for Robotics", "uri": "http://opcfoundation.org/UA/Robotics/", "dependencies": ["di", "ia"] },
...
]
resolve_dependenciesResolve the full dependency chain for companion spec aliases. Returns a topologically sorted list for the YAML namespaces: block.
→ resolve_dependencies({ aliases: ["machineTool"] })
← ["di", "ia", "machinery", "isa95JobControl", "machineryJobs", "machineTool"]
list_typesList all ObjectTypes and VariableTypes defined in a companion spec namespace.
→ list_types({ alias: "robotics" })
← [
{ "browseName": "MotionDeviceType", "kind": "ObjectType", "subtypeOf": "di:ComponentType", ... },
{ "browseName": "AxisType", "kind": "ObjectType", "subtypeOf": "di:ComponentType", ... },
...
] // 25 types
get_type_detailsGet the full structure of a type — components, properties, methods, interfaces, including inherited members.
→ get_type_details({ alias: "robotics", browseName: "MotionDeviceType" })
← {
"browseName": "MotionDeviceType",
"kind": "ObjectType",
"subtypeOf": "di:ComponentType",
"interfaces": ["di:IVendorNameplateType", "di:ITagNameplateType"],
"components": [
{ "browseName": "robotics:Axes", "nodeClass": "Object", "typeDefinition": "FolderType", "modellingRule": "Mandatory" },
{ "browseName": "robotics:PowerTrains", "nodeClass": "Object", "typeDefinition": "FolderType", "modellingRule": "Mandatory" },
...
],
"properties": [
{ "browseName": "di:Manufacturer", "dataType": "LocalizedText", "modellingRule": "Mandatory" },
{ "browseName": "robotics:MotionDeviceCategory", "dataType": "MotionDeviceCategoryEnumeration", "modellingRule": "Mandatory" },
...
]
}
search_typesSearch for types across all companion specs by keyword.
→ search_types({ query: "temperature" })
← [
{ "alias": "glass", "browseName": "MotorTemperatureTooHighEventType", ... },
{ "alias": "padim", "browseName": "TemperatureMeasurementVariableType", ... },
{ "alias": "amb", "browseName": "OverTemperatureConditionClassType", ... }
]
find_engineering_unitFind the official UNECE Rec. 20 engineering unit symbol. Supports fuzzy matching and natural language aliases.
→ find_engineering_unit({ query: "celsius" })
← { "symbol": "°C", "matchType": "alias", "confidence": 1 }
→ find_engineering_unit({ query: "revolutions per minute" })
← { "symbol": "rpm", "matchType": "alias", "confidence": 1 }
→ find_engineering_unit({ query: "bar" })
← { "symbol": "bar", "matchType": "exact", "confidence": 1 }
| Alias | Specification | Types |
|---|---|---|
padim | OPC UA for PA-DIM | 101 |
ijtBase | OPC UA for IJT Base | 65 |
machineTool | OPC UA for Machine Tools | 63 |
di | OPC UA for Devices | 44 |
glass | OPC UA for Glass Manufacturing | 36 |
machineVision | OPC UA for Machine Vision | 36 |
adi | OPC UA for Analyzer Devices | 35 |
commercialKitchenEquipment | OPC UA for Commercial Kitchen Equipment | 35 |
robotics | OPC UA for Robotics | 25 |
ia | OPC UA for Industrial Automation | 20 |
amb | OPC UA for AMB | 18 |
autoId | OPC UA for AutoID | 18 |
metalForming | OPC UA for Metal Forming | 16 |
machinery | OPC UA for Machinery | 15 |
gds | OPC UA GDS | 14 |
woodworking | OPC UA for Woodworking | 13 |
cnc | OPC UA for CNC Systems | 12 |
| …and 5 more | ||
| Total | 22 namespaces | 589 types |
1,533 official UNECE Rec. 20 symbols plus 134 natural language aliases (e.g., "celsius" → °C, "revolutions per minute" → rpm).
The server ships with a pre-generated catalog.json containing all type information extracted from OPC Foundation's official NodeSet2.xml files via node-opcua. All queries are answered from this static catalog — no network required, no API key needed.
┌─────────────────────────────────────────┐
│ node-opcua-modeler-mcp-server │
│ │
│ ┌─────────────────────────────────┐ │
│ │ catalog.json (1.7 MB) │ │
│ │ • 25 companion spec registries │ │
│ │ • 589 type summaries + details │ │
│ │ • 1,533 engineering units │ │
│ └─────────────────────────────────┘ │
│ │
│ 6 MCP tools → query the catalog │
│ stdio transport (JSON-RPC) │
└─────────────────────────────────────────┘
MIT © Sterfive
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.