---
title: "Update specific MCP server version (Optional)"
method: PUT
path: "/v0.1/servers/{serverName}/versions/{version}"
tags: ["publish"]
---

# Update specific MCP server version (Optional)

`PUT /v0.1/servers/{serverName}/versions/{version}`

Update a specific version of an MCP server in the registry.

**Note**: This endpoint is optional for registry implementations and is not implemented by the official MCP registry. It is included in the specification to standardize the update mechanism for registry implementations that choose to support it.

Authentication mechanism is registry-specific and may vary between implementations.

## Path parameters

- `serverName` string, required
- `version` string, required

## Request body

- ServerDetail — unresolved $ref

## Response `200`

Successfully updated server version

- ServerResponse — API response format with separated server data and registry metadata
  - `server` ServerDetail, required — unresolved $ref
  - `_meta` object — Registry-managed metadata
    - `io.modelcontextprotocol.registry/official` object — Official MCP registry metadata
      - `status` 'active' | 'deprecated' | 'deleted' — Server lifecycle status
      - `statusMessage` string — Optional message explaining the status (e.g., deprecation reason)
      - `statusChangedAt` string, date-time — Timestamp when the server status was last updated
      - `publishedAt` string, date-time — Timestamp when the server was first published to the registry
      - `updatedAt` string, date-time — Timestamp when the server entry was last updated
      - `isLatest` boolean — Whether this is the latest version of the server

## Other responses

- `401` — Unauthorized - Invalid or missing authentication token
- `403` — Forbidden - Insufficient permissions
- `404` — Server or version not found
- `500` — Internal server error
- `501` — Not Implemented - Registry does not support updates

## Changes

- **2026-04-29** `26eb1b376464` — 1 warning
  - the `packages/items/version` request property's maxLength was set to `255`
- **2026-04-23** `71ff271089a8` — 1 info
  - added the optional property `_meta/io.modelcontextprotocol.registry/official/statusChangedAt` to the response with the `200` status
- **2026-02-27** `d996fbd54ad7` — 1 info
  - added the optional property `_meta/io.modelcontextprotocol.registry/official/statusMessage` to the response with the `200` status
- **2026-02-09** `6d1f357b945d` — 4 warning, 4 info
  - changed the pattern of the request property `packages/items/transport/anyOf[#/components/schemas/SseTransport]/url` from `^https?://[^\s]+$` to `^(https?://[^\s]+|\{[a-zA-Z_][a-zA-Z0-9_]*\}[^\s]*)$`
  - changed the pattern of the request property `packages/items/transport/anyOf[#/components/schemas/StreamableHttpTransport]/url` from `^https?://[^\s]+$` to `^(https?://[^\s]+|\{[a-zA-Z_][a-zA-Z0-9_]*\}[^\s]*)$`
  - changed the pattern of the request property `remotes/items/allOf[subschema #1]/anyOf[#/components/schemas/SseTransport]/url` from `^https?://[^\s]+$` to `^(https?://[^\s]+|\{[a-zA-Z_][a-zA-Z0-9_]*\}[^\s]*)$`
  - changed the pattern of the request property `remotes/items/allOf[subschema #1]/anyOf[#/components/schemas/StreamableHttpTransport]/url` from `^https?://[^\s]+$` to `^(https?://[^\s]+|\{[a-zA-Z_][a-zA-Z0-9_]*\}[^\s]*)$`
  - …4 more
- **2025-12-12** `30d07d0fee00` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/modelcontextprotocol/apis/mcp-server-registry-api/changes/v0.1/servers/:serverName/versions/:version/put.md)

---

[API](https://skmtc.dev/modelcontextprotocol/apis/mcp-server-registry-api.md) · [All operations](https://skmtc.dev/modelcontextprotocol/apis/mcp-server-registry-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/modelcontextprotocol/mcp-server-registry-api/revisions/3ed9ca429754/schema)
