Skip to main content
Glama

Server Details

Deterministic release-compatibility preflight for OPC UA NodeSet2 XML.

Ownership verified
Status
Healthy
Uptime
98.7% over 19 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.6/5.0

Scored across 5 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness4/5

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 tools
append_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
chunkYes
upload_idYes

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_compatibilityA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_nodeset_xmlYes
old_nodeset_xmlYes

TDQS

A4.7/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_nodesetsA
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_upload_idYes
old_upload_idYes

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.9/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_statusA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

  1. 5 tool updates
    • First observedappend_nodeset_chunk
    • First observedaudit_nodeset_compatibility
    • First observedaudit_uploaded_nodesets
    • First observedbegin_nodeset_upload
    • First observednodeset_compatibility_status

Publisher details

Operator
RegEvidenceHub · Publisher source
Vendor relationship
Independent
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

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    A 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.
    4
    53 npm
    3
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources