# How to publish to the official MCP Registry

> For the complete documentation index, see [llms.txt](https://workpods.ai/llms.txt)

The official MCP Registry is the public catalog of MCP servers at `registry.modelcontextprotocol.io`, and you publish to it with one `server.json` file and the `mcp-publisher` tool. It has no listing pages of its own, but directories such as Glama and mcprush copy it, so one entry becomes several listings.

## What is the MCP Registry?

It is an API, run by the MCP project, that stores each server's name, title, description, version, website and how to connect. Clients, directories and quality checkers query it as the source of truth for which servers exist; people rarely browse it.

It's also the most searched term in this series, with about 1,300 searches a month for "mcp registry" and 170 for "official mcp registry".

## Does the MCP Registry help SEO and GEO?

Yes, through the directories that copy it. After we published, Glama listed our server without a submission and mcprush listed it beside our npm packages, which gave us pages on other domains. And modelcontextprotocol.io itself is cited in AI answers more than most MCP directories.

The registry has no pages, so it gives no backlink. The `title`, `description` and `websiteUrl` you publish travel into every copy, so write them for a buyer. Our [MCP marketplaces comparison](https://workpods.ai/guides/mcp-distribution/mcp-marketplaces) shows which of those directories link back.

## How do I publish an MCP server to the registry?

Install `mcp-publisher`, write a `server.json`, prove you own the namespace and run `mcp-publisher publish`. This is the file we published for our hosted server:

```json
{
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "name": "ai.workpods/agent-ready-mcp",
  "title": "Agent Ready Website Audit",
  "description": "SEO and AI search audit for any website: technical SEO, schema, AI crawler access and llms.txt.",
  "version": "1.0.1",
  "websiteUrl": "https://workpods.ai/tools/agent-ready",
  "remotes": [
    { "type": "streamable-http", "url": "https://mcp.workpods.ai/mcp" }
  ]
}
```

A domain-style name such as `ai.workpods/...` needs a DNS TXT record on your domain. A name such as `io.github.<user>/...` needs a GitHub login instead.

```bash
brew install mcp-publisher        # or download a release binary

# DNS proof: add the TXT record mcp-publisher prints, v=MCPv1; k=ed25519; p=<public key>
openssl genpkey -algorithm Ed25519 -out key.pem
mcp-publisher login dns --domain workpods.ai --private-key <hex-private-key>

mcp-publisher publish
curl -s "https://registry.modelcontextprotocol.io/v0/servers?search=workpods" | head -c 600
```

Keep the private key out of every repository. To update the entry, raise `version` and publish again. You can see [our live entry](https://registry.modelcontextprotocol.io/v0/servers?search=ai.workpods) with the same query.

## How do I publish an npm package to the registry?

Use `packages` in place of `remotes`, and first publish an npm version whose `package.json` declares the server name in an `mcpName` field. The registry checks that field to confirm the package belongs to you.

```json
{
  "name": "@workpods/agent-ready",
  "version": "0.1.1",
  "mcpName": "ai.workpods/agent-ready",
  "homepage": "https://workpods.ai/tools/agent-ready"
}
```

Our npm packages lacked `mcpName` at first, so we had to ship new versions before the registry accepted them.

## What makes a good registry entry?

A good entry is short, specific and the same everywhere you publish. Every field is copied into other directories, so write each one for a stranger reading a listing page.

| Field | What to write |
|---|---|
| `name` | Your namespace and a slug you won't need to change |
| `title` | The product name buyers know, without "MCP server" added |
| `description` | The job in buyer words, under 100 characters |
| `websiteUrl` | A product page that explains the server, not the home page |

Use your own domain as the namespace if you can. `ai.workpods/agent-ready-mcp` reads as official and doesn't depend on one person's GitHub account. A rename doesn't reach the registry on its own, so keep one name across the registry, the server handshake and every directory.

## What should be ready before you publish?

Your server's own metadata. Directories and checkers also connect to the server itself and read its handshake: name, title, description, website and icon.

Our score on Manufact's leaderboard rose from 68 to 83, with a followed link to our site, once we added those fields; our [MCP server metadata guide](https://workpods.ai/guides/mcp-distribution/mcp-server-metadata) has the code. If you haven't yet, submit to the assistant directories too, starting with [Claude's connector directory](https://workpods.ai/guides/mcp-distribution/claude-connector-directory). Every channel is ranked in our [MCP directory guide](https://workpods.ai/guides/mcp-distribution).

To check whether agents can find your server and read your site, run [Agent Ready](https://workpods.ai/tools/agent-ready). Registry publishing is also part of our [agent platform work](https://workpods.ai/axo/agent-platforms).

## Sources

- Search volumes: Google Ads keyword data, US, November 2026.
- AI citations of modelcontextprotocol.io: DataForSEO AI mention data, US, November 2026, a sampled dataset.
- Directory copies and the Manufact score: our own registry entry and listings, checked 11 November 2026.

## Questions buyers ask

### What is an MCP registry?

A catalog of MCP servers that clients and directories query for each server's name, description, version and connection details. The official one is run by the MCP project at registry.modelcontextprotocol.io.

### Is the official MCP Registry free?

Yes. Publishing costs nothing; you need the mcp-publisher tool and proof that you own the namespace, through a DNS TXT record or a GitHub login.

### Do I need a remote server for the MCP Registry?

No. The registry accepts remote servers and packages such as npm. An npm package must declare the server name in an mcpName field in its package.json.

### Does the MCP Registry give a backlink?

No. It is an API with no listing pages. Its value is that other directories copy it, and some of their pages rank and get cited in AI answers.

By Prateek Tomar · Reviewed by Shefali Munjal · Published 2026-11-12

---

Source: https://workpods.ai/guides/mcp-distribution/mcp-registry · WorkPods.ai, updated 2026-11-12
