Modelcontextprotocol MCP logo

Modelcontextprotocol MCP

Publishes and catalogs MCP servers through an HTTP registry API, with a CLI for submitting server entries.

Install Modelcontextprotocol MCP

Pick your client, then add it in one click or paste the config.

No confirmed install command yet

We only publish a config when the install details come from the project itself — its README, its docs, or a verified owner. We haven’t found those for Modelcontextprotocol MCP, and we’d rather show nothing than a guess you’d paste into your client.

Open setup steps on GitHub

Overview

Modelcontextprotocol MCP provides the official MCP Registry, where MCP clients can discover published MCP servers. Its Go-based registry API stores server data in PostgreSQL and supports publishing workflows through the companion mcp-publisher CLI. Developers can run the registry locally with Docker for testing or use the hosted API to build registry-aware clients and tools. Reach for it when you need a centralized catalog or want to publish an MCP server under a verified namespace.

Use cases

  • Discover MCP servers from a centralized catalog
  • Publish server metadata with the mcp-publisher CLI
  • Run a local registry for API and integration testing
  • Validate namespace ownership during publication

Key features

  • MCP server discovery catalog
  • HTTP registry API
  • mcp-publisher command-line tool
  • PostgreSQL persistence
  • Namespace ownership verification
  • Docker Compose development environment

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked Today

Recent health check succeeded.

46/46 checks healthy over the last 91d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars7.5kStargazers on the source repository.
Last commitTodayMost recent push to the default branch.

How Modelcontextprotocol MCP works

What Modelcontextprotocol MCP does

Modelcontextprotocol MCP operates the official MCP Registry, a catalog that lets MCP clients find available MCP servers. The repository contains both the registry API and the mcp-publisher command-line application used to submit server metadata from a server's own project.

The registry is intended to provide a shared discovery layer rather than a pull-request-based directory. Adding files to this repository does not publish a server. Publishers use the CLI and the registry's publishing workflow instead.

The project also exposes live API documentation and versioned public API types. Its implementation includes HTTP handlers, validation, authentication, PostgreSQL persistence, seed-data import, and telemetry components.

How it works

A registry deployment runs as a Go service backed by PostgreSQL. The local development environment is started with Docker Compose and is available at localhost:8080. Development startup normally seeds the database from a filtered subset of the production API, allowing local behavior and validation to resemble the deployed registry while keeping startup data smaller.

For offline development, seed data can come from a local file by setting MCP_REGISTRY_SEED_FROM and disabling registry validation with MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false. The development database uses ephemeral storage, so its contents are reset when the containers restart.

Publishing includes namespace ownership checks. Supported verification paths include GitHub OAuth, GitHub OIDC for GitHub Actions, DNS ownership checks, and HTTP ownership checks. For example, GitHub namespaces are associated with the relevant GitHub account or workflow, while domain-based namespaces require control of the corresponding domain.

The registry API reached an API freeze for v0.1 on October 24, 2025. The project had previously launched as a preview, so integrations should account for the documented API lifecycle and deployment state.

Setup and configuration

Local development requires Docker, Go, ko, and golangci-lint. Run make dev-compose to build the registry image with ko, start the registry and PostgreSQL, and expose the service on port 8080.

A pre-built image is available from GitHub Container Registry. The image does not include PostgreSQL, so a separate database must be provided through MCP_REGISTRY_DATABASE_URL.

To build the publishing CLI, run make publisher, then use ./bin/mcp-publisher --help. Use make check to run linting, schema validation, and tests; this command also stops an active development environment. make help lists additional Make targets.

Configuration values are illustrated in docker-compose.yml and .env.example. The registry can be seeded from a local JSON file for offline work, or from the production API for a filtered development dataset.

Tools and capabilities

  • Registry HTTP API for publishing and discovering MCP server entries.
  • mcp-publisher CLI for submitting a server from its own project.
  • PostgreSQL-backed persistence for registry data.
  • Namespace validation using GitHub, DNS, and HTTP ownership mechanisms.
  • Seed-data import for production-derived or local development datasets.
  • Local containerized development through Docker Compose.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Modelcontextprotocol MCP

Modelcontextprotocol MCP is an MCP server that connects MCP clients with the official MCP Registry, exposing registry access for discovering and publishing MCP server entries and the mcp-publisher CLI for submitting servers from their own projects. It runs as a Go service with PostgreSQL in the development environment and provides an HTTP API for registry operations.

Run it locally with Docker using `make dev-compose`. The development setup requires Docker, Go, ko, and golangci-lint, and starts the registry with PostgreSQL at `localhost:8080`. A pre-built container image is also available, but it requires a separately managed PostgreSQL database.

Use the `mcp-publisher` CLI from the MCP server's own project rather than opening a pull request against the registry repository. Build it with `make publisher`, then run `./bin/mcp-publisher --help` for its commands. Publication includes namespace ownership verification.

Set `MCP_REGISTRY_SEED_FROM` to a local seed file and set `MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false` before running `make dev-compose`. This starts the local registry with file-based seed data instead of importing its default filtered dataset from the production API.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewModelcontextprotocol MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-registry-server?style=directory)](https://allmcps.com/mcp/mcp-registry-server)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-registry-server"><img src="https://allmcps.com/api/badge/mcp-registry-server?style=directory" alt="Modelcontextprotocol MCP on AllMCPs" /></a>