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.

Registry is Live! 🎉
The official MCP Registry launched in preview on September 8, 2025. Check out the announcement blog post for details.

Quick Access

Discover and search MCP servers in the official Registry Publish your MCP server to the Registry View the complete REST API specification Use command-line tools to manage server publishing

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 pagination
  • GET /v0/servers/{id} - Get server details by UUID
  • POST /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:

  1. 🎯 Single Source of Truth: Authoritative metadata repository for publicly-available MCP servers
  2. ⚖️ Vendor Neutrality: No preferential treatment for specific servers or organizations
  3. 🔒 Industry Security Standards: Leverage existing package registries for security
  4. 🔧 Reusability: API shapes designed for reuse, supporting private/internal registries
  5. 📈 Progressive Enhancement: Start with MVP, build foundation for future features

Community and Contributing

Collaboration Channels

Key Maintainers

Next Steps

Learn how to publish your MCP server to the Registry Learn how to use the Registry API in your applications Master the Registry command-line tools Set up automated publishing workflows Find answers to common questions View the complete REST API specification

Quick Navigation

Preview Notice
The current Registry is in preview and may experience breaking changes or data resets. A general availability release will follow later.