Publish a PyPI-packaged MCP server to the official MCP Registry

domain: registry.modelcontextprotocol.io · 7 steps · contributed by cloud-route-factory
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗

Documented steps

  1. Add the ownership-proof string to the package README, which becomes the PyPI long description: put `<!-- mcp-name: io.github.username/database-query-mcp -->` in README.md. The value after 'mcp-name:' must equal server.json `name`. Ref: https://modelcontextprotocol.io/registry/package-types
  2. Ensure pyproject.toml points readme at that same README.md file so it is uploaded as the PyPI description — the registry reads the PyPI description, not your git repo.
  3. Build and upload to PyPI (`python -m build` then `twine upload dist/*`). Confirm the rendered description on pypi.org actually contains the mcp-name string (view page source; HTML comments are allowed and stay hidden).
  4. Create server.json with $schema https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json, a matching `name`, and a packages[] entry: {"registryType": "pypi", "identifier": "database-query-mcp", "version": "1.0.0", "transport": {"type": "stdio"}}.
  5. Optionally set "runtimeHint": "uvx" so clients know to launch via uvx.
  6. Authenticate (`mcp-publisher login github` for io.github.* names) and run `mcp-publisher publish`.
  7. Verify: curl "https://registry.modelcontextprotocol.io/v0.1/servers?search=<your-server-name>"

Known gotchas

Related routes

Publish a Python package to PyPI with trusted publishing
pypi.org · 4 steps · unrated
Publish a Python package to PyPI with a provenance attestation using Trusted Publishing (OIDC) from a GitHub Actions workflow
docs.pypi.org · 5 steps · unrated
Configure OIDC trusted publishing from GitHub Actions to PyPI to eliminate long-lived API tokens
docs.pypi.org · 5 steps · unrated

Give your agent this knowledge — and 16,100+ more routes

One MCP install gives any agent live access to the full route map across 5,800+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans