Publish to MCP Community Registry
One-click publishing to the official MCP Community Registry.
You've built your server. You've deployed it. Now let people find it.
The MCP Community Registry is the official directory where developers and AI tools discover MCP servers. Publishing your server there puts it in front of every developer browsing for tools to connect to their AI workflows.
One click from your dashboard. No configuration files, no API submissions, no manual GitHub OIDC setup. mctx handles all of it.
What publishing gets you
When your server is on the registry, it becomes discoverable in two ways:
- Direct browsing at registry.modelcontextprotocol.io
- Search in MCP-aware clients like Claude Code, Cursor, and others
Your server appears under the namespace io.github.{owner}/{slug}. For example, if your GitHub username is alice and your server slug is weather-api, developers find it at io.github.alice/weather-api.
When to publish
You control the timing. Your server works in production before anyone outside your circle knows about it. Here is a good sequence:
- Deploy your server and confirm it runs correctly
- Test with a few trusted users to catch anything you missed
- Polish your description in
package.jsonso the listing looks great - Hit publish when you are ready for the world to see it
This separation between deploying and publishing means you can test in production without going public. Time your launch, coordinate announcements, and publish when everything feels right.
Publish your server
Prerequisites: Your server must be deployed, your payouts must be set up, and your support email must be verified.
- Open your server dashboard and select your server
- Find the Publish card
- Click Publish to Registry
Your server is queued for the next scheduled publishing run. The registry listing goes live on the next daily run — no further action needed.
Publishing org-owned servers
If your repository belongs to a GitHub organization rather than your personal account, there is one extra requirement before publishing succeeds.
The MCP Community Registry uses GitHub OIDC to verify that you own the repository you are publishing. For org-owned repos, this check includes verifying that you are a member of that organization. If your membership is set to private, the registry cannot confirm it, and publishing will fail with a 403 error.
To make your org membership public:
- Go to the organization's page on GitHub (for example,
github.com/your-org) - Click the People tab
- Find your name in the member list
- Click the Private badge next to your name and change it to Public
GitHub's official instructions: Publicizing or hiding organization membership
This only changes whether your membership in the org is visible on your public GitHub profile. It does not affect the org's visibility, the repository's visibility, or any other settings.
Once your membership is public, try publishing again.
Track your publishing status
The Publish card on your server's detail page shows where things stand:
| Status | What it means |
|---|---|
| Not Discovered | Ready to publish whenever you are |
| Discovered | Live on the registry and discoverable |
| Pending | Queued for the next scheduled publishing run |
| Failed | Something went wrong (see troubleshooting below) |
Pause publishing
You can stop new versions from being published to the registry at any time by toggling off the publish setting on the Publish card.
What toggling off does:
- Stops future deploys from auto-publishing to the registry
- Leaves your existing registry listing intact — it stays discoverable
Your current listing keeps working for anyone who finds it through the registry. To resume publishing, toggle it back on and click Publish to Registry.
Common reasons to pause:
- Preparing a major update that changes how the server works
- Winding down the server (give subscribers a heads-up first)
- Temporarily holding off on registry updates while you iterate
If publishing fails
This is rare, but it happens. Here are the most common causes.
403 error (org-owned repos)
If your repository belongs to a GitHub organization and your org membership is set to private, the registry cannot verify your ownership and rejects the publish request with a 403. See Publishing org-owned servers above for how to fix this.
Other failures
- Make sure your
package.jsonhas validnameanddescriptionfields - Wait a few minutes. The system retries automatically.
- If the status is still showing as failed after 10 minutes, let us know
Your server keeps working normally even when registry publishing fails. Only the public listing is affected.
Coordinate your launch
Publishing to the registry is usually the centerpiece of a launch. To get the most out of it, consider doing these on the same day:
- Post on social media (Twitter/X, Discord, Reddit)
- Submit to directories like awesome-mcp-servers and MCP.so
- Publish a blog post or demo video showing your server in action
- Share your vanity link everywhere
A coordinated push creates momentum. Scattered announcements over a week get lost in the noise.
After you publish
The listing is live. Now keep the momentum going:
- Watch your dashboard at app.mctx.ai/dev/servers for subscriber growth
- Respond to feedback from GitHub issues, social mentions, and support emails
- Ship improvements with new versions to keep subscribers engaged
- Keep promoting by sharing use cases, examples, and updates
Publishing is the starting line, not the finish line. The servers that grow are the ones that keep shipping and keep sharing.
Next Steps
- Your Vanity Link -- Your server's shareable home on the web
- Directories and Social -- Expand your reach beyond the registry
- Versioning -- Ship updates without breaking existing subscribers
See something wrong? Report it or suggest an improvement — your feedback helps make these docs better.