From 2dcc1005611c2b682daaef44bf6ce3e64cecc4a7 Mon Sep 17 00:00:00 2001 From: Shingo OKAWA Date: Tue, 3 Feb 2026 08:05:38 +0900 Subject: [PATCH 1/3] docs: add clarification about reverse DNS format and namespace Signed-off-by: Shingo OKAWA --- docs/reference/server-json/generic-server-json.md | 7 +++++++ docs/reference/server-json/server.schema.json | 4 ++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/reference/server-json/generic-server-json.md b/docs/reference/server-json/generic-server-json.md index b525bde15..291500538 100644 --- a/docs/reference/server-json/generic-server-json.md +++ b/docs/reference/server-json/generic-server-json.md @@ -30,6 +30,13 @@ The optional `_meta` field allows publishers to include custom metadata alongsid When publishing to the official registry, custom metadata must be placed under the key `io.modelcontextprotocol.registry/publisher-provided`. See the [official registry requirements](./official-registry-requirements.md) for detailed restrictions and examples. +## Reverse DNS Namespacing + +Both the `_meta` keys and the `name` field in a `server.json` file use reverse DNS format to provide a structured, globally unique namespace. + +Reverse DNS components (including subdomains) MAY be included as necessary for uniqueness. +There is no fixed limit on the number of domain segments, as long as the namespace is derived from a domain name controlled by the publisher. + ## Examples diff --git a/docs/reference/server-json/server.schema.json b/docs/reference/server-json/server.schema.json index e25191b19..061cca751 100644 --- a/docs/reference/server-json/server.schema.json +++ b/docs/reference/server-json/server.schema.json @@ -409,7 +409,7 @@ "type": "string" }, "_meta": { - "description": "Extension metadata using reverse DNS namespacing for vendor-specific data", + "description": "Optional extension metadata for vendor-specific data. Keys must use reverse-DNS namespacing to avoid collisions. Include as many subdomain levels as necessary for uniqueness.", "properties": { "io.modelcontextprotocol.registry/publisher-provided": { "additionalProperties": true, @@ -443,7 +443,7 @@ "type": "array" }, "name": { - "description": "Server name in reverse-DNS format. Must contain exactly one forward slash separating namespace from server name.", + "description": "Unique MCP server identifier in reverse-DNS format. Must contain exactly one forward slash separating namespace from the server name. Include as many subdomain levels in the namespace as necessary for uniqueness.", "example": "io.github.user/weather", "maxLength": 200, "minLength": 3, From b91ad483715c19d9e71f7f5d28938caf73f60bea Mon Sep 17 00:00:00 2001 From: Shingo OKAWA Date: Tue, 3 Feb 2026 08:17:21 +0900 Subject: [PATCH 2/3] chore: sync with openapi.yaml Signed-off-by: Shingo OKAWA --- docs/reference/server-json/server.schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/reference/server-json/server.schema.json b/docs/reference/server-json/server.schema.json index 061cca751..e25191b19 100644 --- a/docs/reference/server-json/server.schema.json +++ b/docs/reference/server-json/server.schema.json @@ -409,7 +409,7 @@ "type": "string" }, "_meta": { - "description": "Optional extension metadata for vendor-specific data. Keys must use reverse-DNS namespacing to avoid collisions. Include as many subdomain levels as necessary for uniqueness.", + "description": "Extension metadata using reverse DNS namespacing for vendor-specific data", "properties": { "io.modelcontextprotocol.registry/publisher-provided": { "additionalProperties": true, @@ -443,7 +443,7 @@ "type": "array" }, "name": { - "description": "Unique MCP server identifier in reverse-DNS format. Must contain exactly one forward slash separating namespace from the server name. Include as many subdomain levels in the namespace as necessary for uniqueness.", + "description": "Server name in reverse-DNS format. Must contain exactly one forward slash separating namespace from server name.", "example": "io.github.user/weather", "maxLength": 200, "minLength": 3, From 1bc4dc2d2bf886984e5c1259c3b69a4a39cd69f2 Mon Sep 17 00:00:00 2001 From: Shingo OKAWA Date: Tue, 3 Feb 2026 08:26:40 +0900 Subject: [PATCH 3/3] docs: add clarification about reverse DNS format and namespace Signed-off-by: Shingo OKAWA --- docs/reference/api/openapi.yaml | 4 ++-- docs/reference/server-json/server.schema.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/reference/api/openapi.yaml b/docs/reference/api/openapi.yaml index e05c934d6..2b77cfae4 100644 --- a/docs/reference/api/openapi.yaml +++ b/docs/reference/api/openapi.yaml @@ -778,7 +778,7 @@ components: properties: name: type: string - description: "Server name in reverse-DNS format. Must contain exactly one forward slash separating namespace from server name." + description: "Unique MCP server identifier in reverse-DNS format. Must contain exactly one forward slash separating namespace from the server name. Include as many subdomain levels in the namespace as necessary for uniqueness." example: "io.github.user/weather" minLength: 3 maxLength: 200 @@ -828,7 +828,7 @@ components: $ref: '#/components/schemas/RemoteTransport' _meta: type: object - description: "Extension metadata using reverse DNS namespacing for vendor-specific data" + description: "Optional extension metadata for vendor-specific data. Keys must use reverse-DNS namespacing to avoid collisions. Include as many subdomain levels as necessary for uniqueness." properties: io.modelcontextprotocol.registry/publisher-provided: type: object diff --git a/docs/reference/server-json/server.schema.json b/docs/reference/server-json/server.schema.json index e25191b19..061cca751 100644 --- a/docs/reference/server-json/server.schema.json +++ b/docs/reference/server-json/server.schema.json @@ -409,7 +409,7 @@ "type": "string" }, "_meta": { - "description": "Extension metadata using reverse DNS namespacing for vendor-specific data", + "description": "Optional extension metadata for vendor-specific data. Keys must use reverse-DNS namespacing to avoid collisions. Include as many subdomain levels as necessary for uniqueness.", "properties": { "io.modelcontextprotocol.registry/publisher-provided": { "additionalProperties": true, @@ -443,7 +443,7 @@ "type": "array" }, "name": { - "description": "Server name in reverse-DNS format. Must contain exactly one forward slash separating namespace from server name.", + "description": "Unique MCP server identifier in reverse-DNS format. Must contain exactly one forward slash separating namespace from the server name. Include as many subdomain levels in the namespace as necessary for uniqueness.", "example": "io.github.user/weather", "maxLength": 200, "minLength": 3,