@mcpdesc/validator 0.7.0 → 0.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -1
- package/README.md +40 -16
- package/package.json +3 -1
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
|
6
6
|
and this package follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
Dates for published releases are the UTC publication dates recorded by npm.
|
|
8
8
|
|
|
9
|
+
## [Unreleased]
|
|
10
|
+
|
|
11
|
+
## [0.7.1] - 2026-09-02
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Added an explicit package-specific homepage and expanded the README with the
|
|
16
|
+
validator's purpose, boundaries, result model, installation, and newest-first
|
|
17
|
+
snapshot support.
|
|
18
|
+
|
|
9
19
|
## [0.7.0] - 2026-09-02
|
|
10
20
|
|
|
11
21
|
### Changed
|
|
@@ -69,7 +79,8 @@ Dates for published releases are the UTC publication dates recorded by npm.
|
|
|
69
79
|
- Added synchronous structural and semantic validation for parsed JavaScript values with deterministic diagnostics and exact selector dispatch.
|
|
70
80
|
- Added ESM browser support, TypeScript declarations, embedded schema provenance, frozen fixtures, and package-content checks.
|
|
71
81
|
|
|
72
|
-
[Unreleased]: https://github.com/mcpdesc/core/compare/validator-v0.7.
|
|
82
|
+
[Unreleased]: https://github.com/mcpdesc/core/compare/validator-v0.7.1...HEAD
|
|
83
|
+
[0.7.1]: https://github.com/mcpdesc/core/compare/validator-v0.7.0...validator-v0.7.1
|
|
73
84
|
[0.7.0]: https://github.com/mcpdesc/core/releases/tag/validator-v0.7.0
|
|
74
85
|
[0.6.0]: https://github.com/mcpdesc/mcpdesc-specification/compare/validator-v0.5.0...validator-v0.6.0
|
|
75
86
|
[0.5.0]: https://github.com/mcpdesc/mcpdesc-specification/compare/17cc533e79b19ea2dbc1edcf06e30ba68a7d9b79...validator-v0.5.0
|
package/README.md
CHANGED
|
@@ -1,36 +1,60 @@
|
|
|
1
1
|
# @mcpdesc/validator
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Validate parsed MCP Description documents against exact, immutable specification
|
|
4
|
+
snapshots. The package:
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
- checks document structure against the snapshot's embedded JSON Schema;
|
|
7
|
+
- applies semantic rules that JSON Schema alone cannot express;
|
|
8
|
+
- returns deterministic error and warning diagnostics with document paths; and
|
|
9
|
+
- runs synchronously and offline in Node.js 20+ and browser bundles.
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
| `0.8.0-draft.3` | `v0.8.0-draft.3` | `8823c1f1946360b2a44d00920e2092e5e4acd139a1964befad4eb0bf3ce96002` |
|
|
14
|
-
| `0.8.0-draft.4` | `v0.8.0-draft.4` | `93ed03f74059b5b3ce7509a96b59161bdab2c3cf7734397a9bec5a7588d0b03b` |
|
|
15
|
-
| `0.8.0-rc.1` | `v0.8.0-rc.1` | `936a0f24ade501fcabf3d6498c0440c445daa672a575573a35954cee49430ac4` |
|
|
11
|
+
Use it when accepting, generating, migrating, or transforming MCP Description
|
|
12
|
+
documents and you need to know whether the result conforms to a specific
|
|
13
|
+
published draft or release candidate. It validates MCP Description documents,
|
|
14
|
+
not live MCP servers or MCP protocol messages.
|
|
16
15
|
|
|
17
|
-
|
|
16
|
+
## Install
|
|
18
17
|
|
|
19
|
-
|
|
18
|
+
```bash
|
|
19
|
+
npm install @mcpdesc/validator
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Quick start
|
|
20
23
|
|
|
21
24
|
```js
|
|
22
25
|
import { validateMcpDescription } from '@mcpdesc/validator';
|
|
23
26
|
|
|
24
27
|
const result = validateMcpDescription(parsedDocument, {
|
|
25
|
-
specification: '0.8.0-rc.1'
|
|
28
|
+
specification: '0.8.0-rc.1',
|
|
26
29
|
});
|
|
27
30
|
|
|
31
|
+
for (const diagnostic of result.diagnostics) {
|
|
32
|
+
console.log(diagnostic.severity, diagnostic.path, diagnostic.message);
|
|
33
|
+
}
|
|
34
|
+
|
|
28
35
|
if (!result.valid) {
|
|
29
|
-
|
|
36
|
+
// At least one error diagnostic was returned.
|
|
30
37
|
}
|
|
31
38
|
```
|
|
32
39
|
|
|
33
|
-
Callers provide an already parsed JavaScript value. JSON and YAML parsing
|
|
40
|
+
Callers provide an already parsed JavaScript value. JSON and YAML parsing, file
|
|
41
|
+
access, network access, and live-server inspection are outside this package.
|
|
42
|
+
The exact `specification` selector is required so validation never changes when
|
|
43
|
+
a later draft is published.
|
|
44
|
+
|
|
45
|
+
## Supported snapshots
|
|
46
|
+
|
|
47
|
+
Version `0.7.1` supports these immutable snapshots, newest first:
|
|
48
|
+
|
|
49
|
+
| Selector | Tag | Embedded schema SHA-256 |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| `0.8.0-rc.1` | `v0.8.0-rc.1` | `936a0f24ade501fcabf3d6498c0440c445daa672a575573a35954cee49430ac4` |
|
|
52
|
+
| `0.8.0-draft.4` | `v0.8.0-draft.4` | `93ed03f74059b5b3ce7509a96b59161bdab2c3cf7734397a9bec5a7588d0b03b` |
|
|
53
|
+
| `0.8.0-draft.3` | `v0.8.0-draft.3` | `8823c1f1946360b2a44d00920e2092e5e4acd139a1964befad4eb0bf3ce96002` |
|
|
54
|
+
| `0.8.0-draft.2` | `v0.8.0-draft.2` | `ab692c1a5a0f7e5f29be1940aa8c64a56d4620be0a19d00cf0a64680b7e517fa` |
|
|
55
|
+
| `0.8.0-draft.1` | `v0.8.0-draft.1` | `4ceb6042c3fd31703199cd3db869ec5c35c17d2fe9ab7b2f5b96a2a3af0cebe4` |
|
|
56
|
+
|
|
57
|
+
## Usage
|
|
34
58
|
|
|
35
59
|
The `options` argument and exact `specification` selector are required. The unqualified selector `0.8.0` is intentionally unsupported because draft and release-candidate iterations are immutable compatibility contracts.
|
|
36
60
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcpdesc/validator",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Structural and semantic validation for MCP Description snapshots",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"url": "git+https://github.com/mcpdesc/core.git",
|
|
11
11
|
"directory": "packages/validator"
|
|
12
12
|
},
|
|
13
|
+
"homepage": "https://github.com/mcpdesc/core/tree/main/packages/validator#readme",
|
|
14
|
+
"bugs": "https://github.com/mcpdesc/core/issues",
|
|
13
15
|
"engines": {
|
|
14
16
|
"node": ">=20"
|
|
15
17
|
},
|