OPC UA Modeler
NPM · NODE-OPCUA-MODELER-MCP-SERVER · SCANNED AUG 3
OPC UA companion spec types, namespace dependencies, and engineering units for AI agents
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.Partial
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency97
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Cryptographically verified build provenance (signed, bound to node-opcua/node-opcua-modeler-mcp-server). View diagnostics → Pass
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 2 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability77
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 952 tokens (~79/item across 12 items; 12 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management23
- Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · node-opcua-modeler-mcp-server
claude mcp add node-opcua-node-opcua-modeler-mcp-server -- npx -y node-opcua-modeler-mcp-server
codex mcp add node-opcua-node-opcua-modeler-mcp-server -- npx -y node-opcua-modeler-mcp-server
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"node-opcua-node-opcua-modeler-mcp-server": {
"type": "local",
"command": [
"npx",
"-y",
"node-opcua-modeler-mcp-server"
],
"enabled": true
}
}
} openclaw mcp add node-opcua-node-opcua-modeler-mcp-server --command npx --arg -y --arg node-opcua-modeler-mcp-server
mcp_servers:
node-opcua-node-opcua-modeler-mcp-server:
command: "npx"
args: ["-y", "node-opcua-modeler-mcp-server"] {
"mcpServers": {
"node-opcua-node-opcua-modeler-mcp-server": {
"command": "npx",
"args": [
"-y",
"node-opcua-modeler-mcp-server"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 2 Aug 26 +40
- Provenance: pass → unverified ▼ security
- Install scripts: pass → unverified ▼ security
- Known CVEs: unverified → partial ▲ security
- Malware scan: unverified → pass ▲ security
- The attested source repository moved: node-opcua/node-opcua-modeler-mcp-server security
- License: pass → unverified ▼ functional
- Maintenance: pass → unverified ▼ functional
- MCP protocol: unverified → pass ▲ functional
- Stability: unverified → 0.20 ▲ functional
- Dependency health: unverified → partial ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Licence: MIT functional
- 1 Aug 26 +5
- Known CVEs: partial → unverified ▼ security
- Dependency health: partial → unverified ▼ functional
- Tool coverage: unverified → 100 ▲ functional
- Package version: 1.3.0 → 1.4.2 functional
- 31 Jul 26 −12
- Malware scan: pass → unverified ▼ security
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 46
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance verified
Ecosystem: npm · Outcome: verified
Reason: verified
- Source repo:
- node-opcua/node-opcua-modeler-mcp-server
- Certificate issuer:
- https://token.actions.githubusercontent.com
- Certificate SAN:
- https://github.com/node-opcua/node-opcua-modeler-mcp-server/.github/workflows/publish.yml@refs/tags/v1.4.2
- Rekor log index:
- 2307025436
- Predicate type:
- https://slsa.dev/provenance/v1
- Subject digest:
- sha512:b97f5ac6b65c82a39b7e0fab826d86fdbbf28eec7e16c5eaf4aab84e8a3b4eef8a5027bcda99706ee563dc5392c4ea32931cd13693aee2a0542472706
- Discovery method:
- attestation_endpoint
Dependencies 95 packages
95 packages in the resolved dependency tree · 95 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
find_engineering_unit ~73
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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Description or common name of the unit (e.g. "revolutions per minute", "celsius", "pressure bar") |
No output schema declared.
No examples provided.
find_reusable_block ~137
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 `interfaces:`; addins (types with a DefaultInstanceBrowseName) are composed with `addIns:`. A single property → use the Interface; a whole named sub-object → use the AddIn.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Member name or capability keyword (e.g. "SerialNumber", "health", "calibration") |
No output schema declared.
No examples provided.
get_dsl_reference ~58
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_type_details ~89
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.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | Companion spec alias where the type is defined (e.g. "machinery") |
| browseName | string | yes | The type browse name (e.g. "MachineryItemIdentificationType") |
No output schema declared.
No examples provided.
list_namespaces ~39
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.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_types ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | Companion spec alias (e.g. "machinery", "di", "robotics") |
No output schema declared.
No examples provided.
opcua_model_create ~102
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.
| Name | Type | Req | Description |
|---|---|---|---|
| forceSpecs | array | — | Companion spec aliases to force (e.g. ["di", "ia"]) |
| prompt | string | yes | Natural language description of the OPC UA model to generate |
No output schema declared.
No examples provided.
opcua_model_generate ~104
Generate OPC UA NodeSet2.xml and Symbols.CSV from a YAML model. Requires an API key (set OPCUA_MODELER_API_KEY env var). Returns base64-encoded artifacts if the model is valid, or diagnostics if validation fails. Optionally set include_docs=true to also generate markdown documentation.
| Name | Type | Req | Description |
|---|---|---|---|
| include_docs | boolean | — | Set to true to include markdown documentation (slower) |
| yaml | string | yes | The full YAML model source to generate from |
No output schema declared.
No examples provided.
opcua_model_reverse ~87
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.
| Name | Type | Req | Description |
|---|---|---|---|
| namespace_uri | string | — | Target namespace URI to extract (auto-detected if omitted) |
| xml | string | yes | The NodeSet2.xml content to reverse-engineer |
No output schema declared.
No examples provided.
opcua_model_validate ~69
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.
| Name | Type | Req | Description |
|---|---|---|---|
| yaml | string | yes | The full YAML model source to validate |
No output schema declared.
No examples provided.
resolve_dependencies ~67
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.
| Name | Type | Req | Description |
|---|---|---|---|
| aliases | array | yes | Companion spec aliases to resolve (e.g. ["machineTool", "robotics"]) |
No output schema declared.
No examples provided.
search_types ~60
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.
| Name | Type | Req | Description |
|---|---|---|---|
| query | string | yes | Search keyword (e.g. "identification", "temperature", "motion") |
No output schema declared.
No examples provided.