What Is the Difference Between Production, Staging, and Local in the Official MCP Registry?
Updated
The Official MCP Registry lets you point its interface at three different API environments: Production, Staging, and Local. The difference is which server the registry talks to. Production (registry.modelcontextprotocol.io) is the live registry you use for real lookups. Staging (staging.registry.modelcontextprotocol.io) is a pre-release environment for testing. Local (localhost:8080) targets a registry instance running on your own machine, for development. You pick one in the environment selector and confirm with Apply; the choice only changes which endpoint the page queries, not what the registry is.
The three environments at a glance
| Environment | API base URL | What it is for |
|---|---|---|
| Production | registry.modelcontextprotocol.io |
Live registry data; normal browsing and real queries |
| Staging | staging.registry.modelcontextprotocol.io |
Pre-release testing and validation before changes reach Production |
| Local | localhost:8080 |
A registry server running on your own machine, for development |
A Custom option also appears alongside these, letting you enter a different base URL rather than choosing one of the three presets.
How to switch environments
- Open the environment selector in the registry interface.
- Choose Production, Staging, or Local (or Custom and enter a base URL).
- Select Apply to confirm.
The expected result is that subsequent requests — such as loading the server list — go to the endpoint you selected. If nothing changes after selecting an option, the usual cause is not applying it; the selection is only committed on Apply.
Which one should you use?
- Use Production when you want the real, current registry contents — for example, browsing recently updated servers or pulling data you intend to rely on.
- Use Staging when you are testing a change or checking behavior against a pre-release endpoint, and you do not want to depend on or disturb live data.
- Use Local when you are developing against your own registry instance on port 8080, so your work is isolated from the hosted environments.
Practical notes
- Switching environments changes the data source, so the same query can return different results in Production versus Staging.
- Local only works if something is actually serving a registry on
localhost:8080; otherwise requests will fail. - The registry also exposes a GitHub link and Docs / API Reference links for further detail on the API itself.