How to submit an MCP server to Official MCP Registry
Publish a server.json with the mcp-publisher tool. It goes live at once, with no human review.
The source of truth. Glama and PulseMCP copy from it.
- How
- Direct publish
- Fits
- Local and remote servers
- By hand
- ~30 min
- Speed
- Live as soon as publish works. No human review.
The steps, by hand
- 1
Pick a name in the form io.github.<your-github-name>/<server>.
- 2
Add proof that you own the package. npm needs "mcpName" in package.json. PyPI needs a line "mcp-name: <name>" in the README. Docker needs a label. A remote-only server needs no proof.
- 3
Publish that package version first. The proof must be inside the published file.
- 4
Write a server.json with the name, a description of 100 characters or fewer, a version, and your package or remote URL.
- 5
Install the mcp-publisher tool and run "mcp-publisher login github".
- 6
Run "mcp-publisher publish". Every change needs a new version number.
What you need
- A GitHub account (the name becomes io.github.<you>)
- A published npm, PyPI, NuGet, Cargo or Docker package, or a public HTTPS remote URL
- Proof of ownership inside the package (mcpName, mcp-name or a label)
- A description of 100 characters or fewer
- A new version number for every change
// or skip all of that
Or let ManyCP do it in one click
ManyCP builds the server.json, checks it with the registry, and publishes with your GitHub sign-in. If your package is missing the mcpName proof, it opens a pull request on your own repo to add it.