MCP注册表服务

一个简单的模型上下文协议(MCP)服务器注册表,用于组织批准的远程和本地托管MCP服务器的中央白名单配置。

  • by heikkivihersalo
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 heikkivihersalo/json-mcp-registry

使用说明

JSON MCP注册表

一个简单的模型上下文协议(MCP)服务器注册表。这可以作为贵组织批准的远程和本地托管MCP服务器的中央白名单配置。

路由查询: /v0.1/servers

像VS Code中的GitHub Copilot或JetBrains这样的企业客户端遵守官方的开源MCP注册表规范。他们不只是阅读你粘贴的确切网址。他们将您的URL视为 基本URL 并将自动向其附加官方端点路径: /v0.1/servers.

所以,如果你把 https://my-company.com/registry 在GitHub设置中,IDE实际上会向以下对象发出网络请求: https://my-company.com/registry/v0.1/servers

要使一个简单的JSON文件工作,您只需要在静态主机上模拟API文件夹结构。实际的JSON数据存储在 v0.1/servers (没有 .json 扩展)。

托管说明

1.“原始GitHub”方法(最简单)

您可以直接在私有或公共GitHub存储库中托管此内容,甚至无需设置GitHub Pages:

  1. 将此存储库推送到GitHub。
  2. 文件夹结构 v0.1/servers 已设置。
  3. 获取仓库根目录的原始URL。它看起来像: https://raw.githubusercontent.com/<OWNER>/<REPO>/main
  4. 使用此URL作为您的基本URL。

2.GitHub Pages/S3方法

如果您更喜欢传统的静态托管(GitHub Pages、AWS S3、Cloudflare Pages):

  1. 部署此工作区。文件夹 v0.1 和文件 servers 已经正确定位。
  2. 确保您的静态主机使用 application/json 内容类型。
  3. 您的基本URL将是您的域(例如。, https://<YOUR-PROJECT>.pages.dev).

将其插入GitHub

一旦您的文件在该路径上生效,您只需将其连接到组织的设置中:

  1. 转到您的GitHub企业或组织设置。
  2. 导航至 政策->副驾驶->政策 (或AI控制选项卡)。
  3. 查找 主控程序 部分并启用它。
  4. 粘贴您的 基本URL 进入 MCP注册表URL 现场。
  5. 将执行模式设置为“仅注册表”。

验证

此存储库包括验证步骤,以确保您的 v0.1/servers 文件始终格式正确且最新。 GitHub行动(.github/workflows/validate.yml)将自动在Pull Requests和Pushs上运行 main 支。

验证包括:

  1. 模式验证:确保注册表符合官方MCP规范。
  2. 秘密侦查:扫描潜在泄露的敏感信息(API密钥、URI等)。
  3. 版本同步:验证所有基于NPM的服务器是否使用其最新可用版本。

要在本地进行测试:

npm install

# Run all tests (schema + secret detection + version check)
npm test

# Run only version synchronization check
npm run test:versions

自动更新

为了使您的注册表与社区的最新版本保持同步,您可以自动将所有基于NPM的服务器更新到其最新版本:

# Checks NPM registry and updates version strings in v0.1/servers
npm run update:packages

……的结构 v0.1/servers

{
  "servers": [
    {
      "server": {
        "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
        "name": "io.github.namespace/server-name",
        "description": "Clear human-readable explanation...",
        "version": "1.0.0",
        "packages": [
          {
            "registryType": "npm",
            "identifier": "package-name",
            "transport": { "type": "stdio" }
          }
        ]
      },
    }
  ],
  "metadata": {
    "nextCursor": null,
    "count": 1
  }
}

未来路线图(TODO)

1.来源/构建管道

目前,所有MCP服务器都存储在单个 v0.1/servers 文件。随着此注册表的扩展,管理单个JSON文件将导致合并冲突和格式问题。

规划架构:

  • 创建一个 src/servers/ 字典,其中每个服务器配置都是一个独立的JSON文件(例如。 src/servers/figma.json).
  • 编写Node.js构建脚本(npm run build)即:
    • 将所有单独的JSON文件聚合到 v0.1/servers 结构。
    • 自动计算并注入 metadata.count 现场。
    • 格式化最终输出。
  • 这将把注册表的“源代码”与提供给客户端的最终“静态工件”分开。