|
2 | 2 |
|
3 | 3 | The MCP Registry project is a **metaregistry**, meaning that it hosts metadata for MCP servers but does not host the code for the servers directly. |
4 | 4 |
|
5 | | -For local MCP servers, the MCP Registry has pointers in the `packages` node of the [`server.json`](../../reference/server-json/generic-server-json.md) schema that refer to packages in supported package managers. |
| 5 | +For local MCP servers, the MCP Registry has pointers in the `packages` node of the [`server.json`](../reference/server-json/generic-server-json.md) schema that refer to packages in supported package managers. |
6 | 6 |
|
7 | | -The list of supported package managers for hosting MCP servers is defined by the `properties.packages[N].properties.registryType` string enum in the [`server.json` schema](../../reference/server-json/draft/server.schema.json). For example, this could be "npm" (for npmjs.com packages) or "pypi" (for PyPI packages). |
| 7 | +The list of supported package managers for hosting MCP servers is defined by the `properties.packages[N].properties.registryType` string enum in the [`server.json` schema](../reference/server-json/draft/server.schema.json). For example, this could be "npm" (for npmjs.com packages) or "pypi" (for PyPI packages). |
8 | 8 |
|
9 | 9 | For remote MCP servers, the package registry is not relevant. The MCP client consumes the server via a URL instead of by downloading and running a package. In other words, this document only applies to local MCP servers. |
10 | 10 |
|
@@ -33,15 +33,15 @@ These steps may evolve as additional validations or details are discovered and m |
33 | 33 | 1. [Create a feature request issue](https://github.com/modelcontextprotocol/registry/issues/new?template=feature_request.md) on the MCP Registry repository to begin the discussion about adding the package registry. |
34 | 34 | - Example for NuGet: https://github.com/modelcontextprotocol/registry/issues/126 |
35 | 35 | 1. Open a PR with the following changes: |
36 | | - - Update the [`server.json` schema](../../reference/server-json/draft/server.schema.json) |
| 36 | + - Update the [`server.json` schema](../reference/server-json/draft/server.schema.json) |
37 | 37 | - Add your package registry name to the `registryType` example array. |
38 | 38 | - Add your package registry base url to the `registryBaseUrl` example array. |
39 | 39 | - Add the single-shot CLI command name to the `runtimeHint` example value array. |
40 | | - - Update the [`openapi.yaml`](../../reference/api/openapi.yaml) |
| 40 | + - Update the [`openapi.yaml`](../reference/api/openapi.yaml) |
41 | 41 | - Add your package registry name to the `registryType` enum value array. |
42 | 42 | - Add your package registry base url to the `registryBaseUrl` enum value array. |
43 | 43 | - Add the single-shot CLI command name to the `runtimeHint` example value array. |
44 | | - - Add a sample, minimal `server.json` to the [`server.json` examples](../../reference/server-json/generic-server-json.md). |
| 44 | + - Add a sample, minimal `server.json` to the [`server.json` examples](../reference/server-json/generic-server-json.md). |
45 | 45 | - Implement a registry validator: |
46 | 46 | - Create a new validator file: `internal/validators/registries/yourregistry.go`, following the pattern of existing validators. Examples: |
47 | 47 | - **npm**: Checks for an `mcpName` field in `package.json` that matches the server name |
|
0 commit comments