An MCP registry is a catalog of Model Context Protocol
(MCP) servers and the tools they expose. Each server is described by a manifest (server.json) that says
what it is, which version it is, and how to run or reach it. MCP clients, and the people configuring them, query the
registry to find servers instead of collecting install instructions by hand.
MCP gives an LLM application a standard way to call external tools. As the number of MCP servers grows, two problems appear. Discovery: a client has to learn which servers exist and how to install or connect to them. Change control: a tool's input schema is a contract, and a renamed or removed parameter breaks every prompt and agent that calls it. A registry addresses both by keeping server and tool definitions in one versioned, searchable place.
These are related but separate features, and it helps to keep them apart:
| Feature | What it does | Status |
|---|---|---|
| MCP tool definitions | Stores MCP tool definitions as MCP_TOOL artifacts, validates them against the MCP specification,
detects breaking changes in tool input schemas, and serves them at /.well-known/mcp-tools. |
Experimental |
| MCP Registry API | Implements the upstream MCP Registry API (v0.1) under /apis/mcp-registry/v0.1, storing each
server.json manifest as an MCP_SERVER artifact. |
Developer Preview in 3.4 |
| Apicurio Registry MCP server | Exposes Apicurio Registry itself to LLM clients such as Claude Desktop, with tools to search, read and create groups, artifacts and versions. | Available |
With the MCP Registry API enabled, a server is published with POST /apis/mcp-registry/v0.1/publish and
listed with GET /apis/mcp-registry/v0.1/servers. A reverse-DNS server name such as
io.github.example/weather maps to group io.github.example and artifact weather,
so MCP servers are governed with the same versioning and access control as the rest of your artifacts.
curl "http://localhost:8080/apis/mcp-registry/v0.1/servers?version=latest&search=weather"
apicurio.features.experimental.enabled=true, plus apicurio.mcp-tools.enabled=true or
apicurio.mcp-registry.enabled=true respectively.