OPC UA NodeSet Gate
Server Details
Deterministic release-compatibility preflight for OPC UA NodeSet2 XML.
- Status
- Healthy
- Uptime
- 98.7% over 19 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: begin/append stage uploads, audit_nodeset_compatibility handles small inline documents, audit_uploaded_nodesets handles staged large documents, and nodeset_compatibility_status is explicitly metadata-only. Descriptions even state when to use one audit tool versus the other, so an agent can select correctly without guessing.
All names use consistent snake_case and share the nodeset/upload domain vocabulary. The only minor deviation is nodeset_compatibility_status, which is noun-based rather than following the verb_noun pattern of the other four tools.
Five tools are well-scoped for a focused compatibility-gate service: staging (begin, append), two audit paths by input size, and one status/configuration tool. No tool feels redundant, and the set is not bloated.
The surface covers the main lifecycle: stage large XML, audit small XML directly, audit large staged revisions, and inspect service metadata. Minor gaps include no explicit upload cancellation/cleanup or upload-status inspection, though these are not central to the comparison task.
Available Tools
5 toolsappend_nodeset_chunkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chunk | Yes | ||
| upload_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses that the tool only stages XML in temporary memory and does not parse or compare yet, documents the success payload (status=OK, upload_id, cumulative received_chars), and names the two fatal error states. This adds real behavioral context that the hints alone (readOnlyHint=false, idempotentHint=false) do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action, then constraints, then return/error semantics, then scope caveat. Four dense sentences all carry information, though the ordering/no-overlap sentence is slightly packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description compensates by describing return fields and error outcomes, plus the prerequisite (begin_nodeset_upload), the ordering contract, and the staging-only limitation. An agent has everything needed to invoke and interpret it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description carries the full burden and largely succeeds: upload_id must be exactly as returned by begin_nodeset_upload, and chunk is the next consecutive XML text segment with ordering/no-overlap constraints. It does not specify chunk size limits or encoding, leaving a small gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (append the next unmodified text chunk to a temporary NodeSet2 upload) and ties the tool to its creator sibling, begin_nodeset_upload. An agent can place it correctly in the upload workflow without opening the sibling schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit sequencing rules (send every chunk in original order, no overlap/omission/reformatting) and explains which error codes mean the upload cannot continue. It does not explicitly name when to stop using this tool in favor of audit_uploaded_nodesets, but the workflow context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_nodeset_compatibilityARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| new_nodeset_xml | Yes | ||
| old_nodeset_xml | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive and closed-world behavior, so the safety profile needs no restating. The description adds genuinely useful behavioral context beyond them: the report is deterministic, and the INSUFFICIENT_INPUT result code signals a failure mode. It stops short of describing malformed-XML error behavior, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and the two-parameter contract come first, followed by return shape, then the large-document escape hatch. The return-value enumeration is dense but warranted because no output schema exists; no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only two-parameter comparison with no output schema, the description supplies everything needed: input meaning, result code vocabulary, the issue record fields, example change codes, and an explicit alternative for oversized inputs. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description carries the burden, and it does define both parameters semantically: old_nodeset_xml is the full baseline revision and new_nodeset_xml the full candidate revision. It also implies each must be an entire document rather than a fragment. It doesn't note encoding/size constraints, keeping it at 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb (compare) and resource (two complete OPC UA NodeSet2 XML documents) and scopes it to the single-request case. It clearly separates this tool from the sibling audit_uploaded_nodesets, which handles the chunked-upload path, so an agent can pick correctly without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit guidance on when to use this tool ('when both fit in a single request') and a named alternative workflow for when not to ('For large XML documents use begin_nodeset_upload + append_nodeset_chunk ... then audit_uploaded_nodesets'). That is a complete routing decision, including the sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
audit_uploaded_nodesetsADestructiveInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| new_upload_id | Yes | ||
| old_upload_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, readOnlyHint=false and non-idempotent; the description corroborates this by stating the call consumes both upload IDs and warns against reuse — precisely the destructive/write behavior an agent must anticipate — and further discloses the report shape since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the comparison purpose, then prerequisites, then the consumption warning, then the return shape, then the alternative. Every sentence carries distinct operational information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description supplies the result enum values, counts, issue structure and summary fields, and it covers prerequisites, ID consumption, and the sibling fallback. Nothing an agent needs to select or invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the schema offers only bare titles. The description compensates by defining old_upload_id as the baseline revision and new_upload_id as the candidate revision, which is the essential semantic distinction, though it adds no format/source detail about the IDs themselves.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Compare two large NodeSet2 XML revisions') plus the scope constraint ('large', post-staging), which cleanly separates it from the sibling audit_nodeset_compatibility that handles small in-request documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the prerequisite workflow (begin_nodeset_upload + append_nodeset_chunk), says which ID goes where, and gives an explicit alternative condition: 'Use the direct audit tool instead when both complete XML documents fit in a single request.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
begin_nodeset_uploadAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare generic hints, but the description adds operational constraints the agent cannot get anywhere else: 15-minute upload expiry, a maximum of four concurrent uploads, in-memory-only storage, and no external system modification. It also discloses the return payload (upload_id, max_total_chars) that subsequent calls depend on.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the trigger condition are front-loaded, followed by the workflow, then return values, then limits and side-effect profile. Four sentences, each carrying distinct actionable information with no repetition of the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description explains what is returned and why it matters, and covers lifecycle (expiry), throughput limits (four active uploads), and statefulness. An agent has everything needed to initiate the upload flow correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a parameterless tool is 4. The description usefully documents the values this call produces (upload_id, max_total_chars) even though it does not need to explain any inputs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Start one temporary in-memory upload for a large NodeSet2 XML document') and names the exact condition that creates the need (documents too large for audit_nodeset_compatibility). An agent can distinguish this from append_nodeset_chunk and the audit tools without reading any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use ('when the complete XML documents are too large for audit_nodeset_compatibility'), the calling pattern ('once for the old baseline and once for the new candidate'), and hands off to the named next step, append_nodeset_chunk. No alternative selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
nodeset_compatibility_statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover read-only, idempotent, non-destructive, closed-world. The description adds meaningful behavior beyond them: the return includes the shared MCP endpoint and explicitly enumerates which tool calls are free versus which require x402 payment. That payment-gating detail is not derivable from annotations and is operationally important.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, then the negative scope and the returned payload. Zero filler, every clause carries routing or behavioral information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully summarizes what comes back (endpoint, free vs paid calls). It could still state format or pagination/versioning, but for a zero-param status tool the level of detail is nearly sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description correctly makes no claims about inputs and instead describes the response payload, which is the relevant information for a param-less discovery tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Return) and resource (bounded service metadata for OPC UA NodeSet Compatibility Gate), and explicitly differentiates from the sibling comparison tool by saying 'do not use it to compare NodeSets'. An agent can select this tool without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly scopes the usable cases (discover deployment stage, static-analysis scope, production availability, payment status) and names what it is NOT for (comparing NodeSets). This is a clear when-to-use / when-not-to-use statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
append_nodeset_chunk - First observed
audit_nodeset_compatibility - First observed
audit_uploaded_nodesets - First observed
begin_nodeset_upload - First observed
nodeset_compatibility_status
Publisher details
- Operator
- RegEvidenceHub · Publisher source
- Operator website
- https://www.regevidencehub.com · Publisher source
- Vendor relationship
- Independent
- Documentation
- https://nodeset.regevidencehub.com · Publisher source
- Trust center
- Not available
- Restrictions
- None. No paid plan, admin approval, regional restriction, or custom OAuth setup is required to use the public MCP endpoint. · Publisher source
Related MCP Connectors
Deterministic MCP, JSON Schema, and SemVer preflight via Agothe's public MUV scope.
Deterministic JSON Schema validation with exact violations and conservative type normalization.
Independent static checks for supported tag and alarm CSV import formats; no HMI or PLC access.
Independent static verification for exact immutable public GitHub commits.
Related MCP Servers
- FlicenseAqualityCmaintenanceA deterministic, network-free MCP server for validating repository release hygiene and version alignment in local projects. It enables automated repository health checks and generates standardized release checklists based on project state.1-
- AlicenseAqualityAmaintenanceReplay-verified minimal JSON reproductions and deterministic TypeScript/OpenAPI drift checks. Local-first CLI and MCP server.256 npm1Mozilla Public 2.0
- AlicenseAqualityAmaintenanceA local stdio proxy that pins every MCP tool definition when you approve a server and blocks the session with a diff if a description, schema or annotation changes later. A deterministic hash compare (RFC 8785 + SHA-256), with no model in the loop.453 npm3MIT
- AlicenseAqualityCmaintenanceFault injection and reliability scoring for MCP servers. Scans tool output schemas, injects corrupted payloads, and measures contract enforceability. Model-free, deterministic, no LLM required.1419 PyPI1Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.