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.
Step 1: Create a Workflow File
In your server project directory, create a.github/workflows/publish-mcp.yml file. Here is an example for npm-based local server, but the MCP Registry publishing steps are the same for all package types:
Step 2: Add Secrets
You may need to add a secret to the repository depending on which authentication method you choose:- GitHub OIDC Authentication: No dedicated secret necessary.
- GitHub PAT Authentication: Add a
MCP_GITHUB_TOKENsecret with a GitHub Personal Access Token (PAT) that hasread:organdread:userscopes. - DNS Authentication: Add a
MCP_PRIVATE_KEYsecret with your Ed25519 private key.
NPM_TOKEN secret with your npm token.
For information about how to add secrets to a repository, see Using secrets in GitHub Actions.
Step 3: Tag and Release
Create and push a version tag to trigger the workflow:Troubleshooting
| Error Message | Action |
|---|---|
| ”Authentication failed” | Ensure id-token: write permission is set for OIDC, or check secrets. |
| ”Package validation failed” | Verify your package successfully published to the package registry (e.g., npm, PyPI), and that your package has the necessary verification information. |