accueil / serveurs / Recherche & Web / io.github.node-opcua/node-opcua-modeler-mcp-server
io.github.node-opcua/node-opcua-modeler-mcp-server
serveur MCP (Model Context Protocol) · opcua-modeler 1.6.1
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.node-opcua/node-opcua-modeler-mcp-server est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.node-opcua/node-opcua-modeler-mcp-server » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 12 outils
- find_engineering_unit≈ 161 tokens
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.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Description or common name of the unit (e.g. "revolutions per minute", "celsius", "pressure bar")
Exemple d'appel{"name": "find_engineering_unit", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_reusable_block≈ 236 tokens
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.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Member name or capability keyword (e.g. "SerialNumber", "health", "calibration")
Exemple d'appel{"name": "find_reusable_block", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_dsl_reference≈ 130 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_dsl_reference", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_type_details≈ 220 tokens
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 it: cite it.
Paramètres, retour & exemple (2)
Paramètresalias· string · requis
Companion spec alias where the type is defined (e.g. "machinery")browseName· string · requis
The type browse name (e.g. "MachineryItemIdentificationType")
Exemple d'appel{"name": "get_type_details", "arguments": {"alias": "texte", "browseName": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_namespaces≈ 110 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_namespaces", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_types≈ 155 tokens
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.
Paramètres, retour & exemple (1)
Paramètresalias· string · requis
Companion spec alias (e.g. "machinery", "di", "robotics")
Exemple d'appel{"name": "list_types", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - opcua_model_create≈ 207 tokens
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.
Paramètres, retour & exemple (2)
Paramètresprompt· string · requis
Natural language description of the OPC UA model to generateforceSpecs· array · optionnel
Companion spec aliases to force (e.g. ["di", "ia"])
Exemple d'appel{"name": "opcua_model_create", "arguments": {"prompt": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - opcua_model_generate≈ 900 tokens
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 ids on purpose. A call with none of these is refused with SYMBOLS_DECISION_REQUIRED. Returns base64-encoded artifacts if the model is valid. The result lists symbol counts (reused/new/dropped), hints and next steps.
Paramètres, retour & exemple (4)
Paramètresmode· string · optionnel · new | update | renumber
"new": first generation, no symbols yet. "update": regeneration, symbols required. "renumber": allocate new NodeIds on purpose. Omit when passing symbols.yaml· string · requis
The full YAML model source to generate fromsymbols_csv· string · optionnel
The symbols CSV of the previous generation (the content of <name>.model.symbols.csv, or the base64 symbols_csv a previous call returned). Keeps NodeIds stable.include_docs· boolean · optionnel
Set to true to include markdown documentation (slower)
Exemple d'appel{"name": "opcua_model_generate", "arguments": {"yaml": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"mode": "new", "files": [], "hints": [], "valid": true, "symbols": "texte", "artifacts": {}, "next_steps": [], "diagnostics": [], "symbols_source": "argument"}} - opcua_model_reverse≈ 226 tokens
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.
Paramètres, retour & exemple (3)
Paramètresxml· string · requis
The NodeSet2.xml content to reverse-engineernamespace_uri· string · optionnel
Target namespace URI to extract (auto-detected if omitted)self_contained· boolean · optionnel
Return one self-contained .opcua.yaml stream: the model, its NodeId symbol table and dependency declarations (default: bare YAML)
Exemple d'appel{"name": "opcua_model_reverse", "arguments": {"xml": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - opcua_model_validate≈ 160 tokens
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.
Paramètres, retour & exemple (1)
Paramètresyaml· string · requis
The full YAML model source to validate
Exemple d'appel{"name": "opcua_model_validate", "arguments": {"yaml": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resolve_dependencies≈ 172 tokens
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.
Paramètres, retour & exemple (1)
Paramètresaliases· array · requis
Companion spec aliases to resolve (e.g. ["machineTool", "robotics"])
Exemple d'appel{"name": "resolve_dependencies", "arguments": {"aliases": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - search_types≈ 153 tokens
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.
Paramètres, retour & exemple (1)
Paramètresquery· string · requis
Search keyword (e.g. "identification", "temperature", "motion")
Exemple d'appel{"name": "search_types", "arguments": {"query": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».