For server owners
How your MCP server gets on mcp.tc and stays accurate, and what you can add: a checkmark, a badge for your README and a card for your website.
Get listed
Paste your server’s URL on the Submit page: a remote endpoint, a GitHub repository, or an npm or PyPI page. There’s no account. Your status page updates by itself and shows the link when it’s ready, usually within a few minutes. Many servers are added without anyone asking: from a curated list of well-known servers, and from the official MCP Registry, which we check every hour.
What we read
Our checker connects the way a client would. It never sends credentials and never runs your code. It identifies itself as mcp.tc-bot/1.0 (+https://mcp.tc/about) in the User-Agent and as mcp.tc-indexer in the MCP handshake, and it stops after 25 requests or 60 seconds.
- The MCP handshake (
server/discoverorinitialize):serverInfowith its name, title, version, description, website and icons, and the server’sinstructions. tools/list, with each tool’sreadOnlyHintanddestructiveHint. They become the Read-only, Writes and Can delete hints on the page.prompts/listandresources/listtoo, when the server offers them.- How sign-in works: a 401 with
WWW-Authenticate, and OAuth protected resource metadata (RFC 9728). - Your server card at
{endpoint}/server-cardand/.well-known/ai-catalog.jsonon your site. - Your entry in the official MCP Registry (
server.json). - Your repository (
server.json,package.json,pyproject.toml,manifest.json, the README), your npm or PyPI page, and your website’s title, description and icons.
An AI model (Claude, by Anthropic) then drafts the listing from that public data: the summary, category, what you can do and a few example prompts. It runs with no tools, so instructions hidden in a manifest can’t make it do anything, and fixed checks decide what happens next. A suggestion goes live on its own only when the server answered, nothing was flagged, and the name or vendor matches the domain of the server’s URL (for a local server, the repository owner, npm scope or registry namespace). Everything else waits for a person. The terms list every check.
The listing is written in English. The same model then translates its text into Italian, French, German and Spanish for the site’s other language versions; a translation follows when the English changes.
Help the listing come out right
- Fill in
title,description,websiteUrlandiconsinserverInfo, with icons as PNG, WebP or JPEG (we skip SVG and ICO icons). Icons from the live server win over those from the registry, the server card and your website. - Annotate your tools with
readOnlyHintanddestructiveHint. Without them, the page can’t say which tools only read. - If
tools/listneeds a sign-in, we can’t read your tools. The page then says why the list is empty. - Publish to the official MCP Registry under your own namespace. The listing then carries that name, in our registry API too.
- The link comes from the server’s name, without words like “MCP server”: a server called Acme Docs MCP gets
mcp.tc/i/acme-docs.
Keep it accurate
Remote servers are checked again every day. The check repeats the handshake and refreshes the tools, version and health shown on the page. It never rewrites the description, and a change in the set of tool names waits until a person reviews it. A server that keeps failing for more than three days gets a Last check failed badge; one that suddenly answers from a different URL gets it at once, until the listing is updated. We never run local servers, so they can’t be checked this way.
Edits made by a person stick: the automatic updates never overwrite them. To change the description, the category, the name or a URL, send a correction through the report page. If you move your server to a new URL, tell us there, so the listing and every setup step follow.
The verified checkmark
The checkmark after a server’s name says who runs it. It isn’t a security review. Official servers of well-known vendors get it after a check by hand. Anyone else can prove they control the domain with a DNS record:
- Find your listing on Verify and open its verification page.
- Add the TXT record it shows,
mcp-tc-verification=…, under_mcp-tcor on the domain itself. - Press Start verification. We look the record up right away, and if it’s there, a person reviews the request.
- Keep the record. We check it every day, and if it’s gone, we review the listing and usually remove the checkmark.
The domain is the one in your server’s URL. Your homepage’s domain counts when the server runs locally or its URL is on a hosting platform’s domain. Once a listing is verified, automatic updates no longer change its URLs, package or vendor.
Badges and embeds
Show your listing in your README or on your website. Every embed uses your server’s own URL or package, links back to the listing, and sets no cookies. Replace deepwiki with your listing’s name.
README badge
[](https://mcp.tc/i/deepwiki)Card for your website
One script tag. It shows what the server needs, its URL or install command with a Copy button, and one-click buttons for Claude Code, Cursor, VS Code and claude.ai, for the clients that can use it:
<script src="https://mcp.tc/w/deepwiki.js" async></script>iframe
For pages that don’t allow scripts:
<iframe src="https://mcp.tc/embed/deepwiki" title="DeepWiki on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>The Embed section of your listing has all of these filled in, with live previews. Badges and embeds covers themes, sizes and the listing JSON. Embeds are in English, whatever language the page around them uses.
Changes and removal
Use the report page to correct a listing or have it removed, your own included. Show that it’s yours with an email from your domain or a commit that mentions mcp.tc. A person reads every report.
A removed listing’s link answers 410 Gone, to browsers and MCP clients alike, and the listing leaves the sitemaps and the registry API (where clients that ask see it as deleted for 180 days). A renamed listing keeps its old link: browsers are sent on to the new one.
Your listing’s link is always a page. A client that tries to connect to it gets an error that names your server’s own URL or install command, so users who paste the wrong link find the right one. mcp.tc never passes MCP traffic on to your server.