SchemaStore 评测:一个 JSON Schema 目录,以及它附带的 MCP 服务器
JSON 模式文件的集合,包括完整的 API。 Visual Studio Code 在工作区中创建 .vscode/mcp.json:Visual Studio 将 .mcp.json 文件添加到解决方案根目录:任何 MCP 客户端 使客户端指向使用 HTTP 传输。
秒懂
- 它是什么?
- SchemaStore 是全网最大的独立 JSON Schema 集合,最近新增了 MCP 服务器,让 AI 编辑器能直接检索 schema。本文基于仓库 README 与目录结构,评析它的价值、使用方式与局限。
- 适合谁用?
- SchemaStore 适合那些需要为常见 JSON 文件(如 VS Code 配置、CI 文件、包清单)快速获得校验 schema 的开发者,尤其是 VS Code 或 Visual Studio 用户,因为只需一个 JSON 文件就能接入 MCP 服务器,省去本地搭建。它不适合需要私有 schema 或离线环境的人,因为公开服务器是唯一推荐入口,且 schema 质量依赖社区贡献。
- 能商用吗?
- 可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 4 天前。
- 用什么语言写的?
- 主要是 JavaScript(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决什么问题:JSON 校验的碎片化
JSON 配置无处不在,但每个工具都有自己的校验方式。VS Code 用 schema,GitHub Actions 用 schema,很多 CLI 工具也各自实现。结果是你得为每个文件找对应的 schema,还得知道去哪找。SchemaStore 把这一堆 schema 集中到一个仓库里,号称是全世界最大的独立 JSON schema 集合。它面向的是那些写配置文件的人,以及需要在自己编辑器里获得补全和校验的开发者。这个仓库本身不提供校验引擎,它只是目录,但目录的价值在于统一入口。
目录里有什么:从仓库布局看 schema 组织
仓库根目录下有一个 src 目录,里面按类别存放 schema 文件。每个 schema 是一个独立的 JSON 文件,文件名通常对应工具或格式名,比如 azure-pipelines.json、github-workflow.json。仓库里还有一个 catalog.json,它把 schema 的 ID、文件名和匹配模式关联起来。这个 catalog 是核心,因为编辑器通过它知道哪个 schema 对应哪个文件。没有这个映射,schema 就是一堆死文件。README 没细说 catalog 的结构,但从常见用法推断,它包含类似 fileMatch 的 glob 模式。这个设计让 SchemaStore 能同时服务人类浏览和机器读取。
MCP 服务器:把目录变成 AI 可查的接口
SchemaStore 最近加了一个 MCP 服务器,地址是 https://mcp.schemastore.org/。MCP 是 Model Context Protocol,一种让 AI 助手访问外部数据的协议。这个服务器允许 AI 编辑器搜索、浏览和检索 schema。它公开托管,不需要本地安装。对 VS Code 用户,配置很简单:在 .vscode/mcp.json 里写一个 JSON 对象,指定服务器名、URL 和类型为 http。Visual Studio 用户则要在解决方案根目录放 .mcp.json,结构类似但多一个 inputs 数组和 headers 对象。任何 MCP 客户端都可以直接指向这个 URL。这个设计把 schema 目录变成了 AI 的工具,而不是只给人看。
运行方式:两种配置,一个 URL
实际使用 SchemaStore 有两种路径。传统方式是让编辑器直接读取 catalog.json,比如 VS Code 的 json.schemas 设置里指向 schemastore.org 的 URL。但 README 主推的是 MCP 方式。以 VS Code 为例,你只需在 .vscode/mcp.json 中写入:{"servers":{"SchemaStore":{"url":"https://mcp.schemastore.org/","type":"http"}}}。Visual Studio 的 .mcp.json 几乎一样,只是多了 "inputs":[] 和 "headers":{}。之后 AI 助手就能通过 MCP 协议查询 schema。注意,这里没有版本号,也没有本地安装步骤,一切都是远程的。这意味着你需要网络连接,而且依赖公开服务的可用性。
一个真正的局限:无版本发布与质量依赖社区
仓库没有最近的 release,也没有版本号。schema 更新是直接推到 master 分支的,这意味着你无法锁定某个 schema 的版本。对于严格的生产环境,这可能是问题:一个 schema 的变更可能在你没注意的时候改变校验行为。另外,schema 的质量完全取决于社区贡献。README 提到这个项目是志愿者驱动的,维护成本在增长。虽然它被广泛使用,但你不能假设每个 schema 都经过严格审核。有些 schema 可能过时,有些可能覆盖不全。如果你依赖某个 schema 做关键校验,最好先人工检查它的内容。
替代方案:JSON Schema 官方仓库与本地自定义
另一个选择是 JSON Schema 官方仓库(json-schema-org/json-schema-spec),但它只维护规范本身,不提供具体工具 schema。更实用的替代是使用 VS Code 自带的 schema 支持,直接在你的项目里写一个 .schema.json 文件,然后用 $schema 关键字引用。或者,你可以用像 ajv 这样的库在 CI 中自己加载 schema 文件,完全绕开远程目录。区别在于:SchemaStore 提供的是公共目录和 MCP 接口,而本地方案让你完全控制 schema 的来源和版本。如果你的 schema 是私有的,或者需要离线使用,本地文件是唯一选择。
维护与许可:Apache-2.0 下的社区依赖
仓库采用 Apache-2.0 许可证,这意味着你可以自由使用、修改和分发 schema,但要注意保留版权声明。维护模式是社区驱动,贡献者通过 CONTRIBUTING.md 提交新 schema 或更新现有 schema。没有版本发布意味着你无法获得语义化版本控制的好处。README 明确请求赞助,说明基础设施成本是真实存在的,项目的长期可用性依赖于社区支持。如果你打算在自己的产品中依赖这个目录,建议定期检查 catalog.json 的变化,并考虑在本地缓存 schema 文件,以降低对远程服务的依赖。
编辑结论
SchemaStore 适合那些需要为常见 JSON 文件(如 VS Code 配置、CI 文件、包清单)快速获得校验 schema 的开发者,尤其是 VS Code 或 Visual Studio 用户,因为只需一个 JSON 文件就能接入 MCP 服务器,省去本地搭建。它不适合需要私有 schema 或离线环境的人,因为公开服务器是唯一推荐入口,且 schema 质量依赖社区贡献。采用前应验证目标 schema 是否覆盖你的具体字段,并检查其维护活跃度,因为仓库没有版本发布,schema 更新是持续推送的,可能引入破坏性变更。
社区笔记