The MCP Registry is currently in preview. Breaking changes or data resets may occur before general availability. If you encounter any issues, please report them on GitHub.
server.json MUST be of the form io.github.username/* (or io.github.orgname/*). For example, io.github.alice/weather-server.
If you choose domain-based authentication, your server’s name in server.json MUST be of the form com.example.*/*, where com.example is the reverse-DNS form of your domain name. For example, io.modelcontextprotocol/everything.
| Authentication | Name Format | Example Name |
|---|---|---|
| GitHub-based | io.github.username/* or io.github.orgname/* | io.github.alice/weather-server |
| domain-based | com.example.*/* | io.modelcontextprotocol/everything |
GitHub Authentication
GitHub authentication uses an OAuth flow initiated by themcp-publisher CLI tool.
To perform GitHub authentication, navigate to your server project directory and run:
Output
ABCD-1234 in the above output). Once complete, go back to the terminal, and you should see output like:
Output
DNS Authentication
DNS authentication is a domain-based authentication method that relies on a DNS TXT record. To perform DNS authentication using themcp-publisher CLI tool, run the following commands in your server project directory to generate a TXT record based on a public/private key pair:
mcp-publisher login command:
HTTP Authentication
HTTP authentication is a domain-based authentication method that relies on a/.well-known/mcp-registry-auth file hosted on your domain. For example, https://example.com/.well-known/mcp-registry-auth.
To perform HTTP authentication using the mcp-publisher CLI tool, run the following commands in your server project directory to generate an mcp-registry-auth file based on a public/private key pair:
mcp-registry-auth file at /.well-known/mcp-registry-auth on your domain. After the file is hosted, log in using the mcp-publisher login command: