
This guide is part of Launch and list your MCP server, within The MCP Guide. Want help getting found? See MCP marketing.
Before you launch a public MCP server, check six things: authentication, tool design, documentation for each AI app, your MCP Registry server.json, your directory submissions, and the website pages and metrics that follow. Each AI platform publishes its own rules, and they overlap enough that one pass can cover most of them.
This checklist pulls the requirements from Anthropic's connector docs, OpenAI's plugin docs, the MCP specification (version 2026-07-28) and the MCP Registry docs, all checked on 6 November 2026. Copy it into your launch plan and work through it in order.
It is a launch checklist, not a security audit. For a deeper security pass, use our MCP security checklist alongside it.
Key Takeaways
- Ship a remote server on HTTPS with Streamable HTTP; the registry and Anthropic both treat SSE as deprecated or on its way out.
- Use OAuth for user accounts, with S256 PKCE, the right redirect URIs for each app, and fast token endpoints.
- Annotate every tool: Anthropic requires
titleplusreadOnlyHintordestructiveHint, and OpenAI wants explicitreadOnlyHint,destructiveHintandopenWorldHintbooleans. - Split read and write tools; both Anthropic and OpenAI reject catch-all executors.
- Publish to the MCP Registry, Claude's directory and ChatGPT's directory separately; one does not feed the other two.
- Have a privacy policy, public docs, support contact and a populated reviewer account ready before you submit anywhere.
1. Server and transport
- Public HTTPS URL. Anthropic's submission guide asks for an
https://URL. OpenAI's submission page asks for "a stable, public HTTPS endpoint." - Streamable HTTP. The registry's remote servers guide says remote servers "should use the Streamable HTTP transport" because SSE is deprecated. Anthropic's Software Directory Policy says SSE is acceptable for now but will be deprecated.
- A stable path. OpenAI's connect and test page says the endpoint is "typically at
/mcp." OpenAI says changing an approved server's URL means contacting support, so pick it once. - Reachable by the platforms. Anthropic's traffic comes from
160.79.104.0/21, per its authentication guide. Check that your firewall or WAF allows it, including in front of your identity provider.
2. Authentication and scopes
- OAuth for user accounts. Anthropic requires "OAuth 2.0 for authenticated services." OpenAI's portal supports OAuth, no auth, or mixed access, and has no API-key or bearer-token flow.
- PKCE S256. Anthropic says Claude sends a PKCE challenge with S256 on every authorization request, and your authorization server must support it.
- Redirect URIs. For Claude's hosted apps, register
https://claude.ai/api/mcp/auth_callback. For Claude Code, accept a loopback redirect on any port forlocalhostand127.0.0.1. - Client registration. Claude supports DCR and CIMD by default. Anthropic suggests CIMD or Anthropic-held credentials for high-traffic servers, since DCR registers a client on every new connection. OpenAI's portal supports a registered client, DCR or CIMD.
- A
401that points to metadata. Anthropic says a401is required to start sign-in, with aWWW-Authenticateheader pointing to your protected resource metadata. - Fast token endpoints. Claude waits up to 10 seconds on discovery, registration and token calls and 30 seconds on refresh.
- Refresh tokens. OpenAI's custom MCP help article warns that without
offline_access, ChatGPT "may lose access after the original authorization expires." - Least-privilege scopes. Request only the scopes your tools need. The MCP spec lets a server return only the tools a caller's granted scopes permit.
3. Tools: names, hints and descriptions
- Annotations on every tool. Anthropic's review criteria require a
titleand "readOnlyHint: truefor read-only tools, anddestructiveHint: truefor tools that modify or delete data." OpenAI's plugin guidelines wantreadOnlyHint,destructiveHintandopenWorldHintset "to explicit booleans." - Short names. Anthropic requires 64 characters or fewer. The MCP spec tools page says names should be 1 to 128 characters using letters, digits, underscore, hyphen and dot. Aim for the stricter limit.
- Separate read and write. Anthropic rejects a tool that mixes safe and unsafe HTTP methods. OpenAI says "each model-callable operation must be its own tool."
- Accurate, plain descriptions. Both platforms reject descriptions that don't match behavior. Anthropic also rejects wording that steers Claude to other tools or promotes products. OpenAI rejects wording that steers the model to prefer your plugin.
- Useful errors. Anthropic fails tools that return generic errors such as "Internal Server Error." The MCP spec separates protocol errors from tool execution errors with
isError: true, which give the model feedback it can act on. - Sized responses. Anthropic asks for responses "reasonably sized for the task."
- No unsupported use cases. Anthropic doesn't accept connectors that transfer money or crypto, or generate images, video or audio with AI. OpenAI allows commerce only for physical goods.
Our guide to MCP tool annotations explains each hint.
4. Test before anyone reviews it
- MCP Inspector. The Inspector docs say it needs Node 22.19.0 or newer. For a remote server, run
npx @modelcontextprotocol/inspector --server-url https://api.example.com/mcp --transport http. - As a custom connector in Claude. Anthropic's portal asks you to confirm you ran every tool in Inspector or as a custom connector.
- As a custom MCP server in ChatGPT. OpenAI's connect page suggests positive, indirect, follow-up, write-action and negative prompts, and recording which tool was picked.
- Reviewer accounts. Anthropic wants credentials for "a fully populated account." OpenAI wants a demo account with sample data that works without MFA, email codes or magic links.
5. Documentation for each AI app
Each platform has its own install flow, so each needs its own page.
| Docs page | What to include | Why |
|---|---|---|
| Claude | Server URL, auth method, and a prefilled install link | Anthropic's directory vs custom page documents a link that opens "Add custom connector" with your name and URL |
| Claude Code | Note that claude.ai connectors appear automatically for subscription logins | Per Claude Code's MCP docs |
| ChatGPT | Plugins > + > Add custom MCP server, plans that qualify, auth | OpenAI lists Business and Enterprise/Edu on the web, with Pro read/fetch only |
| Other clients | Config snippets for the clients your users name | Avoid guessing; test each one |
| All | Tool list with read/write labels, example prompts, troubleshooting | Anthropic's policy asks for at least three working example prompts |
Anthropic says public documentation is required "by your publish date," and "A blog post or help-center article is sufficient."
6. Legal and trust pages
- Privacy policy. Anthropic requires one in the listing. OpenAI requires one covering data categories, purposes, recipients, retention and user controls, viewable before install.
- Terms of service, support URL and website. OpenAI's MCP review needs HTTPS
websiteURL,supportURL,privacyPolicyURLandtermsOfServiceURL, and says public URLs must "identify the same publisher as the submission." - Verified identity. OpenAI requires verified individuals or organizations. Anthropic asks for verified contact and support channels.
7. MCP Registry server.json
- Write
server.jsonwithname,descriptionandversion, the three required fields in the 2025-12-11 schema. The schema capsdescriptionat 100 characters. - Use a
remotesentry with"type": "streamable-http"and your URL. - Pick your namespace. A domain name such as
com.yourcompany/serverneeds DNS or HTTP verification. GitHub names start withio.github.. - Validate it with our server.json validator, then publish with
mcp-publisher.
Our step-by-step guide to publishing an MCP server to the registry covers the commands. Remember that Anthropic says registry publishing "doesn't surface your server in Claude."
8. Directory submissions
| Channel | Where | Gate |
|---|---|---|
| Claude connectors directory | claude.ai/directory/manage | Paid Claude plan; Owner on Team and Enterprise |
| ChatGPT plugin directory | platform.openai.com/plugins | Verified identity; owner or Apps Management Write |
| MCP Registry | mcp-publisher publish | Namespace verification |
See how to get listed in Claude's connectors directory and how to submit an app to ChatGPT for each process. Other channels include Docker's catalog and paid marketplaces.
9. Website pages
Directories send people to your site, and AI search reads it. Plan these pages before launch:
- A product page for the MCP server that says what it does in plain words
- A setup page per AI app (from section 5)
- A tool reference with read/write labels
- A security page covering auth, scopes and data handling
- A changelog, since tool changes reach users without a reinstall on both platforms
Our guide to how to market an MCP server covers SEO and GEO for these pages.
10. Analytics and monitoring
- Server logs. Log tool calls, errors and latency on your side. The MCP spec says clients should log tool usage for audit, but you control your own server data.
- Claude's dashboard. Anthropic says a listed connector "has a dashboard with server health and usage by tool."
- ChatGPT changes. OpenAI scans your server daily after publication and holds flagged tool changes. Watch the portal after each deploy.
- Website analytics. Track visits to your setup pages and sign-ups that follow, so you can see which channel brings users.
Don't log more conversation data than your tools need. Anthropic's review rejects that, and OpenAI forbids reconstructing the full chat log.
Next step
eSEOspace's MCP marketing team builds the setup pages, docs and launch content in this checklist and handles directory submissions. If you still need the server itself, our MCP development team can build it. We scope each project individually and don't promise approval by any platform.
More in the MCP Guide
Latest research: State of MCP: October 2026
Frequently asked questions
Do I need to submit to every directory?
No, but each one reaches different users. Anthropic's directory reaches Claude, OpenAI's reaches ChatGPT and Codex, and the MCP Registry feeds other aggregators. Anthropic says registry listings don't surface in Claude, so plan separate submissions.
Can one MCP server pass both Anthropic's and OpenAI's reviews?
Often, if you design for the stricter rule each time. Use names of 64 characters or fewer, explicit annotation booleans, separate read and write tools, and OAuth. Then check each platform's use-case limits, which differ on commerce and media generation.
Is an API key enough for launch?
For custom connections, sometimes. For public listings, plan on OAuth. Anthropic requires OAuth 2.0 for authenticated services, and OpenAI's submission portal has no API-key flow.
How do I handle a server URL that differs per customer?
Anthropic supports Multiple URLs or a URL pattern, but those listings publish only once Verified. The MCP Registry supports URL template variables in remotes. OpenAI's submission page says only one MCP server can be connected per plugin.
What should I fix first if I'm short on time?
Auth and tool annotations. Both platforms check them, both affect user approval prompts, and both are hard to change after customers connect.











