Skip to content

Support for Custom MCP Registry URL via Environment Variable - #949

Closed
karthicksndr wants to merge 4 commits into
modelcontextprotocol:mainfrom
karthicksndr:feature/custom-mcp-registry-url-as-parameter
Closed

Support for Custom MCP Registry URL via Environment Variable#949
karthicksndr wants to merge 4 commits into
modelcontextprotocol:mainfrom
karthicksndr:feature/custom-mcp-registry-url-as-parameter

Conversation

@karthicksndr

Copy link
Copy Markdown

Introduces an environment variable MCP_REGISTRY_CUSTOM_MCP_REGISTRY_URL to allow the registry UI to load from a custom source instead of the hardcoded default.

Motivation and Context

Currently, the MCP Registry UI is hardcoded to https://registry.modelcontextprotocol.io/. This poses a challenge for:

  1. Air-gapped environments where the official URL is unreachable.
  2. Enterprise deployments that require hosting a private/mirrored registry.
  3. Local development where developers need to test UI changes against a local registry instance.

How Has This Been Tested?

  • Local docker run with the ENV var
Screen Shot 2026-02-10 at 10 59 40 AM

Breaking Changes

None.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

#948

…CUSTOM_MCP_REGISTRY_URL

When this parameter is specified, the default registry.modelcontextprotocol.io is ignored and the custom registry url is set for custom mcp registries
@karthicksndr karthicksndr changed the title Support for Custom MCP Registry URL via Environment Variable #948 Support for Custom MCP Registry URL via Environment Variable Feb 10, 2026
@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@chorghemaruti64-creator

This comment was marked as spam.

@rdimitrov

Copy link
Copy Markdown
Member

Hey @karthicksndr, really appreciate you putting this together 🙏

After looking it over I don’t think this is quite the right fit. The reasoning is the embedded UI is mostly meant as a dev/debug tool and the main UI lives at registry.modelcontextprotocol.io. For private or curated setups (Smithery, PulseMCP, etc.) the idea is that folks build their own frontends on top of the API rather than tweak the bundled one (definitely out of scope)

The good news is your use cases are pretty much already covered:

  • Self-hosted/air-gapped: just switch the debug dropdown to local mode - it uses relative URLs so it works with whatever origin served the UI (no extra config needed)
  • Custom UI: the recommended approach is to build your own frontend against the API

I’m going to close this for now but thanks again for the contribution. If you are interested in a custom FE, probably worth checking if there's something that would work for you here - https://github.com/modelcontextprotocol/registry/blob/main/docs/community-projects.md (or if you build one, let's add it there 😃)

@rdimitrov rdimitrov closed this Apr 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants