You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Note: This PR was written by Claude Code.
Copy file name to clipboardExpand all lines: docs/reference/server-json/CHANGELOG.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,20 @@
2
2
3
3
Changes to the server.json schema and format.
4
4
5
+
## Draft (Unreleased)
6
+
7
+
This section tracks changes that are in development and not yet released. The draft schema is available at [`server.schema.json`](./server.schema.json) in this repository.
8
+
9
+
### Changed
10
+
11
+
- No changes yet.
12
+
13
+
### Notes
14
+
15
+
When ready for release, changes in this section will be moved to a dated version section (e.g., `## 2025-XX-XX`) and the schema will be published to a versioned URL.
This document describes the process for making and releasing changes to the `server.json` schema.
4
+
5
+
## Making Changes
6
+
7
+
1.**Modify the OpenAPI spec**: Edit `docs/reference/api/openapi.yaml` with your schema changes. The `ServerDetail` component defines the server.json structure.
8
+
9
+
2.**Regenerate the schema**: Run `make generate-schema` to update `server.schema.json` from the OpenAPI spec.
10
+
11
+
3.**Update the changelog**: Add your changes to the "Draft (Unreleased)" section in `CHANGELOG.md`.
12
+
13
+
4.**Open a PR**: Submit a pull request to this repository for review.
14
+
15
+
## Releasing Changes
16
+
17
+
When the draft changes are ready for release:
18
+
19
+
1.**Update the changelog**: Move changes from "Draft (Unreleased)" to a new dated section (e.g., `## 2025-XX-XX`).
20
+
21
+
2.**Update the schema URL**: Change the `$id` in the schema and the example URL in `openapi.yaml` from `draft` to the release date (e.g., `2025-XX-XX`).
22
+
23
+
3.**Merge the PR**: Get approval and merge the changes to main.
24
+
25
+
4.**Publish to static hosting**: Open a PR on [modelcontextprotocol/static](https://github.com/modelcontextprotocol/static/tree/main/schemas) to add the new versioned schema file. This "locks in" the released schema at its versioned URL.
26
+
27
+
## Schema Versioning
28
+
29
+
-**Draft schema**: `https://static.modelcontextprotocol.io/schemas/draft/server.schema.json` - For in-progress changes, may change without notice.
30
+
-**Released schemas**: `https://static.modelcontextprotocol.io/schemas/YYYY-MM-DD/server.schema.json` - Stable, versioned by release date.
0 commit comments