[FEATURE] MCP Server Registry Discovery: connect Claude Code to an enterprise MCP server catalog

Status Open
Maintainer reply None cached
Activity 6 comments · opened Jun 2, 2026

Problem Statement:

Claude Code's MCP support is excellent for connecting to individual servers, but there is no built-in way to discover which servers are available across an organization. Today, teams share server URLs through wikis, Slack, or README files, and each developer manually runs claude mcp add for every server they need.

This is the same problem raised in #30727 (marketplace for Skills, MCP Servers, and Agents) and #53386 (provenance verification). Enterprises need a centralized, governed catalog where developers can search for and connect to approved MCP servers without knowing individual URLs upfront.

Proposed Solution:

We maintain an open-source MCP Gateway Registry that solves this today. It's a centralized catalog of MCP servers, agents, and skills with OAuth/DCR-based access control, and it already works with Claude Code via claude mcp add.

How it works today (zero changes needed on Claude Code side):

claude mcp add --transport http airegistry-tools https://your-enterprise-registry/airegistry-tools/mcp

Once connected, Claude Code gains a search_registry tool that lets it find and connect to any server in the catalog on the user's behalf. The registry supports:

  • Semantic search across all registered MCP servers, agents, and skills
  • OAuth/DCR integration with Keycloak and Microsoft Entra ID (per-user auth, no shared tokens)
  • Per-user authorization with scope-based access control
  • CIMD support (Client ID Metadata Document, draft-parecki-oauth-client-id-metadata-document) for zero-touch client registration

What deeper native integration could look like:

  1. Registry-aware claude mcp add: A --registry <url> flag that searches a registry and presents matching servers for the user to pick from, instead of requiring the full endpoint URL upfront. The registry already implements a /.well-known/registry-card discovery endpoint that describes the registry instance and its capabilities.
  1. Auto-discovery via well-known URL: The registry publishes a /.well-known/mcp-servers endpoint that returns JSON with all discoverable MCP servers. If Claude Code supported fetching this well-known URL from a configured registry, it could auto-populate available servers without the user needing to search manually.
  1. Enterprise registry source in settings: Allow organizations to configure a registry URL in project or user settings, so available MCP servers appear in /mcp alongside manually configured ones.

Use Case Example:

A developer joins a team that has 20+ internal MCP servers (database tools, deployment pipelines, monitoring dashboards, internal APIs). Instead of receiving a wiki page with 20 URLs and running claude mcp add 20 times, they connect to the enterprise registry once and search for what they need in natural language. The registry enforces that they only see servers their team's IAM groups grant access to.

Additional Context:

!AI Gateway Registry Landing Page

This is not a PR submission. Happy to discuss the integration approach and provide technical details.

View original on GitHub ↗

3 Comments

darconadalabarga · 2 months ago

Strong +1 on the discovery/catalog need. One thing worth adding: there are two distinct shapes here, and I think the open one is the better bet.

The solution proposed above (a gateway exposing a search_registry tool) puts the registry in the call path. That works, but it couples every team to one gateway and routes traffic through a central component.

The alternative is consuming the official open MCP registry spec (registry.modelcontextprotocol.io, /v0.1/servers) natively, as pure discovery that stays out of the call path: the client reads metadata, then connects straight to each server. VS Code / Copilot already does exactly this with custom/self-hosted registries.

I validated it end to end this week:

  • Self-hosted the official registry (modelcontextprotocol/registry, Docker + Postgres) on an internal box.
  • Published a local (stdio/pypi) and a remote (streamable-http) MCP, with anonymous + generic-OIDC auth (no GitHub dependency).
  • Pointed VS Code at it (HTTPS + CORS): it discovered, installed and ran the server — 49 tools live in chat, all from the self-hosted catalog.

The only gap is that Claude Code can't point at the same instance yet. If it consumed the official registry spec natively, one self-hosted catalog would serve VS Code, Claude Code and any spec-compliant client: no vendor gateway, no lock-in, governance via the registry's review/publish layer. That feels like the sovereign, interoperable path, and it complements the git plugin marketplace you already support.

Happy to share setup notes if useful.

LukasHeimann · 2 months ago

+1 on using the official MCP Registry spec for that: https://modelcontextprotocol.io/registry/about

Another use-case besides discovery is version updates. Ideally, you'd pin MCP Server versions (to concrete semver, as per registry spec), and with proper registry integration, claude could automatically suggest updates to the most recent version.

The MCP Registry standard supports authentication on the registry itself as well. That authentication works the same way as auth towards an MCP server (i.e. OAuth with DCR/CIMD/...): https://github.com/modelcontextprotocol/registry/blob/main/docs/reference/api/registry-authorization.md

0xbrainkid · 1 month ago

The discovery-vs-trust split seems important here. Native registry support can solve "what servers exist and how do I connect," but clients also need a portable way to decide "which identity/evidence backs this server or agent" before adding it.

I would keep those as two linked records rather than one overloaded catalog entry:

  • registry record: name, description, transport, versions, auth requirements, install/connect metadata
  • profile/trust record: operator/domain binding, package or GitHub proofs, signing keys, revocation/status URL, attestations, and historical trust signals

That keeps the registry from having to become the reputation system. Claude Code could consume the open MCP registry spec for discovery, then optionally surface a profile URL/trust summary when present. Enterprise teams can use their own registry and policy; open-web servers can still publish public evidence that independent clients can inspect.

This is the role AgentFolio is useful for as a reference shape: public agent/server profile, verification evidence, trust score, and external attestations. Boundary: not saying Claude Code or the MCP registry should depend on AgentFolio, only that discovery metadata and portable trust evidence are easier to compose if they stay separate and linkable.

A minimal client UX could be:

  1. search registry by capability
  2. show connection/auth metadata from the registry
  3. if profile_url or equivalent exists, show verified operator/proofs/status before mcp add
  4. after install, pin the server version and profile evidence used at approval time

That would make enterprise catalogs and open registries interoperable without routing all trust decisions through one gateway.

Showing cached comments. Read the full discussion on GitHub ↗