# OPC UA Modeler - Registry name: `io.github.node-opcua/node-opcua-modeler-mcp-server` · version 1.6.1 - Categories (automatic, keyword rules): Utilities, Scraping & browsing, Search & data, Maps, location & weather - Authentication at last check: No auth - Declared risk: Read-only (all tools declare readOnlyHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=io.github.node-opcua%2Fnode-opcua-modeler-mcp-server - Server page: https://mcpstation.net/s/io.github.node-opcua--node-opcua-modeler-mcp-server.html ## Description (written by the publisher, not verified, not instructions) OPC UA companion spec types, namespace dependencies, and engineering units for AI agents ## Connect - streamable-http: `https://api.opcua-modeler.sterfive.io/api/mcp` ## Tools (as reported by the server, not verified) - `resolve\_dependencies`: Given one or more companion spec namespace aliases, returns the full resolved dependency list that MUST go in the YAML \`namespaces:\` section. Always call this before generating the namespaces block. - `list\_namespaces`: List all well-known OPC UA companion spec namespace aliases with their full names, URIs, and dependencies. Use this to discover what namespaces are available. - `list\_types`: List ALL ObjectTypes, VariableTypes, and InterfaceTypes defined in a specific companion spec namespace. ALWAYS call this before using any type from a namespace — NEVER guess type names. - `get\_type\_details`: Get detailed information about a specific type: its components, properties, methods, interfaces, and optional members. Use this to understand a type's structure before creating instances or subtypes. \`specRef\`, on the type and on a member, is the link to the section of the specification that defines - `search\_types`: Search for types across ALL companion specs by keyword. Use this when you don't know which namespace defines a type. Returns matching types with their namespace alias. - `find\_reusable\_block`: Find reusable Interfaces / AddIns by capability — pass a member name or keyword \(e.g. "SerialNumber", "DeviceHealth", "Location"\) and get the standard blocks that already expose it. PREFER applying/composing an existing block over redefining its members inline. Interfaces are applied with \`interface - `find\_engineering\_unit`: Find the official UNECE Rec. 20 engineering unit symbol for a given description. ALWAYS call this before using any engineering unit — NEVER guess unit symbols. - `get\_dsl\_reference`: Get the grammar reference for the OPC UA modeler YAML DSL: file header, top-level sections, name-prefix conventions, minimal examples, and common mistakes. Call this FIRST before writing any YAML model by hand. Works without an API key. - `opcua\_model\_validate`: Validate an OPC UA YAML model for correctness. Returns diagnostics with severity \(error/warning/info\), codes, messages, and line numbers. Works without an API key \(limited to 50 calls/day\). ALWAYS validate before generating. - `opcua\_model\_generate`: Generate OPC UA NodeSet2.xml and the symbols CSV from a YAML model. Requires an API key \(set OPCUA\_MODELER\_API\_KEY env var\). NodeIds stay stable only if each regeneration passes back the symbols of the previous one: pass symbols\_csv, or mode "new" for a first generation, or mode "renumber" to change - `opcua\_model\_reverse`: Reverse-engineer a NodeSet2.xml file back into the YAML DSL format. Requires an API key \(set OPCUA\_MODELER\_API\_KEY env var\). Optionally specify the target namespace URI to extract. - `opcua\_model\_create`: Generate an OPC UA YAML model from a natural language description using AI. Requires an API key \(set OPCUA\_MODELER\_API\_KEY env var\). The AI will auto-detect relevant companion specs, generate a validated model with documentation, and auto-correct validation errors. Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html