registry/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Joel Verhagen 6a2e5d1b27
Align the server.json schema with the YAML (#168)
<!-- Provide a brief summary of your changes -->

## Motivation and Context

This is in support of
https://github.com/modelcontextprotocol/registry/issues/159, to make it
easier, I hope. My team noticed some differences in the JSON schema,
most notably the "choices" property was missing. I tried to write a tool
to do this but slowed down since I am not experienced with Go. This is a
first pass, maybe someone else can finish the tooling.

I restructured the JSON schema to break out child objects like the YAML
file, and brought the descriptions and example into sync. The only
differences are two extra properties in the YAML which are computed by
the server:

- `VersionDetail.is_latest` is not present in the JSON schema, computed
by the registry based on
https://github.com/modelcontextprotocol/registry/issues/158
- `Server.id` is not present in the JSON schema, generated by the
registry

The idea is the a tool could look at ServerDetail in the YAML and then
generate the schema.json with minimal fix-ups (add a root title, remove
`VersionDetail.is_latest` and `Server.id`.

~Question for @tadasant - should `VersionDetail.release_date` be in the
JSON schema? I think _no_ (and let it be computed) but it's there right
now.~ - aligned with
https://github.com/modelcontextprotocol/registry/pull/167 and removed

## How Has This Been Tested?

I have tested the JSON schema against the sample server.json in the repo
(files and markdown blocks).

## Breaking Changes

None.

## Types of changes
<!-- What types of changes does your code introduce? Put an `x` in all
the boxes that apply: -->
- [x] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing
functionality to change)
- [x] Documentation update

## Checklist
<!-- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [x] I have read the [MCP
Documentation](https://modelcontextprotocol.io)
- [x] My code follows the repository's style guidelines
- [ ] New and existing tests pass locally
- [ ] I have added appropriate error handling
- [x] I have added or updated documentation as needed

## Additional context
<!-- Add any other context, implementation notes, or design decisions
-->
2025-07-09 10:27:38 -07:00
..
server-json Align the server.json schema with the YAML (#168) 2025-07-09 10:27:38 -07:00
api_examples.md Add 2025-05-26 15:42:55 -07:00
architecture.md Add NuGet to the MCP Registry, similar to npm and Python 2025-07-07 12:28:19 -06:00
design_principles.md Add NuGet to the MCP Registry, similar to npm and Python 2025-07-07 12:28:19 -06:00
faq.md Add NuGet to the MCP Registry, similar to npm and Python 2025-07-07 12:28:19 -06:00
MCP Developers Summit 2025 - Registry Talk Slides.pdf Add 2025-05-26 15:42:55 -07:00
new_package_registry.md Add new package registry document 2025-07-07 12:28:19 -06:00
openapi.yaml Align the server.json schema with the YAML (#168) 2025-07-09 10:27:38 -07:00
README.md Add new package registry document 2025-07-07 12:28:19 -06:00
roadmap.md Rogue section 2025-06-26 17:18:34 -07:00

Official Registry Documentation

Project Documentation

design_principles.md - Core constraints and principles guiding the registry design

faq.md - Frequently asked questions about the MCP Registry

roadmap.md - High-level roadmap for the MCP Registry development

MCP Developers Summit 2025 - Registry Talk Slides.pdf - Slides from a talk given at the MCP Developers Summit on May 23, 2025, with an up-to-date vision of how we are thinking about the official registry.

API & Technical Specifications

openapi.yaml - OpenAPI specification for the official registry API

api_examples.md - Examples of what data will actually look like coming from the official registry API

architecture.md - Technical architecture, deployment strategies, and data flows

server.json README - description of the server.json purpose and schema

new_package_registry.md - steps to add a new package registry for local server packages