OPC UA NodeSet Gate

io.github.ChanghuLiuPublished by GitHub account ChanghuLiuv0.1.3Updated Oct 24, 2026

Deterministic release-compatibility preflight for OPC UA NodeSet2 XML.

VerifiedStreamable HTTPWeb executableDeveloper ToolsSecurity & Monitoring

Overview

AI-generated overview

Compares two OPC UA NodeSet2 XML revisions and returns a deterministic compatibility report before a release.

What you can do
The server audits OPC UA NodeSet2 XML documents against each other. audit_nodeset_compatibility takes a full baseline and a full candidate document in one request and returns a result such as COMPATIBLE, REVIEW_REQUIRED, BREAKING or INSUFFICIENT_INPUT. For documents too large for one request, begin_nodeset_upload and append_nodeset_chunk stage each revision in ordered chunks, and audit_uploaded_nodesets compares the two staged uploads. A status tool reports deployment stage, analysis scope, availability and payment status.
When to use it
Use it when you need a preflight check of whether a new NodeSet2 revision breaks compatibility with an older one, for example before publishing an OPC UA information model release. It suits both small documents sent in a single call and large ones staged in chunks.
Requirements
A remote streamable HTTP endpoint; no local runtime or package is needed. No authentication, environment variables or headers are declared. Large documents require several sequential calls to stage chunks before the audit.
Before you install
The status tool mentions payment status, so check whether auditing involves a paid tier before relying on it. Uploaded NodeSet XML is sent to a third-party remote service and held temporarily in memory; do not send confidential models unless that is acceptable. Upload IDs are consumed by the final audit and cannot be reused.

Installation

In SourceWeft

  1. Open OPC UA NodeSet Gate in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.ChanghuLiu%2Fopc-ua-nodeset-compatibility-gate/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "opc-ua-nodeset-gate": {
      "type": "http",
      "url": "https://nodeset.regevidencehub.com/mcp"
    }
  }
}

README

This repository has no README.

Tools

5

audit_nodeset_compatibility

Audit NodeSet compatibility

Compare two complete OPC UA NodeSet2 XML documents when both fit in a single request. Pass old_nodeset_xml as the full baseline revision and new_nodeset_xml as the full candidate revision. The deterministic report returns result (COMPATIBLE, REVIEW_REQUIRED, BREAKING, or INSUFFICIENT_INPUT), old_node_count, new_node_count, issue_count, a summary keyed by change code, and issues containing code, severity, node_id and detail. Examples include NODE_ADDED, NODE_REMOVED, DATA_TYPE_CHANGED and reference changes. For large XML documents use begin_nodeset_upload + append_nodeset_chunk for each revision, then audit_uploaded_nodesets instead.

Parametersnew_nodeset_xmlrequiredold_nodeset_xmlrequired

nodeset_compatibility_status

NodeSet compatibility status

Return bounded service metadata for OPC UA NodeSet Compatibility Gate. Use this only to discover deployment stage, deterministic static-analysis scope, production availability and payment status; do not use it to compare NodeSets. The result includes the shared MCP endpoint and explicitly lists which tool calls are free and which require x402 payment.

Takes no parameters.

begin_nodeset_upload

Begin NodeSet upload

Start one temporary in-memory upload for a large NodeSet2 XML document. Call this once for the old baseline and once for the new candidate when the complete XML documents are too large for audit_nodeset_compatibility. It returns upload_id and max_total_chars. Append that document's chunks in original order with append_nodeset_chunk. Uploads expire after 15 minutes and the service allows at most four active uploads; this tool stores only temporary process memory and does not modify an external system.

Takes no parameters.

append_nodeset_chunk

Append NodeSet upload chunk

Append the next unmodified text chunk to a temporary NodeSet2 upload created by begin_nodeset_upload. Pass upload_id exactly as returned by begin_nodeset_upload and chunk as the next consecutive XML text segment; send every chunk in original order without overlap, omission or reformatting. On success the result returns status=OK, upload_id and cumulative received_chars; UNKNOWN_UPLOAD_ID or UPLOAD_TOO_LARGE indicates the upload cannot continue. This tool only stages XML in temporary memory and does not parse or compare it yet.

Parameterschunkrequiredupload_idrequired

audit_uploaded_nodesets

Audit uploaded NodeSets

Compare two large NodeSet2 XML revisions after both have been fully staged with begin_nodeset_upload and append_nodeset_chunk. Pass old_upload_id for the baseline revision and new_upload_id for the candidate revision. This call consumes both upload IDs, so do not reuse them afterward. The report has the same shape as audit_nodeset_compatibility: result (COMPATIBLE, REVIEW_REQUIRED, BREAKING, or INSUFFICIENT_INPUT), old/new node counts, issue_count, summary by change code, and issues with code, severity, node_id and detail. Use the direct audit tool instead when both complete XML documents fit in a single request.

Parametersnew_upload_idrequiredold_upload_idrequired

Version history

2
  1. v0.1.3LatestOct 1, 2026
  2. v0.1.2Sep 29, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • License10 pts

    Declare a license in the repository or the registry entry.