Submit a Server to MCP Registry
Follow this guide to submit your MCP server using the official publisher tool
1

Download the Publisher Tool

Download the appropriate publisher executable for your operating system.

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.

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

Run the Publisher

Open your terminal, navigate to the directory where you downloaded the files, and run the appropriate command for your operating system:

macOS (Apple Silicon):

chmod +x ./publisher-darwin-arm64
./publisher-darwin-arm64 --mcp-file ./server.json --registry-url https://registry.mcpcentral.io

macOS (Intel):

chmod +x ./publisher-darwin-amd64
./publisher-darwin-amd64 --mcp-file ./server.json --registry-url https://registry.mcpcentral.io

Linux:

chmod +x ./publisher-linux-amd64
./publisher-linux-amd64 --mcp-file ./server.json --registry-url https://registry.mcpcentral.io

Windows:

./publisher-windows-amd64.exe --mcp-file ./server.json --registry-url https://registry.mcpcentral.io

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)

• If you encounter issues, check the publisher tool issues for known problems