mcpField
M
MCP Registry Server

MCP Registry Server

远程服务
run.mcp.com.ai开发工具7.4k1 天前更新

关于 MCP Registry Server

MCP Registry Server 是一个 MCP 服务,通过官方 MCP Registry 发布和查找 MCP 服务,基于 HAPI MCP 服务提供支持。

主要功能

  1. 01发布 MCP 服务到官方注册表
  2. 02查找已注册的 MCP 服务
  3. 03基于 HAPI MCP 服务运行

适用场景

  1. 01在 MCP 注册表中搜索可用的 MCP 服务
  2. 02通过 MCP 客户端发布自己的 MCP 服务

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端提供 MCP 注册表的发布与发现功能。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://registry.run.mcp.com.ai/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

MCP 注册表

MCP 注册表为 MCP 客户端提供 MCP 服务列表,可视为 MCP 服务的应用商店。

📤 发布我的 MCP 服务 | ⚡️ 在线 API 文档 | 👀 生态愿景 | 📖 完整文档

开发状态

2025-10-24 更新:注册表 API 已进入API 冻结期(v0.1) 🎉。未来一个月或更久,API 将保持稳定,不会有破坏性变更,让集成方可以放心地实现支持。此冻结适用于 v0.1,v0 的开发仍在继续。我们将利用这段时间在真实集成中验证 API,并收集反馈,为 v1 正式发布做好准备。感谢大家的贡献与耐心——正是你们的参与帮助我们走到了今天!

2025-09-08 更新:注册表已启动预览版 🎉(公告博客文章)。虽然系统现在更加稳定,但这仍是预览版,可能会发生破坏性变更或数据重置。之后将发布正式可用(GA)版本。欢迎通过 GitHub 讨论区或 #registry-dev Discord(此处提供加入详情)分享反馈。

注册表工作组:

参与贡献

我们通过多个渠道开展协作——请参阅 modelcontextprotocol.io/community/communication。

想法通常(但不总是)会沿着以下流程推进:

快速开始:
前置条件
  • Docker
  • Go - 版本以 go.mod 中的 go 指令为准;Go 工具链会自动为你获取
  • ko - Go 的容器镜像构建工具(安装说明)
  • golangci-lint - 版本以 ci.yml 中 golangci-lint-action 的固定版本为准,确保本地 lint 与 CI 一致
运行服务
# Start full development environment
make dev-compose

这会使用 PostgreSQL 在 localhost:8080 启动注册表。数据库使用临时存储,每次重启容器时都会重置,确保开发和测试环境保持干净。

注意: 注册表使用 ko 构建容器镜像。make dev-compose 命令会自动使用 ko 构建注册表镜像,并在启动服务前将其加载到本地 Docker 守护进程中。

默认情况下,注册表会从生产 API 获取种子数据,并筛选出部分服务(以缩短启动时间)。这样可以确保本地环境与生产环境行为一致,且所有种子数据都通过验证。对于离线开发,可以通过 MCP_REGISTRY_SEED_FROM=data/seed.json MCP_REGISTRY_ENABLE_REGISTRY_VALIDATION=false make dev-compose 从文件加载种子数据且不进行验证。

可以通过 docker-compose.yml 中的环境变量配置此设置;参考 .env.example。

替代方案:运行预构建的 Docker 镜像

预构建的 Docker 镜像会自动发布到 GitHub Container Registry。请注意,镜像不包含 PostgreSQL,因此你需要自行运行 PostgreSQL,并通过 MCP_REGISTRY_DATABASE_URL 将注册表指向它(可参阅 docker-compose.yml 中的可用示例):

# Run latest stable release
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:latest

# Run latest from main branch (continuous deployment)
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main

# Run specific release version
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0

# Run development build from main branch
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d

可用标签:

  • 版本发布: latest、v1.0.0、v1.1.0 等。
  • 持续构建: main(最新的 main 分支构建)
  • 开发构建: main-<date>-<sha>(特定提交的构建)
发布服务

发布 MCP 服务并非通过向此仓库提交拉取请求来完成。添加 server.json、服务目录或 data/seed.json 中的条目,都不会发布或列出你的服务,即使拉取请求已合并也不行。请改用你自己的服务项目中的 mcp-publisher CLI。

我们构建了一个简单的 CLI 来发布服务。你可以这样使用:

# Build the latest CLI
make publisher

# Use it!
./bin/mcp-publisher --help

更多详情请参阅发布工具指南。

其他命令
# Run lint, schema validation, and all tests
# Note: this also runs `make dev-down`, stopping any running dev-compose environment
make check

开发时还有一些其他实用命令。运行 make help 了解详情,或查看 Makefile。

架构

项目结构
├── cmd/                     # Application entry points
│   ├── publisher/           # Server publishing tool
│   └── registry/            # Registry API server
├── data/                    # Seed data
├── deploy/                  # Deployment configuration (Pulumi)
├── docs/                    # Documentation
├── internal/                # Private application code
│   ├── api/                 # HTTP handlers and routing
│   ├── auth/                # Authentication (GitHub OAuth, JWT, namespace blocking)
│   ├── config/              # Configuration management
│   ├── database/            # Data persistence (PostgreSQL)
│   ├── importer/            # Seed data import
│   ├── service/             # Business logic
│   ├── telemetry/           # Metrics and monitoring
│   └── validators/          # Input validation
├── pkg/                     # Public packages
│   ├── api/                 # API types and structures
│   │   └── v0/              # Version 0 API types
│   └── model/               # Data models for server.json
├── scripts/                 # Development and testing scripts
├── tests/                   # Integration tests
└── tools/                   # CLI tools and utilities
    └── validate-*.sh        # Schema validation tools
身份验证

发布支持多种身份验证方式:

  • GitHub OAuth——登录 GitHub 后发布
  • GitHub OIDC——从 GitHub Actions 发布
  • DNS 验证——证明对域名及其子域名的所有权
  • HTTP 验证——证明对域名的所有权

注册表会在发布时验证命名空间的所有权。例如,要发布以下服务:

  • io.github.domdomegg/my-cool-mcp,你必须以 domdomegg 的身份登录 GitHub,或在 domdomegg 的仓库中运行 GitHub Action
  • me.adamjones/my-cool-mcp,你必须通过 DNS 或 HTTP 验证证明你拥有 adamjones.me

社区项目

查看社区项目,了解社区创建的值得关注的注册表相关项目。

更多文档

如果这里没有解答你的问题,请参阅文档了解详情!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。