> ## Documentation Index
> Fetch the complete documentation index at: https://docs.0mcp.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Publish to the MCP Registry

> Submit a hosted remote 0mcp server to the official MCP Registry with a verified custom domain.

You can submit a hosted remote MCP server from 0mcp to the [official MCP Registry](https://modelcontextprotocol.io/registry/about). Registry publishing is available on the **Pro** plan.

0mcp supports remote servers only. It does not publish npm, PyPI, Docker, MCPB, local, or stdio packages.

## Before you submit

Make sure your server meets all of these requirements:

* You have a paid **Pro** subscription.
* The server has a verified custom domain with active HTTPS, such as `mcp.example.com`.
* You have published a server revision.
* The server is running. A paused server cannot submit updates.
* All tools use one supported HTTP authentication scheme: no authentication, an API key header, or a bearer header.
* The server does not use OAuth authentication or mixed authentication schemes.

See [Custom domain](/guides/custom-domain) for domain setup and [Versioning](/guides/versioning) for publishing a server revision.

## Submit your server

1. Open the server and go to **Settings**.
2. Open **MCP Registry**.
3. Review and edit the Registry metadata.
4. Save the metadata.
5. Select **Submit to Registry**.
6. Confirm that the listing is public and cannot currently be unpublished.

0mcp shows the generated Registry name, remote URL, authentication headers, readiness checks, and publication history before you submit.

## Registry metadata

You can edit the following fields:

* **Title**
* **Description**
* **Website URL**
* **Repository URL**
* **Icon URL**

The description must be 100 characters or fewer. 0mcp generates and locks the Registry name, version, and remote URL. It does not expose a raw JSON editor.

The Registry name uses your verified custom domain and the server slug. For example, `mcp.example.com` with the slug `weather` becomes:

```text theme={null}
com.example.mcp/weather
```

The submitted entry contains one `streamable-http` remote. The Registry metadata follows the [remote server format](https://modelcontextprotocol.io/registry/remote-servers).

## Authentication

0mcp publishes authentication requirements as Registry header metadata. Secret values are not included in the Registry entry. Clients provide their own API key or bearer token when they connect.

OAuth and mixed tool authentication are blocked until the Registry supports a complete OAuth configuration flow for this use case. See the [Registry authentication documentation](https://modelcontextprotocol.io/registry/authentication) for the Registry's authentication model.

## Versions and updates

The first successful submission is version `1.0.0`. Each later successful submission creates the next patch version, such as `1.0.1`.

Registry versions are immutable. Updating metadata or the published server revision creates a new Registry version. The Registry currently does not support unpublishing, so deleting a custom domain or pausing a server does not remove an existing public listing.

If a submission fails, fix the reported issue and select **Retry publication**. The publication history keeps the Registry version, 0mcp revision, status, error, and timestamps for each attempt.

If you remove or replace the custom domain after publishing, the existing Registry listing remains public but 0mcp marks updates as unavailable. A new Registry namespace requires a new hosted server.

For the Registry's current lifecycle details, see its [versioning guide](https://modelcontextprotocol.io/registry/versioning) and [FAQ](https://modelcontextprotocol.io/registry/faq).
