Registry API reference
ToolHive Registry API (0.1)
Download OpenAPI specification:Download
API for accessing MCP server registry data and deployed server information This API provides endpoints to query the MCP (Model Context Protocol) server registry, get information about available servers, and check the status of deployed servers.
Authentication is required by default. Use Bearer token authentication with a valid OAuth/OIDC access token. The /.well-known/oauth-protected-resource endpoint provides OAuth discovery metadata (RFC 9728).
Get registry
Get a registry by name
Authorizations:
path Parameters
| registryName required | string Registry Name |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
- 404
- 500
- 501
{- "createdAt": "string",
- "name": "string",
- "syncStatus": {
- "attemptCount": 0,
- "lastAttempt": "string",
- "lastSyncTime": "string",
- "message": "string",
- "phase": "string",
- "serverCount": 0
}, - "type": "string",
- "updatedAt": "string"
}List registries
List all registries
Authorizations:
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 401
- 500
{- "registries": [
- {
- "createdAt": "string",
- "name": "string",
- "syncStatus": {
- "attemptCount": 0,
- "lastAttempt": "string",
- "lastSyncTime": "string",
- "message": "string",
- "phase": "string",
- "serverCount": 0
}, - "type": "string",
- "updatedAt": "string"
}
]
}Delete server version from specific registry
Delete a server version from a specific managed registry
Authorizations:
path Parameters
| registryName required | string Registry name |
| serverName required | string Server name (URL-encoded) |
| version required | string Version (URL-encoded) |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 400
- 401
- 403
- 404
- 500
{- "property1": "string",
- "property2": "string"
}Get specific MCP server version in specific registry
Returns detailed information about a specific version of an MCP server from a specific registry.
Use the special version latest to get the latest version.
Authorizations:
path Parameters
| registryName required | string Registry name |
| serverName required | string URL-encoded server name (e.g., \ |
| version required | string URL-encoded version to retrieve (e.g., \ |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
- 404
{- "_meta": {
- "io.modelcontextprotocol.registry/official": {
- "isLatest": true,
- "publishedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}, - "server": {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
}List all versions of an MCP server in specific registry
Returns all available versions for a specific MCP server from a specific registry
Authorizations:
path Parameters
| registryName required | string Registry name |
| serverName required | string URL-encoded server name (e.g., \ |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
- 404
{- "metadata": {
- "count": 0,
- "nextCursor": "string"
}, - "servers": [
- {
- "_meta": {
- "io.modelcontextprotocol.registry/official": {
- "isLatest": true,
- "publishedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}, - "server": {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": null,
- "property2": null
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
}
]
}List servers in specific registry
Get a list of available servers from a specific registry
Authorizations:
path Parameters
| registryName required | string Registry name |
query Parameters
| cursor | string Pagination cursor for retrieving next set of results |
| limit | integer Maximum number of items to return |
| search | string Search servers by name (substring match) |
| version | string Filter by version ('latest' for latest version, or an exact version like '1.2.3') |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
{- "metadata": {
- "count": 0,
- "nextCursor": "string"
}, - "servers": [
- {
- "_meta": {
- "io.modelcontextprotocol.registry/official": {
- "isLatest": true,
- "publishedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}, - "server": {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": null,
- "property2": null
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
}
]
}Publish server to specific registry
Publish a server version to a specific managed registry
Authorizations:
path Parameters
| registryName required | string Registry name |
Request Body schema: application/jsonrequired
Server data
| $schema | string <uri> non-empty |
object (v0.ServerMeta) | |
| description | string [ 1 .. 100 ] characters |
Array of objects (model.Icon) | |
| name | string [ 3 .. 200 ] characters ^[a-zA-Z0-9.-]+/[a-zA-Z0-9._-]+$ |
Array of objects (model.Package) | |
Array of objects (model.Transport) | |
object (model.Repository) | |
| title | string [ 1 .. 100 ] characters |
| version | string |
| websiteUrl | string <uri> |
Responses
Request samples
- Payload
{- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}Response samples
- 201
- 400
- 401
- 403
- 404
- 409
- 500
{- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}Get specific MCP server version (aggregated)
Returns detailed information about a specific version of an MCP server from all registries.
Use the special version latest to get the latest version.
Authorizations:
path Parameters
| serverName required | string URL-encoded server name (e.g., \ |
| version required | string URL-encoded version to retrieve (e.g., \ |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
- 404
{- "_meta": {
- "io.modelcontextprotocol.registry/official": {
- "isLatest": true,
- "publishedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}, - "server": {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}, - "property2": {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "placeholder": "string",
- "value": "string"
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
}List all versions of an MCP server (aggregated)
Returns all available versions for a specific MCP server from all registries (aggregated view)
Authorizations:
path Parameters
| serverName required | string URL-encoded server name (e.g., \ |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
- 404
{- "metadata": {
- "count": 0,
- "nextCursor": "string"
}, - "servers": [
- {
- "_meta": {
- "io.modelcontextprotocol.registry/official": {
- "isLatest": true,
- "publishedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}, - "server": {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": null,
- "property2": null
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
}
]
}List servers (aggregated)
Get a list of available servers from all registries (aggregated view)
Authorizations:
query Parameters
| cursor | string Pagination cursor for retrieving next set of results |
| limit | integer Maximum number of items to return |
| search | string Search servers by name (substring match) |
| version | string Filter by version ('latest' for latest version, or an exact version like '1.2.3') |
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 200
- 400
- 401
{- "metadata": {
- "count": 0,
- "nextCursor": "string"
}, - "servers": [
- {
- "_meta": {
- "io.modelcontextprotocol.registry/official": {
- "isLatest": true,
- "publishedAt": "2019-08-24T14:15:22Z",
- "status": "string",
- "updatedAt": "2019-08-24T14:15:22Z"
}
}, - "server": {
- "_meta": {
- "io.modelcontextprotocol.registry/publisher-provided": {
- "property1": null,
- "property2": null
}
}, - "description": "MCP server providing weather data and forecasts via OpenWeatherMap API",
- "icons": [
- {
- "mimeType": "image/png",
- "sizes": [
- "string"
], - "theme": "string"
}
], - "name": "io.github.user/weather",
- "packages": [
- {
- "environmentVariables": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "fileSha256": "fe333e598595000ae021bd27117db32ec69af6987f507ba7a63c90638ff633ce",
- "identifier": "@modelcontextprotocol/server-brave-search",
- "packageArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "registryType": "npm",
- "runtimeArguments": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRepeated": true,
- "isRequired": true,
- "isSecret": true,
- "name": "--port",
- "placeholder": "string",
- "type": "positional",
- "value": "string",
- "valueHint": "file_path",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "runtimeHint": "npx",
- "transport": {
- "headers": [
- {
- "choices": [
- null
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": null,
- "property2": null
}
}
], - "type": "stdio",
}, - "version": "1.0.2"
}
], - "remotes": [
- {
- "headers": [
- {
- "choices": [
- "string"
], - "default": "string",
- "description": "string",
- "format": "string",
- "isRequired": true,
- "isSecret": true,
- "name": "SOME_VARIABLE",
- "placeholder": "string",
- "value": "string",
- "variables": {
- "property1": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}, - "property2": {
- "choices": [ ],
- "default": null,
- "description": null,
- "format": null,
- "isRequired": null,
- "isSecret": null,
- "placeholder": null,
- "value": null
}
}
}
], - "type": "stdio",
}
], - "repository": {
- "id": "b94b5f7e-c7c6-d760-2c78-a5e9b8a5b8c9",
- "source": "github",
- "subfolder": "src/everything",
}, - "title": "Weather API",
- "version": "1.0.2",
}
}
]
}Publish server (not supported)
Publish a server to the registry. This server does not support publishing via this endpoint. Use the registry-specific endpoint /{registryName}/v0.1/publish instead.
Authorizations:
Request Body schema: application/json
Responses
Request samples
- Payload
{ }Response samples
- 401
- 501
{- "property1": "string",
- "property2": "string"
}