Apps
      • Playground
      • My MCP
      • My Skills
    Tools
    Resources
    Privacy Policy
    MCP Central[mcp]central.io
    Submit a Server to MCP Registry
    Follow this guide to submit your MCP server using the official publisher tool
    Use the mcp-publisher CLI tool to submit your server to MCPCentral. The process takes just a few minutes!
    1

    Install the MCP Publisher

    Install the mcp-publisher tool using Homebrew (recommended) or download the pre-built binary.

    Homebrew (Recommended):

    macOS & Linux
    brew install mcp-publisher

    Linux Direct Install:

    Linux
    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/

    Windows PowerShell:

    Windows
    $arch = if ([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture -eq "Arm64") { "arm64" } else { "amd64" } Invoke-WebRequest -Uri "https://github.com/modelcontextprotocol/registry/releases/download/latest/mcp-publisher_windows_$arch.tar.gz" -OutFile "mcp-publisher.tar.gz" tar xf mcp-publisher.tar.gz mcp-publisher.exe

    After extraction, add the directory containing mcp-publisher.exe to your PATH.

    Alternative: Manual Download

    Download Binary

    Download the appropriate executable for your platform and add it to your PATH.

    2

    Create Your Server Configuration

    Create a server.json file to describe your MCP server. Make sure the repository URL points to a GitHub repository that you own.

    Quick Start: Use mcp-publisher init to automatically generate a server.json file with detected values. Then edit the file to add any missing details.

    Auto-generate server.json (Recommended):

    cd /path/to/your/mcp-server
    mcp-publisher init

    This will create a server.json file with automatically detected values. Review and edit as needed.

    Or create manually:

    Example server.json:

    {
      "name": "io.github.YOUR_GITHUB_USERNAME/YOUR_REPO_NAME",
      "description": "A brief description of your amazing MCP server",
      "repository": {
        "url": "https://github.com/YOUR_GITHUB_USERNAME/YOUR_REPO_NAME",
        "source": "github"
      },
      "version_detail": {
        "version": "1.0.0",
        "release_date": "2025-01-01T00:00:00Z",
        "is_latest": true
      },
      "packages": [
        {
          "registry_name": "npm",
          "name": "@your-scope/your-package-name",
          "version": "1.0.0",
          "package_arguments": [
            {
              "description": "API key for authentication",
              "is_required": true,
              "format": "string",
              "value": "your-api-key",
              "default": "",
              "type": "positional",
              "value_hint": "sk-..."
            }
          ]
        }
      ],
      "remotes": [
        {
          "transport_type": "sse",
          "url": "https://your-server.example.com/sse"
        },
        {
          "transport_type": "stdio",
          "url": "https://your-server.example.com/stdio"
        }
      ]
    }

    Field Descriptions:

    name - Unique identifier following pattern: io.github.USERNAME/REPO_NAME

    description - Brief description of what your server does

    repository - GitHub repository information

    version_detail - Version info including release date and latest flag

    packages - NPM/PyPI package details with optional arguments

    remotes - (Optional) Remote server endpoints for SSE/Streamable HTTP transports

    package_arguments - (Optional) Configuration parameters your server accepts

    3

    Authenticate & Publish

    Open your terminal in your server's repository directory and authenticate with MCPCentral, then publish your server.

    Step 3a: Authenticate

    GitHub OAuth (Recommended for CLI):

    Interactive
    mcp-publisher login github --registry https://registry.mcpcentral.io

    This will open your browser for GitHub authentication. Authorize the MCPCentral app to continue.

    GitHub OIDC (For CI/CD):

    Non-interactive
    mcp-publisher login github-oidc --registry https://registry.mcpcentral.io

    Use this method in GitHub Actions workflows for automated publishing.

    Step 3b: Publish Your Server

    mcp-publisher publish

    The tool will automatically find your server.json and publish it to the MCPCentral registry.

    One-time setup: After authenticating once, you can publish updates anytime with just mcp-publisher publish

    Optional: Automate with GitHub Actions

    Set up automated publishing whenever you release a new version by adding a GitHub Actions workflow.

    Create .github/workflows/publish-mcp.yml:

    name: Publish to MCPCentral
    on:
      push:
        tags: ["v*"]  # Triggers on version tags like v1.0.0
    
    permissions:
      id-token: write
      contents: read
    
    jobs:
      publish:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v4
    
          - name: Install mcp-publisher
            run: |
              curl -L "https://github.com/modelcontextprotocol/registry/releases/download/latest/mcp-publisher_linux_amd64.tar.gz" | tar xz
              sudo mv mcp-publisher /usr/local/bin/
    
          - name: Authenticate with MCPCentral
            run: mcp-publisher login github-oidc --registry https://registry.mcpcentral.io
    
          - name: Publish to registry
            run: mcp-publisher publish

    Note: After setting this up, simply create and push a version tag (e.g., git tag v1.0.0 && git push --tags) to automatically publish your server!

    Need Help?

    • Make sure your GitHub repository is public and contains a valid MCP server

    • The name field should follow the pattern:io.github.USERNAME/REPO_NAME

    • For npm packages, ensure the package is published and accessible

    • Include package_arguments if your server requires configuration

    • Add remotes if your server supports remote connections (SSE/Streamable HTTP)

    • Visit the publisher tool documentation for detailed guides

    • If you encounter issues, check existing issues or report a new one