Skip to main content
Glama

@shuji-bonji/s1000d-verify-mcp

English | 日本語

An MCP server that lets an LLM know, with evidence, how far an S1000D® data module has been checked. It performs three steps — validation against the XML schema (XSD), a check against BREX (Business Rules Exchange), and resolution of references (dmRef, pmRef, ICN, internalRef and applicRefId) — and returns the results combined into a single verification status (verification). This verification status has the same shape as the one s1000d-reader-mcp embeds in its content responses.

IMPORTANT

This is a personal project and is not affiliated with ASD (Aerospace, Security and Defence Industries Association of Europe). S1000D® is a registered trademark of ASD. The S1000D specification, XML schemas, default BREX and official samples are not included in any package or repository, because their terms of use do not grant redistribution. To run XSD validation and checks against the default BREX, obtain them froms1000d.org yourself and point the S1000D_SPEC_DIR environment variable at the extracted folder.

What it does

Tool

Description

verify_data_module

Validates one data module in the order well-formedness → XSD → BREX chain → references, and returns verification (the verification status) together with the details of each step (line numbers of XSD violations, locations of BREX violations, unresolved references and their reasons)

validate_schema

Runs XSD validation only. The XSD to use is chosen from the file name in xsi:noNamespaceSchemaLocation and looked up under xml_schema_flat/ below S1000D_SPEC_DIR. The issue is read from the Issue number: line at the top of brex.xsd

check_references

Collects references of 5 kinds (dmRef / pmRef / ICN / internalRef / applicRefId) and returns whether each target exists, with a reason. A dmRef to a chapter of the specification (model identification code S1000D) is not a broken reference, so it is reported separately

verify_csdb

Validates the CSDB objects in a folder (DMC and PMC by default) in one run, and returns the verification status of each object and a count summary. Read the results in parts with offset / limit, and write the details to JSON with reportPath

suggest_fixes

Runs the same verification as verify_data_module and returns fix candidates for each finding. The server decides the candidates and adds their origin (BREX rule ID, XSD definition, CSDB, ids in the document, ACT/CCT/PCT) and their certainty (exact / several / none). If product is given, applicability that cannot be decided because the product lacks a value also gets candidate values. It does not apply fixes

reconcile_dml

Reconciles a data module list (DML) or a data dispatch note (DDN) with the CSDB. For each DML entry (dmRef / pmRef / infoEntityRef / dmlRef) and each DDN delivery item (dispatchFileName) it returns found / issue-mismatch (the object exists but not the listed issue; the latest issue in the CSDB is given) / not-found / not-checked (commentRef), plus the DMs and PMs that are in the CSDB but not listed in the DML (notListed). Omit both path and xml to reconcile every DML and DDN in the CSDB. dmlType / dmlEntryType / issueType are not interpreted

list_schemas

Returns the list of xml_schema_flat/ folders found under S1000D_SPEC_DIR (issue, number of XSDs, schema names). Use it to investigate the cause of schema-not-found

Verification status (verification)

Field

Value

Meaning

schema.state

valid / invalid / schema-not-found / not-run

XSD found and validated with 0 violations / violations found / XSD not found (reason in reason) / skipped with skip

brex.state

passed / violations / incomplete / not-run

0 violations in every layer / violations found / an unresolved BREX or a rule that cannot be evaluated / skipped

references.state

resolved / unresolved / not-run

0 unresolved / unresolved references found / skipped

schema-not-found is not valid. It means that XSD validation did not run.

Related MCP server: S1000D MCP Server

What it does not do

WARNING
  • It does not decide conformance to S1000D. schema: valid and brex: passed mean only that no errors were found against the XSD and the BREX rules that a machine can check. nonContextRules (agreements written as prose) are returned as manualChecks, and a person makes the judgement. A project's business rules document is outside the scope of every tool.

  • It does not return explanations of BREX rules or the meaning of values. That is the job of explain_brex / lookup_value in s1000d-brex-mcp. Severity level codes (brsl01 to brsl99) are returned as they are.

  • It does not evaluate applicability (which product the content applies to). check_references only looks at whether the target of applicRefId exists. The evaluation is done by s1000d-reader-mcp. The exception is suggest_fixes with product, which reports only applicability that cannot be decided because the product lacks a value.

  • It does not apply fixes to the document. suggest_fixes only returns candidates. Have the LLM choose among the candidates, and ask the user when confidence is none (the instructions say the same).

  • It does not interpret DML values (dmlType / dmlEntryType / issueType). reconcile_dml compares identifiers and issues only; it does not verify the content of the listed objects (use verify_csdb for that).

NOTE

In a document that violates the XSD, elements may be in positions that differ from the specification, so BREX violations can be reported falsely or hidden. Whenschema.state is invalid, read the BREX results as a rough indication only (the response also says so in _notes).

Configuration

Environment variable

Description

S1000D_SPEC_DIR

The folder where you extracted the S1000D distribution you obtained. The XSDs (xml_schema_flat/; extract the inner "XML Schema Package" zip beforehand) and the default BREX (DMC-S1000D-*-04-10-0301-00A-022A-D_*.XML) are looked up below this folder. The copies of the XSDs inside the data dictionary are not used (their imports are absolute URLs and cannot be resolved offline)

S1000D_CSDB_DIR

The folder that holds the project's data modules. Several folders can be given, separated by : (; on Windows). The referenced DM, PM and ICN files and the BREX in the middle of the chain are looked up here

Folders can also be added with the tool argument csdbDirs.

Config file (when environment variables are not passed, as with plugins in Claude Desktop)

If S1000D_SPEC_DIR / S1000D_CSDB_DIR are not set, the server reads the config file ~/.config/s1000d-stack/config.json (under XDG_CONFIG_HOME if it is set; S1000D_CONFIG changes the location). Claude Desktop does not pass environment variables to servers installed as plugins, and does not substitute ${VAR} written in the plugin's env. When you install the server as a plugin, write the folders here.

{
  "specDir": "/path/to/s1000d/issue-7",
  "csdbDirs": ["/path/to/your/csdb"]
}

Environment variables take precedence when they are set. Paths that start with ~/ are accepted. The config file is read again on every call, so the server does not need to be restarted after you edit it.

Configuration example for Claude Desktop / Claude Code

{
  "mcpServers": {
    "s1000d-verify": {
      "command": "npx",
      "args": ["-y", "@shuji-bonji/s1000d-verify-mcp"],
      "env": {
        "S1000D_SPEC_DIR": "/path/to/s1000d/issue-7",
        "S1000D_CSDB_DIR": "/path/to/your/csdb"
      }
    }
  }
}

Running over HTTP (embedding in a product)

The default is stdio. With --http the server starts over Streamable HTTP, so a CSDB product's server or a web application can call it over HTTP (the embedding foundation of stage 2.5).

npx -y @shuji-bonji/s1000d-verify-mcp --http                      # http://127.0.0.1:3000/mcp
npx -y @shuji-bonji/s1000d-verify-mcp --http --port 3102 --path /verify

Argument

Default

Meaning

--host

127.0.0.1

Address to bind to

--port

3000

Port; 0 picks a free port

--path

/mcp

Path of the MCP endpoint. GET /healthz returns the name and version

--allowed-host

(see below)

Host names allowed in the Host header; comma-separated or repeated

--allowed-origin

(see below)

Host names allowed in the Origin header

When --host is a loopback address (127.0.0.1 / ::1 / localhost), Host and Origin are limited to localhost names (DNS rebinding protection). When bound to any other address they are not checked, so put the server behind the product's reverse proxy or authentication. Authentication, authorization and multi-tenancy are not part of this server. Environment variables and the config file work the same as with stdio.

How it works

All validation logic lives in the shared library @shuji-bonji/s1000d-core; this server holds only the interpretation of arguments and the shape of the responses. XSD validation uses libxml2-wasm (the WebAssembly build of libxml2), and each XSD is compiled once and reused, so the 106 official samples of Issue 7 are validated in under 0.5 seconds. The BREX check calls the same functions as s1000d-brex-mcp, so the results of the two servers match.

Development

npm install
npm test            # runs with self-made test data only
npm run test:spec   # uses the distribution you obtained (set the location with S1000D_SPEC_DIR; default ../../specs/s1000d/issue-7)
npm run build && S1000D_SPEC_DIR=/path/to/issue-7 npm start   # starts over stdio

License

MIT. S1000D® is a registered trademark of ASD. This software is not affiliated with ASD and does not include the specification, schemas or official samples.

Available Tools

5 tools
check_referencesA

List the references of one document and whether each target exists: dmRef (all contexts: brexDmRef, applicCrossRefTableRef, pmEntry, body), pmRef, ICN (graphic/@infoEntityIdent via the DOCTYPE ENTITY declaration to a file), internalRef (ids in the same document) and applicRefId (applic ids or referencedApplicGroupRef/applicRef). Unresolved references carry a reason (not-found, no-entity-declaration, file-not-found, no-such-id, no-csdb). dmRef to modelIdentCode "S1000D" point to the specification itself and are listed separately.

NameRequiredDescriptionDefault
xmlNoThe document as an XML string (alternative to path; max 5 MB).
pathNoFile path of the data module (or PM) to check.
kindsNoReference kinds to report (default: all).
csdbDirsNoExtra CSDB folders to search for referenced data modules, publication modules, ICN files and BREX (in addition to S1000D_CSDB_DIR; BREX also under S1000D_SPEC_DIR).
maxItemsNoCap on listed references (default 200).
includeResolvedNoAlso list resolved references with the file they resolve to (default false; counts are always returned).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does well: it discloses the resolution mechanisms (DOCTYPE ENTITY declaration for ICN, ids in the same document for internalRef), the enumerated failure reasons returned for unresolved references, and the special case that dmRefs to modelIdentCode S1000D point at the spec and are listed separately. It omits error behavior and cost/performance for large documents.

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?

The core purpose is front-loaded in the first clause, and the remaining clauses earn their space by enumerating kinds and failure reasons. It is dense to the point of being a run-on sentence with heavy parenthetical nesting, which costs readability but not correctness.

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?

For a 6-parameter, no-output-schema tool, the description covers what is checked, how each kind resolves, and what unresolved entries report (reason codes), which is the essential return information. It does not describe the overall result shape or the identity/count fields, leaving some return structure to be discovered at runtime.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented in the schema and baseline 3 applies. The description adds domain meaning by spelling out the reference kinds that the `kinds` enum selects and the ENTITY-declaration lookup path, but says nothing extra about csdbDirs, maxItems, or includeResolved.

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: list the references of one document plus whether each target exists. It then enumerates exactly which reference kinds are covered (dmRef, pmRef, ICN, internalRef, applicRefId), so an agent can tell this is a reference-resolution tool rather than a schema validator like validate_schema or verify_csdb.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the phrasing — one document, references, resolution status — but there is no explicit when-to-use/when-not framing and no mention of alternatives such as verify_data_module for structural checks or verify_csdb for CSDB-wide integrity. An agent must infer the boundary from sibling names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_schemasA

Show which S1000D XML schema folders (xml_schema_flat/ containing brex.xsd) were found under S1000D_SPEC_DIR, with the issue read from brex.xsd and the schema names available. Use it to diagnose schema-not-found results.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that the tool reads under S1000D_SPEC_DIR, inspects brex.xsd for the issue, and reports available schema names, but it does not explicitly state that the operation is read-only, how failures are reported, or what the output structure looks like.

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?

Two sentences, front-loaded with the purpose and followed by the diagnostic use case. The parenthetical detail about xml_schema_flat/ and brex.xsd is dense but earns its place by specifying exactly what is inspected.

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?

For a zero-parameter diagnostic listing tool with no output schema, the description is largely complete: it explains what is listed (schema folders), what is read from brex.xsd (the issue), what names are available, and when to use it. A minor gap remains around output format or empty-result behavior.

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 has zero parameters, so the baseline is 4. The description does not need to explain parameters because none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb+resource ('Show which S1000D XML schema folders ... were found under S1000D_SPEC_DIR') and adds concrete diagnostic details about brex.xsd and schema names. It does not explicitly distinguish itself from sibling tools like validate_schema or verify_csdb, so it falls short of a 5.

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?

It gives clear usage context: 'Use it to diagnose schema-not-found results.' That tells the agent when this tool is appropriate, but it does not name alternatives or say when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_schemaA

Validate one document against the S1000D XML schema (XSD) named by its xsi:noNamespaceSchemaLocation. The XSD is taken from the xml_schema_flat/ folder found under S1000D_SPEC_DIR (the issue is read from brex.xsd there). Errors are libxml2 messages with line/column. Returns schema-not-found with a reason when no suitable XSD is available.

NameRequiredDescriptionDefault
xmlNoThe document as an XML string (alternative to path; max 5 MB).
pathNoFile path of the data module (or PM) to check.
issueNoS1000D issue of the XSD to use when several xml_schema_flat/ folders exist (e.g. "7", "4.2"). Default: inferred from the schemaLocation URL.
maxErrorsNoCap on errors returned (default 100).

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses meaningful behavior: XSD resolution from xsi:noNamespaceSchemaLocation, lookup under xml_schema_flat/ beneath S1000D_SPEC_DIR, issue detection from brex.xsd, libxml2 error format with line/column, and a schema-not-found return case. It does not describe success return shape or any limitations beyond schema availability.

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?

Three front-loaded sentences with no filler; the key purpose and schema-resolution rule come first, followed by error format and an edge case. Minor density in the second sentence but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a validation tool with no output schema, the description explains error message format and the schema-not-found case, but does not describe what a successful validation returns (e.g., valid/invalid flag, count of errors, or full result shape). That is an important omission for an agent invoking the tool without an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all four parameters. The description adds only marginal context beyond the schema (e.g., how the issue interacts with schemaLocation inference), but does not meaningfully elaborate on xml vs. path or maxErrors beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb (validate), resource (one document), and scope (against the S1000D XML schema identified by xsi:noNamespaceSchemaLocation). It does not explicitly name or contrast with sibling tools like verify_data_module or list_schemas, so it falls short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (XSD-based validation of a document), but provides no explicit when-to-use vs. alternatives guidance, no exclusions, and does not mention the sibling verify_data_module or other checkers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_csdbA

Verify every CSDB object (data modules by default; optionally publication modules etc.) found in the given folders, and return one VerificationStatus per object plus totals (valid / XSD errors / BREX violations / unresolved references / unreadable). Use offset/limit to page. Pass reportPath to also write the full JSON report to a file.

NameRequiredDescriptionDefault
skipNoSteps to skip. Skipped steps are reported with state "not-run".
limitNoObjects per call (default 100, max 1000).
offsetNoIndex of the first object (default 0).
includeNoObject kinds to verify (default: dm and pm).
csdbDirsNoFolders to verify (default: S1000D_CSDB_DIR). Referenced objects are also searched here.
reportPathNoIf given, the full report (all details) is written to this JSON file; the response keeps only the statuses.

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does reasonably well: it discloses the three verification steps being run (schema, BREX, references), that CSS-skipped steps report as "not-run" (per schema), the pagination model, and the file-writing side effect of reportPath with the reduced response. It does not state read-only safety explicitly or cost/latency expectations for large folders.

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?

Three dense sentences with the what/scope front-loaded, then paging, then the reporting side effect — no filler. The "etc." after publication modules is the one piece of avoidable vagueness.

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?

No output schema exists, yet the description tells the agent what comes back (one status per object plus valid / XSD error / BREX violation / unresolved reference / unreadable totals), which is what an agent needs to decide whether to page or write a full report. Missing only the default-folder provenance note (S1000D_CSDB_DIR) and any guidance on result size.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds meaning for offset/limit and reportPath (response keeps only statuses), but its phrase "data modules by default; optionally publication modules etc." slightly conflicts with the schema's stated default of include=[dm, pm], which is a small source of ambiguity rather than added clarity.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (verify) and a specific resource scope (every CSDB object found in the given folders), and names the output shape (one VerificationStatus per object plus category totals). It implicitly distinguishes itself from verify_data_module / check_references by verifying a whole folder of objects, but never names those siblings to make the routing explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives concrete operational guidance (use offset/limit to page, pass reportPath to persist the full report), which is useful. But it never says when to use this versus validate_schema, verify_data_module, or check_references — an agent must infer the batch-vs-single and whole-object-vs-single-check distinction on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_data_moduleA

Verify one S1000D data module: well-formedness, XML schema (XSD) validation against the user's own S1000D schemas (S1000D_SPEC_DIR), BREX checks along the brexDmRef chain, and reference resolution (dmRef, pmRef, ICN entities, internalRef, applicRefId). Returns a "verification" status (the same VerificationStatus that s1000d-reader-mcp embeds) plus the details of each step. Does NOT decide S1000D conformance.

NameRequiredDescriptionDefault
xmlNoThe document as an XML string (alternative to path; max 5 MB).
pathNoFile path of the data module (or PM) to check.
skipNoSteps to skip. Skipped steps are reported with state "not-run".
csdbDirsNoExtra CSDB folders to search for referenced data modules, publication modules, ICN files and BREX (in addition to S1000D_CSDB_DIR; BREX also under S1000D_SPEC_DIR).
maxSchemaErrorsNoCap on XSD errors returned (default 100). The total count is always reported.
maxUnresolvedRefsNoCap on unresolved references returned (default 200).
maxViolationsPerLayerNoCap on BREX violations returned per layer (default 200).

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the load and does well: it discloses that XSD validation uses the user's own schemas via S1000D_SPEC_DIR, that BREX runs along the brexDmRef chain, that skipped steps report state 'not-run', and that the tool does not judge conformance. It stops short of stating that all operations are read-only or how failures are surfaced across steps.

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?

Three dense sentences, front-loaded with the object and the check list, closing with the scope exclusion. Nothing is redundant with the schema and every clause earns its place.

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?

For a 7-parameter, no-output-schema tool the description still says what comes back: a VerificationStatus plus per-step details, and that skipped steps appear as 'not-run'. The main gap is that the possible status values and the shape of per-step details are left unspecified, which matters given there is no output schema.

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 100%, so baseline is 3; the description still adds value by explaining that BREX and referenced modules are resolved from S1000D_CSDB_DIR and S1000D_SPEC_DIR, and by clarifying the BREX-along-brexDmRef-chain behavior that motivates csdbDirs. It adds chain semantics rather than repeating per-parameter text.

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 (verify one S1000D data module) and enumerates the four checks performed: well-formedness, XSD against the user's own schemas, BREX along brexDmRef, and reference resolution. The final clause ('Does NOT decide S1000D conformance') fences the scope off from siblings like verify_csdb, so an agent can place it without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'one data module' framing implies single-artifact use versus the CSDB-wide verify_csdb, but no sibling is named and there is no explicit statement of when to call validate_schema or check_references instead of this composite. Usage is inferable from overlapping sibling names rather than stated.

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 updatesv0.6.0
    • First observedcheck_references
    • First observedlist_schemas
    • First observedvalidate_schema
    • First observedverify_csdb
    • First observedverify_data_module

TDQS

A3.9/5.0

Scored across 5 tools

Disambiguation4/5

The tools mostly have distinct roles: schema listing, single-document schema validation, full data-module verification, bulk CSDB verification, and reference checking. However, reference resolution is both a step inside verify_data_module and the explicit purpose of check_references, and verify_csdb overlaps in aggregate with verify_data_module, so boundaries are clear but not perfect.

Naming Consistency5/5

All tool names use a consistent snake_case verb_noun pattern: validate_schema, verify_csdb, list_schemas, verify_data_module, and check_references. The verbs are varied but predictable and each name clearly identifies its object.

Tool Count5/5

Five tools is well-scoped for a focused S1000D verification server. Each tool earns its place by covering schema discovery, validation, single-object verification, bulk verification, and reference diagnostics.

Completeness4/5

The surface covers the core verification lifecycle: schema discovery, XSD validation, single and bulk S1000D verification including BREX and references, plus reference diagnosis. Minor gaps include no standalone BREX-only or publication-module-specific verification tool, though verify_csdb and verify_data_module cover much of that indirectly.

Maintenance

ActivityMaintained
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Checks documents against international standards (e.g., ICAO, Hague-Visby) to verify internal consistency and completeness, returning a machine-readable verdict for agent decision-making.
    2
    43 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Provides LLM agents with a toolset for reviewing S1000D technical publications, including XML schema validation, cross-reference and applicability checks, skeleton generation, and AI-suggested fixes.
    1
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables language models to query, inspect, check, and validate XML documents through XPath 1.0 expressions and XSD schemas without loading the full document into a context window. Documents stay on disk while models retrieve exact counts, values, and structural summaries via tool calls.
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables validating IFC models against IDS requirements with coverage reporting, auditing LOD by project stage, and extracting quantity take-offs, including combined audit summaries and full BIM health checks. It exposes these capabilities as MCP tools for Claude Desktop, producing Excel, HTML, and BCF reports.
    5
    MIT