You built an MCP server. Now people need to find it, and so do the AI clients they use. Discovery for MCP happens in four places:
- The official MCP Registry. It is the source that downstream directories, including canmyaiuse, pull from.
- Claude's Connectors Directory.
- ChatGPT's plugin directory.
- Search and comparison pages like this site, where people check whether a server works before they connect it.
This guide covers each one in order, with the exact files and checks they ask for. Steps 1–9 are free. Paid options come at the end and are clearly labelled.
- ☐ Remote, HTTPS, Streamable HTTP
- ☐ OAuth if you touch user data
- ☐ Every tool has a title and read/destructive hints
- ☐
server.jsonpublished to the MCP Registry - ☐ Domain namespace (
com.yourco/…) - ☐ Claude directory submission
- ☐ ChatGPT plugin submission
- ☐ A clear "Connect in ChatGPT / Claude" docs page
- ☐ Free canmyaiuse badge
Step 1. Make it a remote server people can add by URL
ChatGPT and Claude's web apps connect to remote MCP servers, meaning an https:// URL. Claude's directory won't accept a local-only server on its own (local servers ship inside a plugin instead). The MCP Registry recommends the Streamable HTTP transport; SSE is deprecated and best kept only for older clients.
- Serve on a stable public HTTPS URL, for example
https://mcp.yourco.com/mcp. - If your tools act on a user's account, use OAuth. Claude's directory asks for OAuth 2.0 in that case, or no auth for public data.
- Not sure which model fits? → Remote vs local MCP servers
Per MCP Registry: remote servers · Claude submission checklist, checked 2026-10-26.
Step 2. Describe your tools so reviewers and models understand them
Directories review tool metadata, and models pick tools from it. Claude's submission checklist requires every tool to have a title and a readOnlyHint or destructiveHint annotation.
- Name tools by the action (
create_invoice, nottool1). - One-sentence descriptions that say what the tool changes.
- Mark write and delete tools as destructive.
- Run through our MCP security checklist before submitting.
Per Claude submission checklist, checked 2026-10-26.
Step 3. Publish to the official MCP Registry
The Registry at registry.modelcontextprotocol.io stores metadata only: a server.json that points to your package or remote URL. Aggregators read it on a schedule, so a single publish feeds many directories. The Registry is still marked preview, and its docs warn that breaking changes or data resets may happen.
- Install the publisher CLI:
brew install mcp-publisher(or download the release binary). - Run
mcp-publisher initto createserver.json. - For a remote server, add a
remotesentry:{ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", "name": "com.yourco/your-server", "title": "YourCo", "description": "What it does, in one plain sentence.", "version": "1.0.0", "remotes": [{ "type": "streamable-http", "url": "https://mcp.yourco.com/mcp" }] } - For an npm package, add
"mcpName": "<same name>"topackage.jsonso the Registry can verify that you own it. - Run
mcp-publisher login github(namespaceio.github.<you>/…) or log in with your domain (see Step 4). - Run
mcp-publisher publish, then confirm withcurl "https://registry.modelcontextprotocol.io/v0.1/servers?search=com.yourco/your-server".
Bump version on every change. Directories, including us, show what the Registry says.
Per MCP Registry quickstart · remote servers, checked 2026-10-26.
Step 4. Claim your domain namespace
A GitHub namespace (io.github.alice/…) works, but a domain namespace (com.yourco/…) tells people the server comes from the company that owns the app. To use one, prove domain ownership with DNS: add a TXT record of the form v=MCPv1; k=ed25519; p=<public key> and log in with mcp-publisher using that key.
Why it matters here: canmyaiuse marks Registry servers in a company's own namespace as Official for that app.
Per MCP Registry: authentication, checked 2026-10-26.
Step 5. Submit to Claude's Connectors Directory
One catalog serves claude.ai, Claude Desktop, mobile, Claude Code and Cowork.
- Submit at claude.ai/directory/manage → MCP connector. Any paid Claude plan can submit; on Team and Enterprise plans, an Owner submits.
- Have ready: a documentation URL, a privacy policy URL, a support contact, an icon, and a fully populated test account for reviewers.
- Test first by adding your URL as a custom connector in Claude and calling each tool.
- Listings get a Verified (Anthropic-tested) or Community label. Claude's docs say directory ranking is usage-based, and that no DNS proof is needed for the directory (that applies only to the MCP Registry).
Per Claude Connectors Directory · submission checklist, checked 2026-10-26.
Step 6. Submit to ChatGPT's plugin directory
OpenAI now packages apps as plugins, which can include an MCP connection, skills or both.
- From the OpenAI platform Plugins page, upload your plugin ZIP (
plugin.json+mcp.json) under a verified developer identity. - Domain verification: serve the challenge token as plain text at
https://<your-host>/.well-known/openai-apps-challenge. - Auth: the portal supports no auth or OAuth (a registered client, DCR or CIMD). It doesn't offer an API-key connection flow, so plan for OAuth.
- Review needs 5 positive and 3 negative test cases, a video walkthrough, a test account without MFA, and website, support, privacy and terms URLs.
- After you publish, OpenAI re-scans your server daily, and tool changes go live once they pass automated checks.
Per OpenAI Apps SDK: submission, checked 2026-10-26.
Step 7. Get picked up by directories and AI search
- Many directories auto-import from the MCP Registry, so Step 3 does most of the work. Some also take direct submissions, for example PulseMCP, Smithery, Glama and mcp.so.
- canmyaiuse lists servers from the official MCP Registry and re-checks them. You don't need to submit. Check your listing on All servers, browse categories, or search your app on Apps.
- Publish a public "Connect <YourApp> to ChatGPT / Claude" page with your endpoint, auth and the copy-paste steps (see our connect guide for the shape). AI assistants answer "can ChatGPT connect to X?" from pages like that one.
- Add an
llms.txtand link it from your docs.
Step 8. Show your status: free badge
Embed the free canmyaiuse badge in your README and docs so people can see your server's live status and grade at a glance → /badge/. How we check and grade servers.
Step 9. Keep your listing healthy
- Moving endpoints? Publish a new Registry version. Claude's docs note that users on the old URL show up as custom connectors until they re-add yours.
- Retire old versions with the Registry
statusfield (deprecated) instead of deleting them. - Check your listing on our changes feed.
Per Claude Connectors Directory, checked 2026-10-26.
Want more visibility? (paid, clearly labelled)
Everything above is free, and paid placement never changes rank on canmyaiuse. Organic lists stay ranked by our live checks. If you want more:
- Verified — $49/mo. A "Verified vendor ✓" label on your listing, so people can tell your server from look-alikes.
- Featured — $149/mo. A labelled sponsor card at the top of your category page (3 slots per category).
Get Verified — $49/mo Feature your server — $149/mo
Want to own a category? Category Takeover — $399/mo (all 3 Featured slots).
FAQ
How do I list my MCP server?
Publish a server.json to the official MCP Registry with mcp-publisher, then submit to Claude's Connectors Directory and ChatGPT's plugin directory. Many other directories pick up Registry entries on their own.
Is the official MCP Registry free?
Yes. Publishing only needs a GitHub login or a domain you control. It hosts metadata, not your code.
Does my server need to be remote?
For ChatGPT and Claude's web apps, yes: a public HTTPS URL. A local server can still be published to the Registry as a package, and in Claude it can ship inside a plugin.
How long does Claude or ChatGPT review take?
Neither publishes a fixed timeline. Both require a working test account and documented tools, so missing either one is a common reason a review stalls.
Do I need OAuth?
If your tools touch a user's account, yes in practice. Claude's directory expects OAuth 2.0 in that case, and ChatGPT's portal doesn't offer API-key auth.
How do I get the "Official" label on canmyaiuse?
Publish to the MCP Registry under your company's domain namespace (for example com.yourco/…).
Does paying canmyaiuse improve my ranking?
No. Featured cards are labelled sponsor slots shown apart from the ranked list, and Verified adds a label. Neither changes rank.
Related: What is MCP? · Connect MCP to Claude, ChatGPT and Cursor · MCP security checklist