Skip to content

Commit fdcb385

Browse files
tadasantclaude
andauthored
Update OpenAPI spec to use v0.1 endpoints and make _meta optional (#811)
Prepared by Claude Code, reviewed by me. ## Summary - Update all API endpoint paths from `/v0/` to `/v0.1/` in the OpenAPI spec - Bump OpenAPI spec version from `2025-10-17` to `2025-12-01` (in `$id` and `info.version`) ## Rationale This ensures sub-registries implementing the spec are adhering to the stable v0.1 version rather than the unstable v0. The API freeze (v0.1) provides stability guarantees that sub-registries need. ## Additional cleanup ### Make `_meta` optional in `ServerResponse` The `_meta` field (and its `io.modelcontextprotocol.registry/official` extension) were never intended to be required parts of the spec. Sub-registries may not use these registry-specific metadata fields, so they should be optional. ### Move extensions docs to use /v0.1/ instead of /v0/ 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude <[email protected]>
1 parent b4e7684 commit fdcb385

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

docs/reference/api/extensions.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ A standardized way for registries to provide experimental or community-driven fe
1313

1414
## URL Structure
1515

16-
Extensions live under the `/v0/x/` prefix:
16+
Extensions live under the `/v0.1/x/` prefix:
1717

1818
```
19-
/v0/x/<namespace>/<extension>[/<path>]
19+
/v0.1/x/<namespace>/<extension>[/<path>]
2020
```
2121

2222
**Components:**
@@ -26,9 +26,9 @@ Extensions live under the `/v0/x/` prefix:
2626

2727
**Examples:**
2828
```
29-
/v0/x/com.example/search?q=database
30-
/v0/x/com.example/stats
31-
/v0/x/io.github.username/custom-feature
29+
/v0.1/x/com.example/search?q=database
30+
/v0.1/x/com.example/stats
31+
/v0.1/x/io.github.username/custom-feature
3232
```
3333

3434
## Conventions
@@ -50,7 +50,7 @@ Clients consuming extensions **MUST** gracefully handle missing extensions.
5050
A simple server stats extension:
5151

5252
```bash
53-
GET /v0/x/com.example/stats
53+
GET /v0.1/x/com.example/stats
5454
```
5555

5656
```json
@@ -63,7 +63,7 @@ GET /v0/x/com.example/stats
6363

6464
## Future Considerations
6565

66-
- **Extension discovery**: A potential `/v0/x` endpoint to list available extensions
66+
- **Extension discovery**: A potential `/v0.1/x` endpoint to list available extensions
6767
- **Extension metadata**: Standardized metadata format for extension capabilities
6868
- **Defining common extensions**: Like semantic conventions from OpenTelemetry, develop common extensions that registries can adopt (possibly under an experimental namespace)
6969
- Search extension for free-text search across server metadata ([#389](https://github.com/modelcontextprotocol/registry/issues/389))

docs/reference/api/openapi.yaml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
openapi: 3.1.0
22
jsonSchemaDialect: "https://json-schema.org/draft/2020-12/schema"
3-
$id: https://modelcontextprotocol.io/schemas/draft/2025-10-17/server-registry-openapi
3+
$id: https://modelcontextprotocol.io/schemas/draft/2025-12-01/server-registry-openapi
44
info:
55
title: MCP Server Registry API
6-
version: "2025-10-17"
6+
version: "2025-12-01"
77
summary: API for discovering and accessing MCP server metadata
88
description: |
99
Specification for a theoretical REST API that serves up metadata about MCP servers.
@@ -18,7 +18,7 @@ tags:
1818
description: Operations for publishing MCP servers to the registry
1919

2020
paths:
21-
/v0/servers:
21+
/v0.1/servers:
2222
get:
2323
tags: [servers]
2424
summary: List MCP servers
@@ -68,7 +68,7 @@ paths:
6868
application/json:
6969
schema:
7070
$ref: '#/components/schemas/ServerList'
71-
/v0/servers/{serverName}/versions:
71+
/v0.1/servers/{serverName}/versions:
7272
get:
7373
tags: [servers]
7474
summary: List all versions of an MCP server
@@ -98,7 +98,7 @@ paths:
9898
error:
9999
type: string
100100
example: "Server not found"
101-
/v0/servers/{serverName}/versions/{version}:
101+
/v0.1/servers/{serverName}/versions/{version}:
102102
get:
103103
tags: [servers]
104104
summary: Get specific MCP server version
@@ -218,7 +218,7 @@ paths:
218218
error:
219219
type: string
220220
example: "Deletion is not supported by this registry"
221-
/v0/publish:
221+
/v0.1/publish:
222222
post:
223223
tags: [publish]
224224
summary: Publish MCP server (Optional)
@@ -741,7 +741,6 @@ components:
741741
type: object
742742
required:
743743
- server
744-
- _meta
745744
properties:
746745
server:
747746
$ref: '#/components/schemas/ServerDetail'

0 commit comments

Comments
 (0)