MCP Registry
The MCP registry provides MCP clients with a list of MCP servers, like an app store for MCP servers. It serves as the authoritative repository for publicly-available MCP servers.
The official MCP Registry launched in preview on September 8, 2025. Check out the announcement blog post for details.
Quick Access
Registry Ecosystem
The MCP Registry project contains two core parts:
🟦 MCP Registry Spec
An API specification that allows anyone to implement a registry.
🟥 Official MCP Registry
A hosted registry at registry.modelcontextprotocol.io
following the MCP registry spec.
Features:
- 📋 Authoritative Repository: Single source of truth for publicly-available MCP servers
- 🏛️ Community Owned: Owned by the MCP open-source community, backed by trusted contributors like Anthropic, GitHub, PulseMCP, Microsoft
- 🔍 Unified Discovery: Server creators publish once, all consumers reference the same canonical data
How the Registry Works
Metaregistry Concept
MCP registries are metaregistries. They host metadata about packages, but not the package code or binaries.
graph TD A[MCP Registry] -->|Metadata| B[NPM Registry] A -->|Metadata| C[PyPI Registry] A -->|Metadata| D[Docker Hub] A -->|Metadata| E[GitHub Releases] B -->|Actual Code| F[MCP Client] C -->|Actual Code| F D -->|Actual Images| F E -->|Actual Files| F
Example:
- MCP Registry: “weather-server v1.2.0 is at npm:weather-mcp”
- NPM Registry: [actual weather-mcp package code]
Server Representation Format
Each server entry uses the standardized server.json
format containing:
- 🆔 Identity: Unique name (
io.github.user/server-name
) - 📦 Packages: Where to download it (
npm
,pypi
,docker
, etc.) - ⚙️ Runtime: How to execute it (args, env vars)
- 📝 Metadata: Description, capabilities, version
Deployment Methods
📦 Package Deployment
Published to registries (npm, PyPI, NuGet, Docker Hub, etc.) and run locally by clients.
Supported Registries:
- NPM: JavaScript/TypeScript servers
- PyPI: Python servers
- NuGet: .NET servers
- Docker Hub/GHCR: Containerized servers
- MCPB: MCP Bundle format
- GitHub/GitLab Releases: Direct file downloads
🌐 Remote Deployment
Hosted as a web service that clients connect to directly.
Supported Transport Protocols:
- SSE (Server-Sent Events): Server push events
- Streamable HTTP: Streaming HTTP connections
🔄 Hybrid Deployment
Offer both package and remote options for maximum flexibility.
Authentication and Namespaces
The Registry validates ownership based on namespaces:
GitHub Namespaces (io.github.username/*
)
- Verification: GitHub OAuth or GitHub Actions OIDC
- Best for: Open source projects, individual developers
- Example:
io.github.modelcontextprotocol/filesystem
Domain Namespaces (com.yourcompany/*
)
- Verification: DNS or HTTP domain verification
- Best for: Companies, organizations
- Example:
com.anthropic/claude-tools
Registry Architecture
graph TB subgraph "Ecosystem" OR[Official Registry] SR1[Subregistry A] SR2[Subregistry B] SR3[Enterprise Registry] end subgraph "Clients" MC1[MCP Client 1] MC2[MCP Client 2] APP[Third-party App] end subgraph "Publishers" PUB1[Developer A] PUB2[Company B] PUB3[Open Source Project] end OR -.ETL.-> SR1 OR -.ETL.-> SR2 SR1 --> MC1 SR2 --> MC2 SR3 --> APP PUB1 --> OR PUB2 --> OR PUB3 --> OR
Subregistries
Subregistries add value to the registry ecosystem by providing:
- 🎯 Curation: Filter servers for specific communities or use cases
- ⭐ Ratings: Add user ratings and download statistics
- 🔒 Security: Implement security scanning and vulnerability checks
- 🏢 Enterprise: Provide internal server registries for enterprise users
Registry API Quick Reference
Core Endpoints
GET /v0/servers
- List all servers with paginationGET /v0/servers/{id}
- Get server details by UUIDPOST /v0/publish
- Publish new server (requires authentication)
Basic Examples
# List first 10 servers
curl "https://registry.modelcontextprotocol.io/v0/servers?limit=10"
# Search for specific servers
curl "https://registry.modelcontextprotocol.io/v0/servers?search=filesystem"
# Get specific server details
curl "https://registry.modelcontextprotocol.io/v0/servers/{server-id}"
Design Principles
The MCP Registry follows these core design principles:
- 🎯 Single Source of Truth: Authoritative metadata repository for publicly-available MCP servers
- ⚖️ Vendor Neutrality: No preferential treatment for specific servers or organizations
- 🔒 Industry Security Standards: Leverage existing package registries for security
- 🔧 Reusability: API shapes designed for reuse, supporting private/internal registries
- 📈 Progressive Enhancement: Start with MVP, build foundation for future features
Community and Contributing
Collaboration Channels
- Discord - Real-time community discussions
- GitHub Discussions - Product/technical requirements discussion
- GitHub Issues - Technical work tracking
- Pull Requests - Code contributions
Key Maintainers
- Adam Jones (Anthropic) @domdomegg
- Tadas Antanavicius (PulseMCP) @tadasant
- Toby Padilla (GitHub) @toby
Next Steps
Quick Navigation
- Getting Started: Publishing Guide → CLI Tools
- Developers: Consuming Data → GitHub Actions
- Support: FAQ → API Documentation
- Community: GitHub Discussions → Technical Support
The current Registry is in preview and may experience breaking changes or data resets. A general availability release will follow later.