Skip to main content
Glama
README.md
# ddex-ern-382-mcp

Standalone **MCP server** for DDEX ERN 3.8.2. It gives MCP-capable clients access to format knowledge, element order, AVS values, composition guides, and offline XML/package validation.

It is independent of any distributor backend, database, or delivery vendor.

## Install and connect

For an MCP client that supports stdio, configure:

```json
{
  "mcpServers": {
    "ddex-ern-382": {
      "command": "npx",
      "args": ["-y", "ddex-ern-382-mcp"]
    }
  }
}
```

The package requires Node.js 20 or newer. To run from a source checkout:

```bash
npm install
npm run build
npm start
```

For development, `npm run dev` runs the TypeScript entrypoint directly.

## MCP tools

| Tool | Purpose |
|------|---------|
| `validate_ern_xml` | Smoke checks and full offline XSD validation of XML text or a file |
| `validate_package_dir` | Check BatchComplete, relative URL, DeliveryType, and the message MD5 |
| `explain_element` | Explain an element, attribute, or DDEX package concept |
| `element_sequence` | Show documented child order for an ERN container |
| `list_sequences`, `list_elements`, `list_enums`, `list_howtos` | Discover available knowledge |
| `avs_values` | Look up values from the vendored AVS schema or curated sets |
| `howto_compose` | Step-by-step guidance for common ERN scenarios |

## MCP resources

Markdown guides are available under `ddex-ern-382://guides/`:

- `ern-382-overview`
- `rdbt-order`
- `sdbt-order`
- `batchcomplete`
- `common-pitfalls`

## Validation scope

The server validates ERN 3.8.2 structure and the vendored XSD/AVS schema. Package checks cover documented general package conventions. A schema-valid message is not a guarantee that every DSP will accept it; DSPs and aggregators may require additional profiles and business rules.

ERN 4.x, Schematron, and DDEX Workbench are outside this package's current scope.

## Development and tests

```bash
npm install
npm run typecheck
npm test
npm run build
```

## Schema licensing

The server source code is MIT licensed. The DDEX schemas under `vendor/ddex/` are copyrighted DDEX materials and are **not** covered by the MIT license. DDEX Evaluation/Implementation licensing applies to use and redistribution; see [LICENSE-NOTE.md](./LICENSE-NOTE.md) and the schema headers before redistribution.

## Links

- GitHub: https://github.com/devochkaskustikom/ddex-ern-382-mcp
- npm: https://www.npmjs.com/package/ddex-ern-382-mcp

TDQS

A3.5/5.0

Scored across 10 tools

Disambiguation4/5

Tools pair up cleanly as list_X/get_X patterns (list_sequences vs element_sequence, list_enums vs avs_values, list_elements vs explain_element), and the two validators target distinct inputs (XML string vs package directory). Minor overlap exists between list_enums and avs_values since both concern enumerated values, but descriptions clarify the boundary.

Naming Consistency4/5

Most tools follow a verb_noun convention (validate_ern_xml, list_sequences, explain_element, howto_compose). A few deviate to bare noun phrases (element_sequence, avs_values), which is mildly inconsistent but still readable and predictable within each tool family.

Tool Count5/5

Ten tools is well-scoped for a validation-plus-reference server, with each tool earning a distinct role across validation, structural reference, and composition guidance. No redundant or filler tools.

Completeness4/5

Covers validation (XML and package), schema ordering, enums, and composition howtos/element explanations, forming a coherent lifecycle for authoring and checking ERN 3.8.2. There is no tool to retrieve the raw XSD or synthesize example/valid ERN content, which would round out the surface but isn't a blocking gap.