关于 JSON Schema Tools
JSON Schema Tools 是面向开发者的 MCP 服务,用于验证 JSON 和处理 Schema。它支持多个 Schema 草案、根据样本推断 Schema,并逐项评估变更的兼容性。
主要功能
- 01使用 Ajv 验证 JSON
- 02支持 07、2019-09 和 2020-12 草案
- 03根据样本文档推断 Schema
- 04比较 Schema 并评估兼容影响
适用场景
- 01根据 Schema 检查 JSON 文档
- 02从示例生成初始 Schema
- 03评估 Schema 变更的兼容性
MCP 相关
通过 stdio 向 MCP 客户端提供 `validate_json`、`infer_schema` 和 `diff_schemas` 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/basitalisandhu/mcp-json-schema-tools:0.3.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/basitalisandhu/mcp-json-schema-tools:0.3.0stdio工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
json-schema-tools MCP 服务
使用 Ajv 根据 JSON Schema draft 07、2019-09 和 2020-12 验证 JSON,从示例文档推断 schema,并比较两个 schema,对每项变更给出兼容性判定。
属于 dev-mcp-servers。仅支持 Stdio 传输;服务不会打开端口。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
validate_json | schema、data、draft? | valid、使用的 draft、错误数量,以及最多 200 条错误,每条包含 JSON Pointer 路径、schema 路径、关键字、消息和参数。会检查格式(email、uri、date-time、uuid 等)。 |
infer_schema | samples(文档数组或 JSON 字符串)、enum_threshold?、detect_formats?、title? | draft 2020-12 schema:合并样例中的类型、对每个样例都存在的键设为 required、嵌套对象、数组项、字符串格式,以及可选的枚举。 |
diff_schemas | before、after | 返回每项变更的路径、变更前后的值及影响:breaking、compatible 或 review。判定基准是符合 before 的文档。 |
安装
Claude Code:
claude mcp add json-schema-tools -- docker run --rm -i ghcr.io/basitalisandhu/mcp-json-schema-tools:0.2.2
添加 -s user,即可在每个项目中使用。任何可读取 .mcp.json 的客户端(Claude Code、Claude Desktop、Cursor):
{
"mcpServers": {
"json-schema-tools": {
"command": "docker",
"args": ["run", "--rm", "-i", "ghcr.io/basitalisandhu/mcp-json-schema-tools:0.2.2"]
}
}
}
请按示例固定版本,避免更新在你不知情的情况下改变编辑器中运行的内容。该软件包尚未发布到 npmjs.com,因此 npx 不可用;GitHub Packages npm 的安装方法请参阅仓库 README。从检出目录构建时,请先在仓库根目录运行 npm install && npm run build,然后使用 "command": "node", "args": ["<path>/packages/json-schema-tools/dist/index.js"]。
涉及范围
- 网络:无。不会获取远程
$ref目标。 - 本地文件:无。
- 遥测:无。
说明
- Ajv 使用
strict: false运行,因此包含未知关键字的实际 schema 仍可通过验证。 - 不接受 Draft-04 和 Draft-06 schema;请更新
$schema或将其移除。 - Schema 和文档可以作为 JSON 值或 JSON 字符串传入;两者的大小上限均为 2 MB。
构建和测试
npm install # at the repository root
npm run build -w @basitalisandhu/mcp-json-schema-tools
npm test -w @basitalisandhu/mcp-json-schema-tools
测试使用 node:test 和 SDK 的内存传输,不会访问网络。
许可证
MIT。请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。