The schema in this repo may contain unreleased changes, so labeling it with a dated version URL is misleading. Change to use a `draft` URL instead, and add documentation for the schema contribution process. - Update $id in server.schema.json to use draft URL - Update example $schema URL in openapi.yaml - Add Draft (Unreleased) section to CHANGELOG.md - Add CONTRIBUTING.md with process for making/releasing schema changes Written by Claude Code, reviewed and tweaked by me. Co-authored-by: Claude <noreply@anthropic.com>
1.5 KiB
Contributing to server.json Schema
This document describes the process for making and releasing changes to the server.json schema.
Making Changes
-
Modify the OpenAPI spec: Edit
docs/reference/api/openapi.yamlwith your schema changes. TheServerDetailcomponent defines the server.json structure. -
Regenerate the schema: Run
make generate-schemato updateserver.schema.jsonfrom the OpenAPI spec. -
Update the changelog: Add your changes to the "Draft (Unreleased)" section in
CHANGELOG.md. -
Open a PR: Submit a pull request to this repository for review.
Releasing Changes
When the draft changes are ready for release:
-
Update the changelog: Move changes from "Draft (Unreleased)" to a new dated section (e.g.,
## 2025-XX-XX). -
Update the schema URL: Change the
$idin the schema and the example URL inopenapi.yamlfromdraftto the release date (e.g.,2025-XX-XX). -
Merge the PR: Get approval and merge the changes to main.
-
Publish to static hosting: Open a PR on modelcontextprotocol/static to add the new versioned schema file. This "locks in" the released schema at its versioned URL.
Schema Versioning
- Draft schema:
https://static.modelcontextprotocol.io/schemas/draft/server.schema.json- For in-progress changes, may change without notice. - Released schemas:
https://static.modelcontextprotocol.io/schemas/YYYY-MM-DD/server.schema.json- Stable, versioned by release date.