GitHub MCP Registry

GitHub MCP Registry

The GitHub MCP Registry is a central, canonical source for discovering, installing, and managing MCP servers. It gives developers a structured place to find servers and gives organizations a way to govern which ones get used.

Finding and installing servers

The registry lists official servers (Playwright, the GitHub MCP server) alongside partner servers from companies like Notion, Stripe, and Unity, and you can browse or filter by tags, popularity, or stars.

Installation is streamlined for VS Code and VS Code Insiders. To install the Playwright server, for example:

  1. Open the Playwright server’s registry page.
  2. Click Install in VS Code.
  3. VS Code launches with a pre-filled configuration.
  4. Accept or adjust any optional parameters.

The server is then ready for agentic workflows. Remote servers such as GitHub’s authenticate over OAuth, so there are no tokens to manage by hand.

Publishing a server

Publish your own server with the mcp-publisher CLI.

1. Install the CLI.

# macOS/Linux/WSL (Homebrew)
brew install mcp-publisher

# macOS/Linux/WSL (Binary)
curl -L "https://github.com/modelcontextprotocol/registry/releases/download/latest/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher && sudo mv mcp-publisher /usr/local/bin/

2. Initialize server.json. In your server’s source directory, run mcp-publisher init to create the manifest, then fill in the name, description, version, and package details.

mcp-publisher init

3. Prove package ownership. Add a metadata field that links your package to the server name:

  • NPM (package.json): "mcpName": "io.github.username/server-name"
  • PyPI/NuGet (README): mcp-name: io.github.username/server-name
  • Docker (Dockerfile): LABEL io.modelcontextprotocol.server.name="io.github.username/server-name"

4. Authenticate. For GitHub namespaces (io.github.*), authenticate over OAuth. For custom domains, follow the DNS-verification steps in the official docs.

mcp-publisher login github

5. Publish. After a successful publish, the server is discoverable in the registry.

mcp-publisher publish

Automating publication

To publish on every tagged release, add a workflow at .github/workflows/publish-mcp.yml:

name: Publish to MCP Registry
on:
  push:
    tags: ["v*"]

jobs:
  publish:
    runs-on: ubuntu-latest
    permissions:
      id-token: write  # Required for OIDC
      contents: read

    steps:
      - uses: actions/checkout@v5

      # Add steps to build and publish to your package manager (e.g., npm)
      - name: Publish to npm
        run: npm publish
        env:
          NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

      # MCP publishing steps
      - name: Download MCP Publisher
        run: |
          curl -L "https://github.com/modelcontextprotocol/registry/releases/download/latest/mcp-publisher_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/').tar.gz" | tar xz mcp-publisher
      - name: Publish to MCP Registry
        run: |
          ./mcp-publisher login github-oidc
          ./mcp-publisher publish

Enterprise governance

Organizations that need control over MCP usage can enforce an allow list through an internal registry:

  1. Stand up an internal registry that conforms to the MCP API specification.
  2. Populate an allow list of vetted internal and external servers.
  3. Point GitHub Enterprise at the internal registry’s endpoint.
  4. Enforce it — MCP-aware tools like VS Code query the internal registry and permit installation only of servers on the list.

This lets a team hand developers a curated, approved toolset while keeping security and compliance policy in force.

Practical notes and direction

A few habits and near-term changes worth knowing:

  • Judge quality quickly with stars and verified-organization badges before trusting a server.
  • Test locally with the MCP Inspector before publishing.
  • Expect semantic tool lookups. VS Code is moving toward surfacing only the tools relevant to a prompt, which limits context overload from large servers.

On the roadmap: self-publication without manual approval, MCP installation in more IDEs, deeper enterprise governance for regulated industries, and use-case-driven tool bundles (for example, “analyze repo and create PR”) that make orchestration easier.

This entry was posted in . Bookmark the permalink.