From 016b231486650e7cb13a7d32e6478698d6edcc61 Mon Sep 17 00:00:00 2001 From: deerajkumar18 Date: Sun, 11 Jan 2026 07:16:25 +0000 Subject: [PATCH] update schema url point to the actual location --- complete.md | 4 ++-- docs/contributing/add-package-registry.md | 4 ++-- docs/design/proposed-enhanced-validation.md | 8 ++++---- docs/modelcontextprotocol-io/about.mdx | 2 +- docs/reference/server-json/CHANGELOG.md | 2 +- docs/reference/server-json/CONTRIBUTING.md | 2 +- docs/reference/server-json/{ => draft}/server.schema.json | 2 +- docs/reference/server-json/generic-server-json.md | 2 +- tools/extract-server-schema/main.go | 4 ++-- tools/validate-examples/main.go | 2 +- tools/validate-schemas/main.go | 2 +- 11 files changed, 17 insertions(+), 17 deletions(-) rename docs/reference/server-json/{ => draft}/server.schema.json (99%) diff --git a/complete.md b/complete.md index 1fe5d05f8..045e797a7 100644 --- a/complete.md +++ b/complete.md @@ -538,7 +538,7 @@ The MCP Registry project is a **metaregistry**, meaning that it hosts metadata f For local MCP servers, the MCP Registry has pointers in the `packages` node of the [`server.json`](../../reference/server-json/generic-server-json.md) schema that refer to packages in supported package managers. -The list of supported package managers for hosting MCP servers is defined by the `properties.packages[N].properties.registry_type` string enum in the [`server.json` schema](../../reference/server-json/server.schema.json). For example, this could be "npm" (for npmjs.com packages) or "pypi" (for PyPI packages). +The list of supported package managers for hosting MCP servers is defined by the `properties.packages[N].properties.registry_type` string enum in the [`server.json` schema](../../reference/server-json/draft/server.schema.json). For example, this could be "npm" (for npmjs.com packages) or "pypi" (for PyPI packages). For remote MCP servers, the package registry is not relevant. The MCP client consumes the server via a URL instead of by downloading and running a package. In other words, this document only applies to local MCP servers. @@ -567,7 +567,7 @@ These steps may evolve as additional validations or details are discovered and m 1. [Create a feature request issue](https://github.com/modelcontextprotocol/registry/issues/new?template=feature_request.md) on the MCP Registry repository to begin the discussion about adding the package registry. - Example for NuGet: https://github.com/modelcontextprotocol/registry/issues/126 1. Open a PR with the following changes: - - Update the [`server.json` schema](../../reference/server-json/server.schema.json) + - Update the [`server.json` schema](../../reference/server-json/draft/server.schema.json) - Add your package registry name to the `registry_type` example array. - Add your package registry base url to the `registry_base_url` example array. - Add the single-shot CLI command name to the `runtime_hint` example value array. diff --git a/docs/contributing/add-package-registry.md b/docs/contributing/add-package-registry.md index a00f09316..be0a6eae8 100644 --- a/docs/contributing/add-package-registry.md +++ b/docs/contributing/add-package-registry.md @@ -4,7 +4,7 @@ The MCP Registry project is a **metaregistry**, meaning that it hosts metadata f For local MCP servers, the MCP Registry has pointers in the `packages` node of the [`server.json`](../../reference/server-json/generic-server-json.md) schema that refer to packages in supported package managers. -The list of supported package managers for hosting MCP servers is defined by the `properties.packages[N].properties.registryType` string enum in the [`server.json` schema](../../reference/server-json/server.schema.json). For example, this could be "npm" (for npmjs.com packages) or "pypi" (for PyPI packages). +The list of supported package managers for hosting MCP servers is defined by the `properties.packages[N].properties.registryType` string enum in the [`server.json` schema](../../reference/server-json/draft/server.schema.json). For example, this could be "npm" (for npmjs.com packages) or "pypi" (for PyPI packages). For remote MCP servers, the package registry is not relevant. The MCP client consumes the server via a URL instead of by downloading and running a package. In other words, this document only applies to local MCP servers. @@ -33,7 +33,7 @@ These steps may evolve as additional validations or details are discovered and m 1. [Create a feature request issue](https://github.com/modelcontextprotocol/registry/issues/new?template=feature_request.md) on the MCP Registry repository to begin the discussion about adding the package registry. - Example for NuGet: https://github.com/modelcontextprotocol/registry/issues/126 1. Open a PR with the following changes: - - Update the [`server.json` schema](../../reference/server-json/server.schema.json) + - Update the [`server.json` schema](../../reference/server-json/draft/server.schema.json) - Add your package registry name to the `registryType` example array. - Add your package registry base url to the `registryBaseUrl` example array. - Add the single-shot CLI command name to the `runtimeHint` example value array. diff --git a/docs/design/proposed-enhanced-validation.md b/docs/design/proposed-enhanced-validation.md index c1379c2cb..605edce44 100644 --- a/docs/design/proposed-enhanced-validation.md +++ b/docs/design/proposed-enhanced-validation.md @@ -421,10 +421,10 @@ The validation system supports testing against draft schemas or custom schema ve #### Setup Steps -1. **Copy the schema file**: Copy your schema file (e.g., `docs/reference/server-json/server.schema.json`) to `internal/validators/schemas/{version}.json` +1. **Copy the schema file**: Copy your schema file (e.g., `docs/reference/server-json/draft/server.schema.json`) to `internal/validators/schemas/{version}.json` - Example: Copy to `internal/validators/schemas/draft.json` for draft schema testing - Ensure the schema file's `$id` field matches: `https://static.modelcontextprotocol.io/schemas/{version}/server.schema.json` - - For draft schema, the `$id` should be: `https://static.modelcontextprotocol.io/schemas/draft/server.schema.json` + - For draft schema, the `$id` should be: `https://raw.githubusercontent.com/modelcontextprotocol/registry/main/docs/reference/server-json/draft/server.schema.json` 2. **Rebuild**: Recompile the Go binary to embed the new schema file (schemas are embedded at compile time) @@ -473,10 +473,10 @@ To test with a draft schema as if it were the current schema (no warnings/errors ```bash # 1. Copy draft schema -cp docs/reference/server-json/server.schema.json internal/validators/schemas/draft.json +cp docs/reference/server-json/draft/server.schema.json internal/validators/schemas/draft.json # 2. Verify the $id field in draft.json is correct -# Should be: "https://static.modelcontextprotocol.io/schemas/draft/server.schema.json" +# Should be: "https://raw.githubusercontent.com/modelcontextprotocol/registry/main/docs/reference/server-json/draft/server.schema.json" # 3. Rebuild go build ./... diff --git a/docs/modelcontextprotocol-io/about.mdx b/docs/modelcontextprotocol-io/about.mdx index 88253af7e..3f560d09c 100644 --- a/docs/modelcontextprotocol-io/about.mdx +++ b/docs/modelcontextprotocol-io/about.mdx @@ -16,7 +16,7 @@ The MCP Registry provides: - A REST API for MCP clients and aggregators to discover available servers - Standardized installation and configuration information -Server metadata is stored in a standardized [`server.json` format](https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/server-json/server.schema.json), which contains: +Server metadata is stored in a standardized [`server.json` format](https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/server-json/draft/server.schema.json), which contains: - The server's unique name (e.g., `io.github.user/server-name`) - Where to locate the server (e.g., npm package name, remote server URL) diff --git a/docs/reference/server-json/CHANGELOG.md b/docs/reference/server-json/CHANGELOG.md index 78d246da2..42fc6617b 100644 --- a/docs/reference/server-json/CHANGELOG.md +++ b/docs/reference/server-json/CHANGELOG.md @@ -4,7 +4,7 @@ Changes to the server.json schema and format. ## Draft (Unreleased) -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. +This section tracks changes that are in development and not yet released. The draft schema is available at [`server.schema.json`](./draft/server.schema.json) in this repository. ### Changed diff --git a/docs/reference/server-json/CONTRIBUTING.md b/docs/reference/server-json/CONTRIBUTING.md index d67bc0a48..802cc2ce3 100644 --- a/docs/reference/server-json/CONTRIBUTING.md +++ b/docs/reference/server-json/CONTRIBUTING.md @@ -26,5 +26,5 @@ When the draft changes are ready for release: ## Schema Versioning -- **Draft schema**: `https://static.modelcontextprotocol.io/schemas/draft/server.schema.json` - For in-progress changes, may change without notice. +- **Draft schema**: `https://raw.githubusercontent.com/modelcontextprotocol/registry/main/docs/reference/server-json/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. diff --git a/docs/reference/server-json/server.schema.json b/docs/reference/server-json/draft/server.schema.json similarity index 99% rename from docs/reference/server-json/server.schema.json rename to docs/reference/server-json/draft/server.schema.json index e25191b19..c5578a082 100644 --- a/docs/reference/server-json/server.schema.json +++ b/docs/reference/server-json/draft/server.schema.json @@ -1,6 +1,6 @@ { "$comment": "This file is auto-generated from docs/reference/api/openapi.yaml. Do not edit manually. Run 'make generate-schema' to update.", - "$id": "https://static.modelcontextprotocol.io/schemas/draft/server.schema.json", + "$id": "https://raw.githubusercontent.com/modelcontextprotocol/registry/main/docs/reference/server-json/draft/server.schema.json", "$ref": "#/definitions/ServerDetail", "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { diff --git a/docs/reference/server-json/generic-server-json.md b/docs/reference/server-json/generic-server-json.md index b525bde15..1b1aff1d1 100644 --- a/docs/reference/server-json/generic-server-json.md +++ b/docs/reference/server-json/generic-server-json.md @@ -8,7 +8,7 @@ Also see: ## Browse the Complete Schema -**📋 View the full specification interactively**: Open [server.schema.json](./server.schema.json) in a schema viewer like [json-schema.app](https://json-schema.app/view/%23?url=https%3A%2F%2Fstatic.modelcontextprotocol.io%2Fschemas%2F2025-09-29%2Fserver.schema.json). +**📋 View the full specification interactively**: Open [server.schema.json](./draft/server.schema.json) in a schema viewer like [json-schema.app](https://json-schema.app/view/%23?url=https%3A%2F%2Fstatic.modelcontextprotocol.io%2Fschemas%2F2025-09-29%2Fserver.schema.json). The schema contains all field definitions, validation rules, examples, and detailed descriptions. diff --git a/tools/extract-server-schema/main.go b/tools/extract-server-schema/main.go index 723c6a65b..a90aa2d6f 100644 --- a/tools/extract-server-schema/main.go +++ b/tools/extract-server-schema/main.go @@ -13,7 +13,7 @@ import ( const ( openAPIPath = "docs/reference/api/openapi.yaml" - schemaOutputDir = "docs/reference/server-json" + schemaOutputDir = "docs/reference/server-json/draft" ) func main() { @@ -93,7 +93,7 @@ func main() { // When releasing, the schema is published to a versioned URL (e.g., 2025-10-17) // on https://github.com/modelcontextprotocol/static _ = version // version from OpenAPI spec available if needed - schemaID := "https://static.modelcontextprotocol.io/schemas/draft/server.schema.json" + schemaID := "https://raw.githubusercontent.com/modelcontextprotocol/registry/main/docs/reference/server-json/draft/server.schema.json" jsonSchema := map[string]interface{}{ "$comment": "This file is auto-generated from docs/reference/api/openapi.yaml. Do not edit manually. Run 'make generate-schema' to update.", "$schema": "http://json-schema.org/draft-07/schema#", diff --git a/tools/validate-examples/main.go b/tools/validate-examples/main.go index 46823d492..54a7e4bf8 100644 --- a/tools/validate-examples/main.go +++ b/tools/validate-examples/main.go @@ -57,7 +57,7 @@ func runValidation() error { }, } - schemaPath := filepath.Join("docs", "reference", "server-json", "server.schema.json") + schemaPath := filepath.Join("docs", "reference", "server-json", "draft", "server.schema.json") baseSchema, err := compileSchema(schemaPath) if err != nil { return fmt.Errorf("failed to compile server.schema.json: %w", err) diff --git a/tools/validate-schemas/main.go b/tools/validate-schemas/main.go index 16aff9a14..aebda5bd1 100644 --- a/tools/validate-schemas/main.go +++ b/tools/validate-schemas/main.go @@ -25,7 +25,7 @@ func main() { } func runValidation() error { - basePath := filepath.Join("docs", "reference", "server-json") + basePath := filepath.Join("docs", "reference", "server-json", "draft") schemas := []struct { name string