Remove redundant endpoint as suggested in #617. Clients should now use `GET /v0/servers/{serverName}/versions/latest` instead (using `latest` as a special version value in the existing endpoint). This simplifies the API surface and reduces implementation burden for subregistries, while maintaining a clear migration path for consumers. ## Changes - Removed `GET /v0/servers/{serverName}` endpoint - Updated `GET /v0/servers/{serverName}/versions/{version}` to accept `latest` as special version - Updated all tests to use new endpoint pattern - Updated documentation and OpenAPI spec - Added breaking change notice to CHANGELOG Fixes #617 Co-authored-by: Claude <noreply@anthropic.com>
3 KiB
3 KiB
Registry API Changelog
Changes to the REST API endpoints and responses.
Unreleased
⚠️ BREAKING CHANGES
Endpoint Simplification
Removed redundant endpoint to simplify API surface and reduce implementation burden for subregistries.
Removed endpoints:
GET /v0/servers/{serverName}- UseGET /v0/servers/{serverName}/versions/latestinstead
2025-09-29
⚠️ BREAKING CHANGES
API Endpoint Restructuring
API endpoints updated to use server names instead of server IDs for better usability.
Changed endpoints:
GET /v0/servers/{server_id}→GET /v0/servers/{serverName}GET /v0/servers/{server_id}/versions→GET /v0/servers/{serverName}/versions
New endpoints:
GET /v0/servers/{serverName}/versions/{version}- Get specific server versionPUT /v0/servers/{serverName}/versions/{version}- Edit server version (admin only)
Response format changes:
- Introduced
ServerResponseschema separating server data from registry metadata - Moved
statusfield from server data to_meta.io.modelcontextprotocol.registry/official - Removed
io.modelcontextprotocol.registry/officialmetadata fromServerDetailschema
Changed
- OpenAPI spec version:
2025-09-16→2025-09-29
2025-09-16
⚠️ BREAKING CHANGES
Server ID Endpoints (#396)
API endpoints updated for consistent server identification across versions.
Problem: Each server version had a unique ID, preventing version history tracking and server renaming.
Solution: Introduced consistent server identification across versions.
Changed endpoints:
GET /v0/servers/{id}→GET /v0/servers/{server_id}
New endpoints:
GET /v0/servers/{server_id}/versions- List all versions of a serverGET /v0/servers/{server_id}?version=1.0.0- Get specific version
Changed response metadata:
_meta.*.id→_meta.*.serverId- Added:
_meta.*.versionId
Migration Examples
Old Structure:
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"published_at": "2024-01-01T00:00:00Z",
"is_latest": true
}
}
}
New Structure:
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"serverId": "550e8400-e29b-41d4-a716-446655440000",
"versionId": "773f9b2e-1a47-4c8d-b5e6-2f8d9c4a7b3e",
"published_at": "2024-01-01T00:00:00Z",
"is_latest": true
}
}
}
Migration Checklist for API Consumers
- Update API endpoint URLs from
/v0/servers/{id}to/v0/servers/{server_id} - Update code reading registry metadata from
idtoserverId/versionId - Add support for new
/v0/servers/{server_id}/versionsendpoint if needed - Update JSON parsing to expect camelCase field names
- Test with new API responses
Changed
- OpenAPI spec version:
2025-07-09→2025-09-16
2025-07-09
Initial release of the Registry API.