What is an MCP registry?

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.

Why MCP needs a registry

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.

Three ways Apicurio Registry works with MCP

These are related but separate features, and it helps to keep them apart:

FeatureWhat it doesStatus
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

Publishing and listing MCP servers

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"
MCP tool definitions and the MCP Registry API are experimental and disabled by default. Both need apicurio.features.experimental.enabled=true, plus apicurio.mcp-tools.enabled=true or apicurio.mcp-registry.enabled=true respectively.

Learn more