私有MCP注册表管理工具

一个基于Git的模板,用于管理私有MCP(Model Context Protocol)服务器注册表,允许组织控制开发者可安装的MCP服务器。

  • by mcp-reg
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 mcp-reg/mcp-registry-template

使用说明

私人MCP注册表

用于管理私有MCP(模型上下文协议)服务器注册表的基于git的模板。组织克隆它来控制他们的开发人员可以安装哪些MCP服务器。

快速启动(5分钟,无需终端)

1.分叉或克隆此存储库

点击 使用此模板 或者分叉到你的GitHub组织。

2.从官方登记处添加MCP

编辑 registry.json 包括来自的服务器 register.modelcontextprotocol.io:

{
    "registries": [
        {
            "name": "MCP Official",
            "url": "https://registry.modelcontextprotocol.io",
            "servers": {
                "ai.exa/exa": "latest"
            }
        }
    ]
}

浏览 MCP注册表 要查找服务器,请按名称添加它们。

3.添加自定义远程MCP服务器

在以下位置创建文件 mcps/atlassian/rovo/server.json:

{
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
    "name": "atlassian/rovo",
    "description": "Atlassian Rovo MCP Server - access Jira, Confluence, and more",
    "version": "1.0.0",
    "remotes": [
        {
            "type": "sse",
            "url": "https://mcp.atlassian.com/v1/sse"
        }
    ]
}

然后将其添加到 registry.json:

{
    "registries": [
        {
            "name": "MCP Official",
            "url": "https://registry.modelcontextprotocol.io",
            "servers": {
                "ai.exa/exa": "latest"
            }
        },
        {
            "name": "private",
            "type": "private",
            "servers_relative_path": [
                "mcps/atlassian/rovo/server.json"
            ]
        }
    ]
}

4.承诺并推动

提交您的更改并推送到GitHub。您的注册表现已上线。

要查看注册表UI,请转到:https://mcp-reg.com然后输入您的repo: REPO_OWNER/REPO_NAME.或者直接使用url(转发 REPO_OWNER 和 REPO_NAME): https://mcp-reg.com/REPO_NAME/REPO_NAME.

5.配置GitHub Copilot以使用您的注册表

您的注册表是通过代理服务提供的,该服务读取您的GitHub仓库并以MCP注册表格式公开。无需注册。

您的注册表URL:

https://mcp-reg.com/{org}/{repo}/main/v0.1/servers

替换 {org} 和 {repo} 使用您的GitHub组织和存储库名称。

适用于企业/组织管理员

  1. 转到您的企业设置→ AI控制 → 主控程序
  2. 启用 “Copilot中的MCP服务器”
  3. 添加您的注册表URL(不包括 /v0.1/servers 后缀)
  4. 集 “限制MCP访问注册表服务器” 到 “仅限注册表” 仅强制执行已批准的服务器

看 GitHub的MCP配置文档 详细说明。


了解注册表

register.json格式

注册表配置定义了从公共注册表和私有源中包含哪些服务器。

公共登记处

从公共MCP注册表(如官方注册表或GitHub的VSCode注册表)获取服务器:

{
    "name": "MCP Official",
    "url": "https://registry.modelcontextprotocol.io",
    "servers": {
        "ai.exa/exa": "latest",
        "some-org/some-server": "1.0.0"
    }
}

选项 servers:

  • 特定服务器: {"author/name": "version"} -仅包括列出的服务器
  • 所有服务器: "*" -包括注册表中的所有内容
  • 例外情况:使用 "exclude": ["unwanted/server"] 当使用 "*"

私有注册中心

参考您的本地服务器定义 mcps/ 文件夹:

{
    "name": "private",
    "type": "private",
    "servers_relative_path": [
        "mcps/your-org/your-server/server.json"
    ]
}

可用的公共注册表

注册表 URL 描述
MCP官员 https://registry.modelcontextprotocol.io MCP官方注册
VSCode/GitHub https://api.mcp.github.com GitHub的VSCode MCP注册表

专用服务器结构

私有服务器位于 mcps/{author}/{name}/server.json.

远程服务器(SSE/HTTP)

对于可通过URL访问的服务器:

{
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
    "name": "your-org/your-server",
    "description": "Your server description",
    "version": "1.0.0",
    "remotes": [
        {
            "type": "sse",
            "url": "https://your-server.com/mcp/sse"
        }
    ]
}

运输类型: sse, streamable-http

关于身份验证的注意事项: 如果MCP服务器需要API密钥或身份验证头,开发人员将在本地环境中配置这些密钥或头(例如VS代码设置)。注册表仅定义 哪个 服务器存在——秘密永远不会进入这个存储库。

软件包服务器(stdio)

对于通过npm/pip安装的服务器:

{
    "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
    "name": "your-org/your-server",
    "description": "Your server description",
    "version": "1.0.0",
    "packages": [
        {
            "registryType": "npm",
            "identifier": "@your-org/your-server",
            "version": "1.0.0",
            "transport": { "type": "stdio" }
        }
    ]
}

CLI参考(可选)

对于本地验证和编译,请安装CLI工具:

python -m venv .venv
source .venv/bin/activate  # or .venv\Scripts\activate on Windows
pip install -e .

命令

# Validate configuration
python scripts/registry.py validate

# Compile registry (fetch public + merge private)
python scripts/registry.py compile

# Add a remote MCP server
python scripts/registry.py add --transport sse atlassian/rovo https://mcp.atlassian.com/v1/sse

# Add a stdio MCP server
python scripts/registry.py add --transport stdio anthropic/everything -- npx -y @anthropic/mcp-server-everything

CLI选项

python scripts/registry.py --json validate   # JSON output for CI
python scripts/registry.py --quiet compile   # Errors only

配置

config.json

可选本地设置:

{
    "output": "dist/registry.json",
    "fetchTimeout": 30
}

从模板更新

从上游模板中提取更新:

git remote add upstream https://github.com/mcp-reg/mcp-registry-template.git
git fetch upstream
git merge upstream/main

文件所有权

您拥有(可自由修改):

  • registry.json
  • config.json
  • mcps/
  • README.md

模板拥有(拉取更新):

  • scripts/
  • schemas/
  • .github/workflows/ (验证PR上的模式)