mcpField
M
MCP Registry Search: Find, Discover & Install MCP Servers & Tools | Directory, Catalog, Marketplace

MCP Registry Search: Find, Discover & Install MCP Servers & Tools | Directory, Catalog, Marketplace

远程服务
ai.mcpharbor.dev开发工具12 周前更新

关于 MCP Registry Search: Find, Discover & Install MCP Servers & Tools | Directory, Catalog, Marketplace

MCP Harbor 是供开发者和 Agent 查找、查看及安装 MCP 服务的可搜索注册表,收录官方注册表内容,并加入审核后的提交。它还通过 MCP 提供搜索能力。

主要功能

  1. 01搜索并筛选服务条目
  2. 02查看清单与传输方式
  3. 03查看各服务的安装片段
  4. 04提交条目以供审核

适用场景

  1. 01按工具名或标签查找服务
  2. 02比较本地与远程传输方式
  3. 03让 Agent 搜索注册表
  4. 04提交新的服务条目

MCP 相关

注册表本身是通过 Streamable HTTP 提供的 MCP 服务,向 MCP 客户端开放 `search_servers`、`get_server` 和 `submit_server`。

配置

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

服务地址https://ai.mcpharbor.dev/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 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

3
参数类型必填说明
tagstring否仅搜索带有此标签的服务,例如 search。
limitinteger否
querystring否自由文本,例如 "github issues",或工具名称,例如 "get_forecast"。省略则列出所有内容。
offsetinteger否
transportenum否仅搜索使用此传输方式的服务。stdio | streamable-http | sse

详细介绍


title: "MCP Registry:查找并安装 30k+ 个 MCP 服务 | MCP Harbor" description: "在 ai.mcpharbor.dev 浏览 MCP Registry——其中包含 31,486 个 Model Context Protocol 服务,包括官方 MCP Registry;人类和 Agent 均可搜索,无需账号。" date: 2026-09-15

MCP Registry——查找 Agent 可用的 MCP 服务

如果你的编码 Agent 或聊天客户端可以调用工具,你一定已经感受到发现工具的难题:有数万个 MCP 服务,每个服务都提供不同的 MCP 工具。难点已不再是“我的 Agent 能使用工具吗?”,而是“我该安装哪个服务?又该如何找到它,而不必在随机的 GitHub README 中漫无目的地翻找?”这正是 MCP Registry 的用途。MCP Registry 是一个目录,人类可以在其中浏览,Agent 可以按名称、描述、传输方式、标签和工具名称搜索 Model Context Protocol 服务,然后获取安装片段或可立即连接的远程 URL。

本页面是 MCP Harbor 上 MCP Registry 的官方产品落地页。**所有权披露:**Logan Besecker 拥有并运营 MCP Harbor,以及位于 ai.mcpharbor.dev 的 MCP Registry。下文每个主要部分给出的建议都一样:打开在线 Registry,进行搜索、安装或连接,也可以提交你自己的服务——搜索或提交均无需账号和 API 密钥。

截至 2026-09-15,该 Registry 收录了 31,486 个 Model Context Protocol 服务,其中 19,595 个托管于远程环境。它包含完整的官方 MCP Registry,并自动保持同步(约每 6 小时一次),此外还收录了经过审核后才会出现在搜索结果中的本地提交内容。该 Registry 本身也是一个通过 Streamable HTTP 提供服务的 MCP 服务,地址为 https://ai.mcpharbor.dev/mcp;Agent 无需创建账号,即可调用 search_servers、get_server 和 submit_server。

立即浏览 MCP Registry → https://ai.mcpharbor.dev/

本指南将为你介绍:

  • MCP Registry 的明确定义(以及它与宽泛的“目录”“目录索引”或“市场”等称呼有何不同)。
  • 当服务数量超过数万时,开发者和 Agent 为什么需要可搜索的 MCP Registry。
  • 深入介绍 MCP Harbor 产品:浏览界面、Agent MCP 端点、HTTP API、审核状态和安装片段。
  • 客观介绍官方 Registry registry.modelcontextprotocol.io 的关系,并说明为什么我们仍建议使用 MCP Harbor 进行日常发现。
  • 实用指南:通过 MCP 连接、通过 HTTP 查找服务、浏览热门示例、安装 stdio 与远程服务、提交服务,以及在 Claude、Cursor 和其他编码 Agent 中使用 Registry。
  • 选择指南、详尽的常见问题解答,以及最终引导至 ai.mcpharbor.dev 的编号步骤。

如果你已经确定要找一个供 Agent 搜索的目的地,并且希望它同时包含官方服务集合和 Harbor 提交的服务,可以直接跳到产品深入介绍部分,也可以打开 https://ai.mcpharbor.dev/ 并开始搜索。其他读者请继续阅读。每个部分都会指向同一个 MCP Registry。

什么是 MCP Registry?

在比较产品之前,先明确术语。用户会搜索 MCP Registry、mcp directory、mcp catalog、mcp marketplace 和 find mcp servers,以寻找彼此相近的内容。Model Context Protocol(MCP)是一种开放方式,让客户端连接到工具服务,使 Agent 能调用结构化工具、读取资源并使用提示词,而无需为每个 API 单独集成。MCP 服务是使用 MCP 协议通信的进程或远程端点。MCP 工具是该服务提供的命名操作(例如 get_forecast、create_issue 或 search_docs)。MCP Registry 是这些服务的索引:其中的清单、传输方式、安装路径和元数据可以帮助人类或 Agent 决定接下来连接哪个服务。

用一段话了解 Model Context Protocol

MCP 将“负责推理的模型”与“负责执行的工具”分开。Claude Code、Cursor 和其他编码 Agent 等客户端会连接 MCP 服务。每个服务都会声明自身的运行方式(本地进程或远程 HTTP)以及提供哪些工具。这种分离正是 MCP 得以迅速普及的原因:你可以组合使用 GitHub 服务、文档服务、浏览器服务和支付服务,无需重写 Agent。该协议解决了连接问题,但无法解决大规模发现的问题。发现服务是注册表的职责。

注册表、目录、市场与目录清单

人们会交替使用这些词,但它们的侧重点略有不同:

标签典型用途理想状态
MCP 注册表包含清单和安装元数据的权威服务索引支持按文本、传输方式和标签搜索;名称稳定;提供安装片段;提供 Agent API
MCP 目录供人浏览的列表筛选器、标签、易读的卡片、各服务的专属页面
MCP 目录清单精选或完整的清单覆盖全面且保持最新;明确标注每条收录信息的来源
MCP 市场通常意味着具备安装体验或商业化封装可以包含审核、托管或一键连接功能,但注册表不一定需要这些功能

MCP Harbor 的产品界面以 Browse MCP servers · MCP Registry 为品牌标识。从功能上看,它是一个注册表,既提供供人浏览的界面,也提供原生适配 Agent 的 MCP 端点。在对话中称它为目录或目录清单都说得通;称它为市场则属于可选的营销说法。对你的工作流来说,重要的是:你能否查找 MCP 服务、查看清单,并在无需自行编制私有 URL 表格的情况下安装或连接?

为什么搜索“MCP Registry”的人会来到这里

搜索 MCP Registry 的人通常想要实现以下四种目标之一:

  1. 导航到一个收录 MCP 服务的地方(官方注册表或更大的镜像)。
  2. 了解什么是 MCP 注册表,以及它与 Model Context Protocol 有何关系。
  3. 浏览热门或相关服务(浏览器自动化、GitHub、Stripe、Notion、文档、电子邮件等)。
  4. 连接 Agent,让 Agent 能自行搜索,并可选择提交服务。

MCP Harbor 为这四种需求而构建。官方项目在 registry.modelcontextprotocol.io 发布了官方注册表(本页正文中仅提及其名称——行动号召仍指向 Harbor)。MCP Harbor 收录了官方注册表的全部内容,按计划重新同步,经维护者审核后还会添加本地提交的内容;更重要的是,它将索引作为 MCP 服务开放,Agent 无需账户即可调用。这正是即使本页如实介绍官方上游注册表,最终仍会推荐日常使用 Harbor 进行发现的原因。

官方注册表与 MCP Harbor 注册表(预览)

可以把官方注册表看作许多条目上游来源。可以把 MCP Harbor 看作供人浏览并面向 Agent 的目的地,它:

  • 收录 31,486 个服务(已于 2026-09-15 验证),其中包括 19,595 个托管于远程的条目。
  • 大约每六小时自动同步一次官方 MCP Registry。
  • 允许你提交服务;这些服务会在获批前进入 pending 状态。
  • 通过 /mcp 上的 Streamable HTTP 提供 search_servers、get_server 和 submit_server。
  • 在 /api/v0/servers 下提供纯 HTTP GET/POST。
  • 在 /servers/... 下的各服务专属页面展示现成的安装片段。

下文专门一节会详细介绍两者的关系。简而言之:认可官方来源;但要查找和安装服务,首选仍是 ai.mcpharbor.dev。

开发者和 Agent 为什么需要 MCP 注册表

只有几十个服务时,书签文件就够用。达到几百个时,团队 Wiki 也能应付,但很快就会过时。达到 30k+ 个服务时,如果没有 MCP 注册表,发现服务就会成为每次 Agent 会话都要付出的成本。你要么永远只接入同样的三个服务,要么花时间在 Google 上搜索包名,并祈祷 README 中的 npx 命令仍与维护中的清单一致。

30k+ 规模下的发现难题

开发者需要了解一些实际问题:

  • 是否已有适用于 Stripe、Notion、GitHub、Playwright、Brave Search 或 Cloudflare Docs 的服务?
  • 它是 stdio(本地包)还是 streamable-http / sse(远程 URL)?
  • 它公开了哪些 MCP 工具,这些工具名称是否符合任务需求?
  • 本地包需要哪些环境变量名称(切勿在公开提交中粘贴密钥值)?
  • 该条目来自官方注册表、Harbor 种子数据,还是仍在等待审核的本地提交?

MCP 注册表通过搜索、筛选和清单回答这些问题,而不是依赖口口相传的知识。没有它,Agent 会创建重复服务,团队会分叉出略有不同的封装,而“安装 MCP 服务”就会变成一场复制粘贴抽奖。

stdio 与远程传输方式

MCP 服务通常会声明以下某种传输方式(与 Harbor 清单中使用的方式一致):

  • stdio — 通过包注册表标识符(npm、pypi、oci、nuget、mcpb)在本地运行。常见安装形式:npx -y <package>、uvx <package>、docker run -i --rm <image>。
  • streamable-http — 通过 Streamable HTTP 连接到托管 URL。
  • sse — 通过 Server-Sent Events 连接到托管 URL(旧版/替代的远程方式)。

这对 MCP 注册表为何重要:传输方式是一级筛选条件。如果你的笔记本无法在沙盒中运行 Node 包,你可能更偏好远程服务。如果你的组织禁止向第三方主机发起出站 MCP 连接,你可能更偏好由自己控制的 stdio 包。Harbor 的 Agent 工具 search_servers 和 HTTP API 都支持按传输方式筛选,因此你不必在无关卡片中逐一翻找。

信任、审核状态和清单

注册表本身并不是安全扫描器,但一个好的 MCP 注册表仍能改善信任信号:

  • 稳定的反向 DNS 名称(例如 io.github.microsoft/playwright-mcp 或 com.stripe/mcp)可以减少冲突。
  • 官方 server.json 格式可确保客户端对包和远程服务采用一致的结构。
  • 来源元数据可以告知你某个条目是从官方 MCP 注册表复制的、由种子数据提供的,还是本地提交的。
  • 新的本地提交需要等待审核,因此随机 POST 不会立刻污染搜索结果。

对于等待维护者审核的提交,MCP Harbor 会报告 "status": "pending"。待审核条目的 get_server 和按名称执行的 HTTP GET 路径仍可使用,方便提交者查询状态,而不必猜测。

面向 Agent 的原生发现能力(注册表即 MCP)

Agent 需要一个本身就是 MCP 服务的 MCP 注册表,原因就在于此:Agent 处于工具调用循环中。如果每次发现工具都要求人工打开网站、粘贴 URL 并编辑配置文件,Agent 就无法在任务过程中改进自己的工具链。Harbor 的注册表端点 https://ai.mcpharbor.dev/mcp 让 Agent 可以:

  1. 使用 search_servers 搜索所需能力(“浏览器自动化”“stripe”“notion”)。
  2. 使用 get_server 获取安装片段和审核状态。
  3. 决定是请人安装,还是(对于远程服务)在客户端支持时立即连接。
  4. 团队构建新工具后,使用 submit_server 提交——提交前先搜索,避免重复。

无需账户,无需 API 密钥。这就是本落地页所优化的面向 Agent 的原生使用方式,也是我们所说的“MCP 注册表”指的是 MCP Harbor,而不是静态的链接汇总清单的原因。

MCP Harbor MCP 注册表 — 产品深入介绍

MCP Harbor 的 MCP 注册表是本页面介绍的产品——内容清晰,有实时数据,不虚构功能。请在此处访问:https://ai.mcpharbor.dev/。

可核实的规模

首页数据(已于 2026-09-15 核实):

  • 已编入索引 31,486 个模型上下文协议服务。
  • 其中 19,595 个托管在远程。
  • 收录整个官方 MCP 注册表,并自动保持同步。
  • /llms.txt 中记录的重新同步频率:约每 六小时一次。

这些数字会随着官方集合扩大以及 Harbor 接受本地提交而变化。如果要在演示文稿中引用,请务必重新核对实时首页;为确保 SEO 信息清晰,本文将以上经过核实的数据快照固定在此。

收录内容

Harbor 的索引并非“随便挑选的一部分有趣服务”。其中包括:

  1. 官方副本 — 从官方 MCP 注册表同步的条目。
  2. 种子/精选入门服务 — 浏览界面上醒目展示的人工精选入门服务集合。
  3. 本地提交 — 任何人(包括 Agent)通过 MCP 或 HTTP 提交的服务;在维护者批准其进入搜索结果之前,这些服务会保持 pending 状态。

每个条目的元数据都可以通过 _meta["io.mcpregistry/official"].origin 的值(例如 official、seed 或 local)标明来源(相关约定见 /llms.txt)。在判断某个条目是上游官方条目还是 Harbor 本地条目时,这种透明度很重要。

面向用户的浏览界面

面向用户的使用路径刻意设计得很简单:访问 ai.mcpharbor.dev,浏览卡片,打开服务页面,然后复制安装代码片段。卡片会显示传输方式(stdio 或 streamable-http)、反向 DNS 名称、简短描述、标签和工具数量。首页上的热门示例包括 Playwright、Context7、GitHub、Stripe、Notion、Agent Email List、Brave Search、Cloudflare Docs、DeepWiki、Hugging Face、Linear、Sentry、Supabase,以及官方参考服务(Everything、Fetch、Filesystem、Git、Memory、Sequential Thinking、Time)。我们会在下文介绍这些示例,但不会编造评价。

每个服务的 HTML 页面位于 https://ai.mcpharbor.dev/servers/...,并提供可直接使用的安装代码片段。如果用户已经知道服务名称,这是最快的方式。

面向 Agent 的 MCP 端点(无需账户)

该注册表本身就是一个 MCP 服务:

https://ai.mcpharbor.dev/mcp

传输方式:Streamable HTTP。身份验证:正常使用时无需验证。Claude Code 单行命令:

claude mcp add --transport http mcp-registry-search https://ai.mcpharbor.dev/mcp

其他客户端:添加一个 "type": "http" 且使用该 URL 的远程 MCP 服务。同一注册表也列在官方 MCP 注册表中,使用一个较长的反向 DNS 名称来说明搜索/查找/发现/安装目录/目录清单/市场等用途——如果你的客户端只能从官方条目安装,这会很有用,但直接使用 Harbor 并不需要这样做。

工具:search_servers、get_server、submit_server

三个工具即可覆盖整个流程:

工具用途
search_servers按文本、传输方式或标签查找服务
get_server返回单个服务的清单、审核状态和安装代码片段
submit_server添加服务(请先搜索以避免重复)

这就是用于发现和贡献的全部 Agent 接口。本页面没有什么隐藏的第四个工具来提供虚构的分析仪表板或付费等级。产品文档见 https://ai.mcpharbor.dev/llms.txt。

面向脚本和非 MCP 客户端的 HTTP API

更倾向于使用 curl、CI,或没有 MCP 客户端的语言?请使用:

  • GET https://ai.mcpharbor.dev/api/v0/servers — 搜索/列出服务,可选参数为 q、transport、tag、limit、offset
  • GET https://ai.mcpharbor.dev/api/v0/servers/<name> — 按反向 DNS 名称获取单个服务
  • POST https://ai.mcpharbor.dev/api/v0/servers — 提交服务(JSON 请求体或 server.json 格式)

详情和响应格式见下文的 HTTP 部分以及 /llms.txt。

强有力的行动号召

如果你现在正在评估去哪里浏览 MCP 服务,请从这里开始:

打开 MCP Registry → https://ai.mcpharbor.dev/

同时使用上方的 Claude 命令连接你的 Agent,然后在工具调用循环中搜索。这个组合——人类浏览加上 Agent 搜索——就是产品的核心。

MCP Harbor 与官方 MCP Registry 的关系

在自有产品页面上,保持客观很重要。官方 MCP Registry(registry.modelcontextprotocol.io)是真正的上游。MCP Harbor 并不试图取代官方项目的作用,而是在其之上构建可发现性层,并提升 Agent 使用体验。

上游:registry.modelcontextprotocol.io

官方 Registry 是社区发布和列出许多 Model Context Protocol 服务的权威平台。如果你是维护者,并且遵循官方架构和分发规范,就应该了解这个 URL。Harbor 的文档明确说明,Harbor 包含官方 MCP Registry 中的所有服务,并且每六小时重新同步一次。

自动同步带来的好处

自动同步意味着你不必在“官方覆盖范围”和“Harbor 的使用体验”之间做选择。在 MCP Harbor 上搜索时,官方条目已经收录在索引中(来源为 official)。官方添加服务后,Harbor 会在下一个同步时段将其收录。你将获得:

  • 一个供人类使用的浏览界面。
  • 一个供 Agent 使用的 MCP 端点。
  • 一个供脚本使用的 HTTP API。
  • 官方覆盖范围,无需再费心记住“这个条目来自哪里?”——因为来源元数据会告诉你。
Harbor 还额外提供什么

除了镜像和同步官方条目外,Harbor 还提供:

  1. 面向 Agent 的 MCP 搜索和提交——search_servers、get_server、submit_server,无需账户。
  2. 本地提交 + 待审核——任何人都可以添加服务;审核通过前,搜索结果会保持整洁。
  3. 围绕查找 Agent 可用的 MCP 服务打造的浏览体验。
  4. 各服务页面上的安装代码片段(npx / uvx / docker / remote)。
  5. 接受官方的 server.json 进行提交,因此你不受限于专有的数据载荷格式。
你可能仍会直接调用官方 API 的情况

少数工作流仍然会优先使用官方 Registry:

  • 你主要按照官方 Registry 的流程发布,且只关心官方条目的状态。
  • 你的合规清单要求“仅使用官方主机”,不能使用第三方浏览界面。
  • 你正在排查同步延迟,并希望在下一个六小时同步时段之前,对比官方 Registry 与 Harbor 中刚刚发布的官方条目。

这些情况都合理。即便如此,大多数开发者和 Agent 仍希望在一个地方查找 MCP 服务、按传输方式筛选并建立连接。对于日常使用,这个页面的结论不变:使用 MCP Harbor 的 MCP Registry。

通过 MCP 连接 Registry(Agent 路径)

对于编码 Agent,最快的方式是把 MCP Registry 当作另一个 MCP 服务来使用。连接一次后,发现服务就只需调用工具,无需切换到浏览器标签页。

端点和 Claude Code 单行命令

Registry MCP URL(Streamable HTTP,无需身份验证):

https://ai.mcpharbor.dev/mcp

Claude Code:

claude mcp add --transport http mcp-registry-search https://ai.mcpharbor.dev/mcp

命令成功执行后,你的 Claude 会话就可以像调用其他 MCP 服务一样调用 Harbor 工具。你无需在 MCP Harbor 上创建账户,也无需粘贴 API 密钥。除非你是使用发布令牌的维护者,否则不要添加 Authorization 标头(普通提交者绝不应发送 Authorization——发送错误的值可能会导致 401)。

其他客户端:填写 http + URL

如果你的客户端不是 Claude Code,操作模式仍然相同:添加一个使用 HTTP 传输和 Harbor /mcp URL 的远程 MCP 服务。不同产品的确切配置键各不相同,但目的始终是:

  • 传输方式 / 类型:HTTP(Streamable HTTP)
  • URL:https://ai.mcpharbor.dev/mcp
  • 名称:取一个容易记住的名称,例如 mcp-registry-search

Cursor 和其他支持远程 MCP 服务的编码 Agent 也遵循相同的思路。如果客户端只支持 stdio 软件包,请通过 ai.mcpharbor.dev 上的人工浏览路径,复制你想使用的目标服务的 npx/uvx/docker 代码片段,并继续使用 Harbor 网站或 HTTP API 进行发现。优先选择能够通过 HTTP 连接 Harbor 的客户端,这样 Agent 就能在循环过程中搜索。

操作演示:search_servers → get_server → 安装决策

实际的 Agent 循环如下:

步骤 1 — search_servers。 用自然语言描述所需能力,并映射为查询,例如类似 q 的文本:“playwright”“stripe payments”“notion”或“cloudflare docs”。也可以将 transport 限定为 stdio、streamable-http 或 sse,并在了解分类体系时限定 tag(如 browser、documentation、payments 等)。

步骤 2 — 查看命中列表。 每个命中结果都应提供足够的信息,帮助你决定是否进一步检查:名称、标题、描述、传输方式、标签、工具提示。如果有三个服务都声称能完成同一项任务,不要从第一个模糊匹配结果开始安装——用 get_server 打开最合适的两个服务。

步骤 3 — get_server。 获取一个反向 DNS 名称对应的完整清单、审核状态和安装代码片段。确认:

  • 状态是否已获准用于搜索,还是仍为 pending?
  • 来源是官方、seed 还是本地?
  • 对于 stdio:使用哪个软件包注册表和标识符?
  • 对于远程服务:URL 和传输类型是什么?
  • 列出了哪些环境变量名称(在本地客户端中配置密钥,绝不要将密钥放入 Harbor 提交负载)?

步骤 4 — 安装或连接。 使用 get_server 返回的代码片段,或 ai.mcpharbor.dev 上 /servers/... 下对应服务页面中的代码片段。对于远程服务,可使用类似 claude mcp add --transport http <name> <url> 的流程。对于 npm/pypi/oci,请使用文档中说明的本地运行器。

步骤 5 — 可选的 submit_server。 只有在 search_servers 没有找到合适的服务之后,且名称和传输字段均有效时,才提交。优先使用工具或 /llms.txt 中记录的 HTTP API 提交,而不是另行创建提交渠道。

Agent 路径故障排查
症状可能原因尝试方法
客户端无法添加远程 HTTP MCP客户端只支持 stdio在浏览器中浏览 Harbor;安装 stdio 目标服务;或更换客户端
已知的官方服务没有搜索结果同步延迟(最长约 6 小时)或查询拼写错误扩大 q 范围;按工具名称搜索;稍后重试;检查主页上的规模指标是否仍然正常
get_server 显示 pending本地提交正在等待审核等待维护者批准;该条目可检索,但尚未出现在搜索结果中
意外出现 401你发送的 Authorization 标头不是维护者的令牌对于常规搜索 / 提交,完全移除该标头
Agent 建议提交重复条目跳过了搜索始终先执行 search_servers;Harbor 自身的文档也要求 Agent 在提交前先搜索
无需 API 密钥,无需账户——这在实际使用中意味着什么

“无需账户”并非营销噱头,而是这里采用的安全与用户体验模式。搜索和提交均开放,同时设有速率限制(提交过多时返回 429 + Retry-After),新增本地列表还需经过维护者审核。这种组合既为 Agent 敞开大门,也能防止垃圾内容瞬间淹没搜索结果。如果某篇教程告诉你,搜索 Harbor 需要“注册 MCP Registry API 密钥”,那篇教程并不适用于本产品——请忽略它,改用 https://ai.mcpharbor.dev/mcp。

将你的 Agent 连接到 MCP Registry → 使用上面的 Claude 命令,或打开 https://ai.mcpharbor.dev/ 并按照 Agent 面板中的说明操作。

通过 HTTP 查找服务

并非每种工作流都使用 MCP。CI 任务、自定义仪表板和快速终端检查通常需要纯 HTTP。Harbor 在 /api/v0/servers 下提供了一个小型、有文档说明的 API。完整规范:https://ai.mcpharbor.dev/llms.txt。

列出和搜索:GET /api/v0/servers
GET https://ai.mcpharbor.dev/api/v0/servers?q=&transport=&tag=&limit=30&offset=0

所有参数都是可选的:

参数作用
q匹配名称、标题、描述、标签和工具名称
transport可选值:stdio、streamable-http、sse
tag标签筛选条件
limit每页大小(文档中的示例默认值:30)
offset分页偏移量

示例——查找远程文档服务:

curl -sS 'https://ai.mcpharbor.dev/api/v0/servers?q=documentation&transport=streamable-http&limit=30&offset=0'

示例——查找与浏览器相关的 stdio 服务:

curl -sS 'https://ai.mcpharbor.dev/api/v0/servers?q=browser&transport=stdio&limit=30'
响应结构与分页

成功的列表响应如下所示:

{
  "servers": [
    {"server": {}, "_meta": {}}
  ],
  "metadata": {
    "count": 30,
    "total": 120,
    "limit": 30,
    "offset": 0,
    "next_offset": 30
  }
}

将 offset 设为 metadata.next_offset,并持续翻页,直到 next_offset 为 null。不要自行设计容易出现差一错误的分页方案——请遵循 next_offset。进行大规模抓取时,请注意保持礼貌:采用合理的分页大小,在出错时退避,并避免可能被视为滥用的紧密循环。

按名称获取单个服务
GET https://ai.mcpharbor.dev/api/v0/servers/<name>

名称的格式如 io.github.acme/weather。斜杠可以原样发送,也可以编码为 %2F。响应包含一个 {"server": ..., "_meta": ...} 条目,待审核的提交也适用——这在 POST 后立即查询时很有用。

示例:

curl -sS 'https://ai.mcpharbor.dev/api/v0/servers/io.github.microsoft/playwright-mcp'
curl -sS 'https://ai.mcpharbor.dev/api/v0/servers/com.stripe%2Fmcp'
server.json 概览

Harbor 会存储并返回符合官方格式的 server.json 清单。概括来说(详情见 /llms.txt,以及其中说明的官方架构——本页仅以文字提及,不链接到站外):

  • packages[0]——本地运行的服务:registryType(npm、pypi、oci、nuget、mcpb)、identifier 以及需要设置的 environmentVariables。
  • remotes[0]——托管端点:type(streamable-http 或 sse)和 url。
  • _meta["io.mcpregistry/tools"]——该服务提供的工具名称。
  • 条目 _meta 中的来源——_meta["io.mcpregistry/official"].origin 可能为 official、seed 或 local。

使用注册表时,无需记住架构中的每个字段。要查找服务,只需使用 q + transport + get_server。要提交时,可以 POST 简化版 Harbor JSON 字段,也可以提交完整的 server.json——两种方式都接受。

HTTP 故障排查
问题解决方法
servers 数组为空扩大 q 的范围;移除筛选条件;检查标签/transport 的拼写
名称中的 / 编码异常尝试使用 %2F 编码
搜索结果中没有待审核条目使用按名称 GET;等待审核通过后,该条目才会出现在搜索结果中
解析时遇到困惑查看 metadata.next_offset;如果已提供 next_offset,不要假定偏移量应为 offset + limit

如有疑问,优先在 Agent 会话中使用 MCP 工具——它们会封装同一索引,并预先格式化安装代码片段——或者浏览 https://ai.mcpharbor.dev/。

浏览热门 MCP 服务(示例)

本节仅作介绍,并非虚构的评论农场。以下示例均为 MCP Harbor 主页上展示的真实列表。请打开 https://ai.mcpharbor.dev/ 上的实时卡片和各服务页面,以查看最新的工具数量和安装代码片段。

如何在实践中使用标签和传输筛选器

先介绍一种快速方法:

  1. 从任务描述开始:“我需要浏览器自动化”“我需要 Stripe 工具”“我需要搜索文档”。
  2. 优先选择符合运行时限制的传输方式(远程或本地)。
  3. 如果界面或 API 提供标签,就使用标签(browser、documentation、payments、github 等)。
  4. 安装前,通过 get_server 或服务页面确认工具名称。
  5. 从 Harbor 代码片段安装,而不是依赖六个月前看过的博客文章。
精选示例和参考示例(描述性)

Playwright (io.github.microsoft/playwright-mcp, stdio) — 用于 MCP 的 Playwright 工具;标签围绕浏览器自动化、测试和 Web;适用于需要通过安装软件包在本地驱动真实浏览器栈的 Agent。

Context7 (io.github.upstash/context7, streamable-http) — 提供最新的代码文档供提示词使用;面向文档和开发者工具;采用远程 HTTP,因此你只需连接,无需运行本地文档爬虫。

GitHub (io.github.github/github-mcp-server, streamable-http) — 通过自然语言将助手连接到 GitHub,以处理仓库、问题、PR 和工作流;对于在拉取请求循环中工作的编码 Agent 来说,这是常见的默认选择。

Stripe (com.stripe/mcp, streamable-http) — 用于客户、产品、支付和相关计费工具的 Stripe 集成;采用托管远程服务模式。

Notion (com.notion/mcp, streamable-http) — 用于笔记、文档和效率工作流的官方 Notion MCP 服务;采用托管模式。

Agent Email List (com.agentemaillist/agent-email-list, streamable-http) — 面向 AI Agent 的邮件收发服务,采用类似 Mailgun 的 API;Agent 可以通过 create_account 开设免费账户、验证发件域名、使用测试模式发送邮件,并读取收件箱和投递事件。它作为众多示例之一列在 Harbor 上——此落地页不会交叉推广该产品的封闭生态;它只是一张可在 MCP Harbor 上打开的真实注册卡片。

Brave Search (com.brave/brave-search, stdio) — 通过 Brave Search API 搜索网页、本地内容、新闻、图片和视频;需要从 Brave 开发者门户获取 API 密钥,并在本地将其配置为环境变量(清单中仅列出名称)。

Cloudflare Docs (com.cloudflare/docs, streamable-http) — 托管文档服务,搜索 developers.cloudflare.com,让关于 Workers、R2、D1 和相关产品的回答能够引用最新文档。

DeepWiki (com.deepwiki/mcp, streamable-http) — Cognition 提供的托管服务,使用 DeepWiki 生成的文档回答有关公开 GitHub 仓库的问题;根据 Harbor 卡片说明,无需身份验证。

Everything (io.github.modelcontextprotocol/server-everything, stdio) — 用于测试的参考服务,涵盖 MCP 功能(工具、资源、提示词、采样、日志记录、进度)。适合测试客户端,不适用于生产工作负载。

Fetch (io.github.modelcontextprotocol/fetch, stdio) — 参考服务,可获取 URL 并将页面转换为供模型使用的 Markdown,还支持可选的原始模式和分页。

Filesystem (io.github.modelcontextprotocol/server-filesystem, stdio) — 参考本地文件操作服务,操作范围限定为你通过参数传入的目录。

Git (io.github.modelcontextprotocol/git, stdio) — 用于本地 Git 状态、差异、日志、提交、分支和检出的参考服务。

Memory (io.github.modelcontextprotocol/server-memory, stdio) — 参考知识图谱记忆服务,让 Agent 能够跨对话持久保存实体和关系。

Sequential Thinking (io.github.modelcontextprotocol/server-sequential-thinking, stdio) — 用于逐步解决问题并支持修订和分支的参考结构化草稿板。

Time (io.github.modelcontextprotocol/time, stdio) — 参考时间和时区转换工具。 Exa Search (io.github.exa-labs/exa-mcp-server, stdio) — 面向 Agent 的神经网络网页搜索(实时抓取、代码上下文搜索、公司研究);需要在本地配置 Exa API 密钥。

Hugging Face (com.huggingface/mcp, streamable-http) — 托管式 Hub 搜索,可搜索模型、数据集、论文和 Spaces;可将选定的 Spaces 作为工具运行。

Linear (com.linear/mcp, streamable-http) — 托管式问题、项目、周期和评论;根据卡片描述,在首次连接时使用 OAuth。

Sentry (com.sentry/mcp, streamable-http) — 为调试 Agent 提供托管式问题、错误、跟踪和性能上下文。

Supabase (com.supabase/mcp-server-supabase, stdio) — 管理 Supabase 项目:SQL、架构、迁移、日志、边缘函数——并在可用时支持项目范围限定和只读模式。

首页还会展示较新的卡片和小众卡片

Harbor 的浏览界面还会展示许多社区服务器和小众服务器(图像/视频生成、WhatsApp 桥接、Godot 测试框架、家庭实验室助手、预测市场数据、Adobe Photoshop 控制等)。请把首页看作一个不断更新的展示架:使用排序和搜索,而不是试图记住本文。MCP Registry 的意义就在于索引会不断更新;本页教你如何使用它。

返回实时浏览的 CTA

描述会过时;注册表不一定会。浏览实时 MCP 服务 → https://ai.mcpharbor.dev/

安装模式:stdio 与远程连接

找到服务只完成了一半。正确安装或连接是另一半。Harbor 的经验法则:从 get_server 或 ai.mcpharbor.dev 上对应服务的 HTML 页面复制代码片段,然后在本地配置环境变量。

本地包运行器(stdio)

来自 /llms.txt 中的产品文档:

  • npm 包: npx -y <package>
  • pypi 包: uvx <package>
  • oci 镜像: docker run -i --rm <image>

这些命令只是模板。实际标识符来自清单中的包字段。不要仅仅因为某篇博客文章看起来相似,就编造包名——请先通过 MCP Registry 查证。

远程 URL 连接(streamable-http / sse)

对于托管服务,请使用给定的传输方式连接到远程 url。在 Claude Code 风格的工作流中,这通常意味着添加 HTTP 传输并填写远程服务的 URL(而不是 Harbor 的 /mcp URL——Harbor 的 /mcp 是注册表;远程服务 URL 才是工具提供方)。请将这两者明确区分:

  1. 注册表连接 — https://ai.mcpharbor.dev/mcp,用于搜索。
  2. 工作负载连接 — 该服务清单中的特定 Stripe/Notion/GitHub/Docs URL。
Claude Code 添加模式

文档总结如下:

claude mcp add -- <npx -y package-or-equivalent>

或用于远程服务:

claude mcp add --transport http <name> <remote-url>

注册表本身则是(再次列出):

claude mcp add --transport http mcp-registry-search https://ai.mcpharbor.dev/mcp

Claude Code 发布新版本时,确切的标志可能会变化;如果标志报错,请查看客户端的帮助信息——Harbor URL 和传输方式仍然不变。

环境变量:只提供名称,密钥留在本地

清单可能会列出环境变量名称,例如 WEATHER_API_KEY 或供应商 API 密钥名称。请在本地密钥存储、Shell 配置文件或客户端环境变量配置中设置对应的值。向 Harbor 提交服务时,env_vars 中只能填写名称——切勿在 POST 请求体或 submit_server 参数中发送密钥值。将密钥放入公开的注册表载荷,会造成永久泄露。

服务专属页面比死记硬背更可靠

每个服务在 https://ai.mcpharbor.dev/servers/... 上都有自己的 HTML 页面,其中提供了可直接使用的代码片段。收藏 Harbor 服务页面,比收藏一个可能记录了旧二进制名称的随机 README 更安全。如果团队共享内部“已批准的 MCP 服务”列表,请链接到这些 Harbor 页面(位于 ai.mcpharbor.dev),而不是把裸 npx 命令粘贴到无人维护的 Wiki 中。

安装决策树

如果你在 stdio 和远程服务之间犹豫不决,请参考以下内容:

  1. 你的环境是否允许向供应商发起出站 MCP HTTP 请求? 如果不允许,优先选择可在网络边界内运行的 stdio 包。
  2. 你是否需要完全不依赖本地运行时(无需 Node/Python/Docker)? 优先选择 streamable-http 远程服务。
  3. 该服务是否是用于学习的参考实现? 优先选择注册表卡片中的官方 stdio 参考服务(Everything、Fetch、Filesystem、Git、Memory、Time、Sequential Thinking)。
  4. 你是否仍在探索? 永久保持 Harbor /mcp 连接;仅在任务需要时添加工作负载服务。
  5. 安装是否失败? 重新获取 get_server——标识符可能已过时——然后重试。
常见安装失败及解决方法
失败可能原因解决方法
找不到 npx环境中缺少 Node/npm安装 Node,或改用远程服务
找不到 uvx缺少 uv 工具链安装 uv,或在有列出的情况下使用 npm/oci 替代方案
Docker 挂接问题未以交互式/stdio 模式正确运行按照 Harbor 的 docker run -i --rm 方式操作;检查客户端的 stdio 管道
远程连接失败URL/传输方式错误、网络策略限制,或需要 OAuth重新阅读清单;如果服务卡片有说明,请完成 OAuth(例如 Linear);检查企业代理
连接后缺少工具连接到了注册表,而不是工作负载服务确认连接的是哪个 MCP 服务;注册表工具仅用于搜索/获取/提交
与环境变量相关的身份验证错误本地未设置密钥在客户端中设置清单指定的环境变量名——不要将密钥重新提交给 Harbor
文章中段 CTA

准备好正式安装时,请从一个在线卡片开始:

查找服务,打开其页面,复制代码片段 → https://ai.mcpharbor.dev/

向 MCP 注册表提交服务

任何人都可以添加服务,也欢迎 Agent 参与。这种开放性是有意为之:开发者无需提交工单即可发布,生态系统才能不断壮大。Harbor 会在新的本地服务出现在搜索结果前,由维护者进行审核,以保障搜索质量。

谁可以提交
  • 发布其 MCP 服务的人工维护者。
  • 服务构建并完成文档编写后,代表团队行事的 Agent。
  • 任何能够编写有效 JSON 请求体或 server.json 清单的人。

普通提交无需 Harbor 账户。请先使用 search_servers 或 GET /api/v0/servers 搜索,避免添加重复项。

通过 HTTP POST 提交
POST https://ai.mcpharbor.dev/api/v0/servers
Content-Type: application/json

产品文档中的请求体示例:

{
  "name": "io.github.acme/weather-mcp",
  "title": "Weather",
  "description": "Forecasts and severe-weather alerts by location.",
  "version": "1.0.0",
  "transport": "stdio",
  "package_registry": "npm",
  "package_identifier": "@acme/weather-mcp",
  "env_vars": ["WEATHER_API_KEY"],
  "tools": ["get_forecast", "get_alerts"],
  "tags": ["weather"],
  "repository_url": "YOUR_REPO_URL",
  "license": "MIT"
}

也接受符合官方注册表格式的 server.json 清单。通过 MCP 提交时,请使用相同信息调用 submit_server。

关于示例中的 repository_url:该字段可以在 JSON 中包含第三方代码仓库 URL 作为数据。本文不会将第三方主机转换为 Markdown 超链接;CTA 仍指向 Harbor。

命名规则(反向 DNS)

name 由反向 DNS 命名空间、斜杠和简短名称组成。对于托管在 GitHub 上的项目,常见格式为 io.github.<owner>/<repo-or-short-name>。请选择不会与官方供应商名称冲突的名称(例如 com.stripe/...、com.notion/...)。名称不合规是常见的 422 错误原因。

传输字段规则
  • stdio——需要 package_registry 和 package_identifier。
  • streamable-http 或 sse——需要 remote_url。
  • package_registry——必须为 npm、pypi、oci、nuget、mcpb 之一。

字段不匹配会导致验证失败。修正指定字段后重新提交。

审核 / 待处理状态

新条目会由维护者审核,通过后才会出现在搜索结果中。获批之前,get_server(或按名称调用 GET)会返回 "status": "pending"。这是预期状态,并非错误。请告知你的 Agent:状态为 pending 时不要惊慌并反复重试提交,而应改为获取条目。

需要处理的响应代码
代码含义操作
202已受理审核;正文包含已存储的条目保存名称;通过按名称查询的 GET 请求轮询状态
422验证失败;详情会将字段映射到相应消息修正字段;重新发送
429同一客户端提交次数过多遵循 Retry-After;降低请求频率
401请求头中存在 Authorization,但不是维护者的发布令牌普通提交时移除 Authorization
提交检查清单(供人类和 Agent 使用)
  1. 使用 search_servers 搜索相关能力和拟用名称。
  2. 确认传输方式以及软件包/远程字段。
  3. 如实列出工具名称——不要宣传你未提供的工具。
  4. 在 env_vars 中仅填写环境变量名称。
  5. 使用 POST 或 submit_server。
  6. 收到 202 后,记录名称并等待审核。
  7. 收到 422 后,修正详情——不要盲目重试相同的载荷。
  8. 收到 429 后,降低请求频率。
行动号召:通过界面或 MCP/HTTP 提交

在注册表界面中添加服务 → https://ai.mcpharbor.dev/

或者,阅读 https://ai.mcpharbor.dev/llms.txt 后,通过 https://ai.mcpharbor.dev/mcp 以编程方式提交,或使用 POST https://ai.mcpharbor.dev/api/v0/servers。

面向 Claude、Cursor 和编码 Agent 的 MCP 注册表

本节介绍如何在 Agent 式编码工具中使用 MCP 注册表——而不是从头构建新的 MCP 服务(那是另一个领域)。这里只介绍发现、安装和提交。

Claude:先连接注册表

运行:

claude mcp add --transport http mcp-registry-search https://ai.mcpharbor.dev/mcp

然后,在实际任务中,让 Claude 先搜索 Harbor,再考虑自行编写集成。以下示例提示词效果不错:

  • “在 MCP 注册表中搜索 Playwright 浏览器服务,并显示安装选项。”
  • “查找远程 Notion MCP 服务,并总结其工具。”
  • “已经有 Stripe MCP 服务了吗?对最合适的结果使用 get_server。”
  • “搜索与电子邮件相关的 MCP 服务,并列出传输方式。”

优秀的 Agent 会先调用 search_servers,再调用 get_server,然后给出安装命令。如果你的 Agent 跳过搜索,直接开始编写新的封装,就引导它回到 Harbor。

Cursor 和其他编码 Agent

通用步骤:

  1. 打开 MCP/集成设置。
  2. 添加远程 MCP 服务。
  3. 将类型/传输方式设为 HTTP。
  4. 粘贴 https://ai.mcpharbor.dev/mcp。
  5. 保存、重新加载工具,并确认 search_servers 已出现。

如果产品使用 JSON 配置文件,其概念结构是“类型为 http + url”。具体键名各有不同;不要在此臆造 Cursor 专属字段。如果无法使用远程 MCP,请使用 Harbor 网站搜索,并将 stdio 服务的安装片段粘贴到客户端的 stdio 配置中。

在 Agent 循环中使用搜索

关键在于任务中途进行发现。示例流程:

  1. 用户请求一项需要外部工具的功能(支付、文档、浏览器、代码库操作)。
  2. Agent 使用精准查询搜索 Harbor。
  3. Agent 比较两个候选服务(传输方式、工具、来源)。
  4. Agent 提议安装/连接其中一个候选服务。
  5. 用户批准;Agent 使用新工具继续原任务。

这种循环胜过旧模式:“停止编码,打开十几个标签页,争论 README,丢失上下文。”

Agent 安全规则
  • 不要在注册表提交中粘贴密钥。 只填写环境变量名称。
  • 不要提交重复条目。 先搜索。
  • 不要将待审核状态视为失败。 查询状态。
  • 不要把 Harbor /mcp 与工作负载服务 URL 混为一谈。 前者负责搜索;后者负责执行任务。
  • Harbor 已索引官方和本地列表时,不要抓取随意的 GitHub README 来替代注册表。
  • 遵循 429。 速率限制可保护共享索引。
Agent 应拒绝提交的情况

教会 Agent 在以下情况下拒绝提交:

  • 服务尚未就绪(没有稳定名称、传输方式,也没有软件包或远程服务)。
  • 载荷中会包含令牌、密码,或嵌入了凭据的私有 URL。
  • 搜索结果已显示同一用途存在官方或高质量的现有服务。
  • 用户只是要求查找服务,而不是发布服务。
让文档触手可及

面向 Agent 的产品文档:https://ai.mcpharbor.dev/llms.txt。当编码 Agent 需要了解架构详情时,请引导它们查看此文件,而不是臆造字段。

实战发现指南(复制这些流程)

上文介绍了各类入口。这些指南展示了常见任务端到端的发现流程,每个流程都以 Harbor 为终点。

指南 1 — 面向编码 Agent 的浏览器自动化
  1. 打开 https://ai.mcpharbor.dev/,或调用 search_servers,搜索 playwright 或 browser 等文本;如果可以运行本地软件包,则使用 stdio 传输方式。
  2. 通过 get_server 或其 /servers/... 页面查看 Playwright (io.github.microsoft/playwright-mcp)。
  3. 确认工具数量和标签符合浏览器自动化需求。
  4. 使用 Harbor 安装片段安装(通常是 npx 风格的 stdio 安装方式)。
  5. 保持 Harbor /mcp 处于连接状态,这样后续搜索(例如替代浏览器远程服务)时就不必离开 Agent。

如果企业政策禁止使用本地浏览器二进制文件,请使用 transport=streamable-http 重新搜索,并评估 Harbor 上列出的托管浏览器类服务(例如介绍可供 Agent 使用的真实 Chrome 会话的卡片)。务必核实实时卡片;不要假定博客中的 URL 仍然有效。

指南 2 — 支付工具(Stripe)
  1. 在 Harbor 上搜索 stripe。
  2. 打开 com.stripe/mcp (streamable-http)。
  3. 使用清单 URL 和 HTTP 传输方式,将其连接为远程 MCP 服务。
  4. 确认客户、产品和支付相关工具符合任务需求。
  5. 如果官方 Stripe 列表已满足需求,就不要提交功能相似的封装服务。
指南 3 — 使用文档回答问题,避免训练数据过时
  1. 搜索 documentation 或供应商名称(cloudflare、context7、deepwiki)。
  2. 如果希望完全不维护本地索引,请优先选择 streamable-http 文档服务。
  3. 可查看的示例:Context7、Cloudflare Docs、DeepWiki——它们分别解决略有不同的文档需求(通用代码文档、Cloudflare 产品文档、GitHub 仓库 DeepWiki 文档)。
  4. 连接其中一个,提出一个已知问题,确认引用内容是否足够新,然后通过 Harbor 页面链接,将该服务纳入团队列表作为标准服务。
指南 4 — 仓库与问题跟踪操作
  1. 搜索 github 和/或 linear。
  2. 比较 GitHub 的托管 MCP 服务、Linear 的托管 MCP 服务,以及 stdio Git 参考服务。
  3. 对于云端问题跟踪,远程服务更合适;对于本地 Git 操作,Git 参考 stdio 服务可能已经够用。
  4. 只安装工作流所需的工具;服务并非越多越好。
指南 5 — “构建之前,是否已有现成服务?”
  1. 连接 https://ai.mcpharbor.dev/mcp。
  2. 执行三次搜索:产品名称、类别标签词,以及可能的工具名称。
  3. 对排名前两位的结果调用 get_server。
  4. 如果找到合适的结果,就安装它;如果没有,就自行构建,然后通过内部审核,以规范的反向 DNS 名称提交到 Harbor。
  5. 不要发布五个实验性名称;审核待处理不是大量提交变体的理由。
指南 6 — Agent 代表维护者提交
  1. 人工确认软件包或远程服务可公开安装。
  2. Agent 使用确切的拟议 name 运行 search_servers。
  3. Agent 通过 submit_server 提交,且只提供环境变量名称。
  4. 收到 202 后,Agent 保存名称,并告知人工审核状态为待处理。
  5. 收到 422 后,Agent 根据 details 修正字段——绝不盲目重试。
  6. 收到 429 后,Agent 停止操作,并根据 Retry-After 安排稍后重试。

团队推出 MCP 注册表的运维指南

团队在 MCP 发现方面为何会失败

大多数团队失败并非因为 MCP 很难,而是因为:

  • 每个人都会为同一项任务安装不同的服务。
  • 代码片段被粘贴到 Slack 后逐渐过时。
  • Agent 会幻觉出包名。
  • 没人知道某个服务来源是官方、seed 还是本地。
  • 提交内容为了“方便”而包含机密信息。
  • 开发者笔记本上没有默认的注册表连接。

推出 MCP Registry 解决的是流程问题,而不是协议问题。

建议的基线配置

对于每台开发者机器或云端 Agent 运行器:

  1. 始终连接 Harbor 注册表 MCP:https://ai.mcpharbor.dev/mcp。
  2. 连接一小组与团队相关的获准工作负载服务(例如 GitHub + 文档 + 一个浏览器工具)。
  3. 将获准服务记录为仅指向 https://ai.mcpharbor.dev/servers/... 页面的链接。
  4. 每月通过 Harbor 搜索检查一遍获准列表,寻找更好的替代项。
  5. 指导 Agent:提出新的集成方案前先搜索 Harbor。
环境与晋级

像对待依赖项一样对待 MCP 服务:

  • **开发:**可以使用实验性远程服务和参考服务。
  • **预发布:**仅使用通过冒烟测试的服务(get_server + 一次工具调用)。
  • **生产环境中的 Agent 运行器:**固定使用已知名称和已知传输方式;避免使用意外出现的待审核本地服务。

Harbor 的来源元数据有助于对风险进行分类:官方来源和知名供应商的远程服务,与刚提交、仍在等待审核的本地服务并不相同。

日志记录与机密信息卫生(仅限发现环节)

这不是要把它说成分析产品:Agent 搜索和安装时,记录所选的服务名称,不要记录机密信息,也不要记录可能包含客户数据的原始工具参数。提交内容绝不能包含 API 密钥。如果清单列出了 env_vars,请在机密管理器中配置相应值,并且只将其传递给本地客户端运行时。

从容应对同步延迟

官方同步大约每六小时进行一次,因此全新的官方条目可能会先出现在官方注册表中。团队操作手册:

  1. 搜索 Harbor。
  2. 如果找不到且情况紧急,请检查该包或远程服务是否已在其他地方得到确认;但只有当要发布的是你自己的服务时,才优先通过 Harbor 提交。
  3. 对于官方来源的包,在下一个同步时段后重新搜索 Harbor。
  4. 不要因为一次同步时序竞争就断定“Harbor 不完整”;请确认首页计数和 /llms.txt 仍说明包含官方条目。
内部服务台支持检查清单

当开发者说“MCP Registry 坏了”时,请询问:

  1. 你打开的是 ai.mcpharbor.dev 吗?
  2. 你连接的是 /mcp,还是只在浏览?
  3. 你使用的确切 q / 名称是什么?
  4. 该条目是否处于待审核状态?
  5. 你是否误发了 Authorization 标头?
  6. 你是否试图将注册表 URL 安装为工作负载服务?
  7. 你在编写提交脚本时是否遇到了 429?

大多数工单都源于配置混淆,而不是注册表中断。

深入了解:像维护者一样解读 Harbor 搜索结果

当 search_servers 或浏览界面返回卡片时,请使用一致的标准进行评估。

评估标准
  1. 名称质量 — 采用反向 DNS 命名,与供应商保持一致,不易冲突。
  2. 传输方式匹配度 — 符合你的运行时。
  3. 工具名称 — 使用与用户任务相符的动词。
  4. 描述准确性 — 具体明确,不堆砌关键词。
  5. 来源 — 官方、seed 还是本地。
  6. 状态 — 可搜索还是待审核。
  7. 安装清晰度 — 代码片段能通过冒烟测试顺利运行。
  8. 环境变量要求 — 明确机密名称,并在你能控制的地方记录相关信息。
  9. 许可证字段 — 在合规审查需要时提供。
  10. 重复风险 — 是否已有其他搜索结果涵盖相同的 API 范围。

快速评分。如果两个服务不相上下,对于常见任务,优先选择清单更清晰且来源为官方的服务;对于范围狭窄的任务,则优先选择专用工具。

评估示例说明(Playwright 与通用浏览器)

对于浏览器自动化,Playwright 的 Harbor 卡片明确列出了适用于 MCP 的 Playwright 工具和 stdio 打包方式。如果你无法运行本地浏览器,通用的“browser”远程服务可能更合适。注册表的作用是让你能在同一处进行比较,而不是在不了解你的限制条件时自动替你选择。用 Harbor 筛选候选项,再根据你的环境限制做决定。

评估示例说明(文档服务)

Context7、Cloudflare Docs 和 DeepWiki 都可能出现在与文档相关的搜索结果中。它们不能互换:一个面向广泛的代码文档,一个是 Cloudflare 的文档库,一个基于 GitHub 仓库构建 DeepWiki。如果 MCP 注册表只返回“docs = true”,不提供名称和描述,那就毫无用处。Harbor 会返回足够的文本和元数据,帮助你区分它们;然后用 get_server 完成后续操作。

深入了解:不使用 MCP SDK 的 HTTP 客户端模式

有些语言和 CI 系统会在支持 MCP 之前很久,就通过 HTTP 调用 Harbor。

最简搜索脚本的做法
  • 使用 GET,并对 q 进行 URL 编码。
  • 始终将空结果视为“扩大查询范围”,而不是“注册表为空”。
  • 严格遵循 next_offset。
  • 在 CI 中短暂缓存看起来不可变的清单,避免并行任务频繁请求列表端点。
  • 对于非 2xx 响应,将状态码记录到日志中。
最简提交脚本的做法
  • POST 前在本地验证反向 DNS 名称。
  • 在本地验证传输方式、package_* 和 remote_url 的对应关系。
  • 从环境变量列表中移除任何看起来像机密的值。
  • 将 202 视为成功待处理,而非失败。
  • 解析 422 详情,方便人们理解。
  • 收到 429 时暂停等待。
幂等性思维

即使 API 允许重复提交,Harbor 的审核机制也意味着重复提交相同内容会显得不妥。先搜索就是幂等性保障层。Agent 应在运行记忆中记录“我们已提交 io.github.acme/foo”。

术语表(MCP 注册表搜索意图)

MCP / Model Context Protocol — 连接客户端/Agent 与工具服务的开放协议。

MCP 服务 — 使用 MCP 通信的本地进程或远程端点。

MCP 工具 — 服务公开的具名操作。

MCP 注册表 — 用于查找这些服务的索引;在此页面上指 MCP Harbor 的注册表。

MCP 目录 / 列表 / 市集 — 用户在 Google 中输入、用于描述同一发现任务的常见同义词。

stdio — 通过包实现的本地传输方式。

streamable-http — 远程 Streamable HTTP 传输方式。

sse — Harbor 中列出的远程 Server-Sent Events 传输方式。

server.json — Harbor 接受/返回的官方格式清单。

待处理 — 等待维护者审核的本地提交;可检索,但尚未出现在搜索结果中。

来源 — 表示官方、种子数据或本地列表来源的元数据。

Harbor /mcp — 注册表自身用于搜索/获取/提交的 MCP 服务端点。

这些术语对应于 MCP Registry、查找/浏览 MCP 服务、安装 MCP 服务、Claude MCP 和 streamable http 等关键词簇,无需堆砌关键词。

选择 MCP 注册表(决策指南)

你不需要五个注册表。你需要一个涵盖官方列表、人工浏览和 Agent 搜索的默认途径,然后再列出少数例外。

决策树:默认选择 MCP Harbor

从这里开始:

问题 A — 你这周需要查找或安装 MCP 服务吗?
→ 是:打开 https://ai.mcpharbor.dev/。
→ 否:你目前只是在了解相关术语;仍请读完本页,以便日后知道该去哪里。

问题 B — 你的 Agent 是否需要在任务中途自行搜索,而无需有人守着浏览器?
→ 是:连接 https://ai.mcpharbor.dev/mcp(Streamable HTTP,无需身份验证)。
→ 否:使用浏览界面;你仍可通过复制粘贴代码片段来完成工作。

问题 C — 你是否需要覆盖官方收录内容?
→ 是:Harbor 已收录整个官方 MCP Registry,并且大约每六小时同步一次。从 Harbor 开始;只有在合规要求必须独占官方主机时,才改用仅限官方来源的工作流。
→ 否:Harbor 仍是更好的日常选择,因为它具备浏览体验、提交审核和 Agent 工具。

问题 D — 你要发布新的服务吗?
→ 先在 Harbor 搜索。
→ 通过界面、submit_server 或 POST /api/v0/servers 提交。
→ 审核前状态会是 pending。
→ 不要反复提交。

问题 E — 你唯一的线索是一份标题为“awesome MCP”的随机 GitHub README 吗?
→ 把它当作线索,而非注册表。确认在 Harbor 搜索中能找到该服务。优先使用 ai.mcpharbor.dev 上的清单文件和安装代码片段。

次要选择:仅限官方来源的工作流

符合以下情况时,选择仅限官方来源:

  • 安全策略明确要求从官方注册表主机获取内容。
  • 你正在排查 Harbor 的同步是否已收录最新的官方条目。
  • 你主要以维护者身份参与官方注册表流程。

即便如此,只要策略未禁止,就继续使用 Harbor 进行 Agent 搜索。官方注册表与 Harbor 相辅相成:官方注册表是上游,Harbor 则是本页推荐的发现入口。

避免使用非注册表替代品

即使它们使用相同关键词出现在搜索结果中,也不属于 MCP 注册表:

  • 只列出某个供应商自家服务的文档页面。
  • npx 命令行失效的过时“awesome 列表”。
  • 某人曾经贴过一个 URL 的聊天记录。
  • 没有清单文件、传输元数据和审核状态的私有电子表格。
  • 不符合 server.json 格式、只罗列软件包名称的抓取数据。

如果它无法回答“反向 DNS 名称、传输方式和安装代码片段是什么?”,那它就没有履行注册表的职责。

轻量比较维度(不虚构竞争对手)

有人推荐另一个目录时,请如实评估:

维度良好表现Harbor 的情况
覆盖范围官方内容 + 更多内容收录整个官方集合 + 本地内容
新鲜度同步时间可预测官方内容约每 6 小时重新同步一次
Agent APIMCP 工具或清晰的 HTTP 接口同时提供 /mcp 和 /api/v0/servers
身份验证门槛无需注册即可搜索搜索和提交无需账户或 API 密钥
提交质量设有审核环节维护者批准前状态为 pending
安装体验每个服务都有代码片段/servers/... 页面
诚实度不虚构价格噱头本页不虚构套餐层级

如果竞品目录声称收录数量更多,请实时核实。本文记录的是截至 2026-09-15 已核实的 Harbor 数量(总计 31,486,远程 19,595),并建议你查看首页以确认是否有更新的数据快照。

团队操作指南(推荐默认方案)
  1. 每位开发者都在 Claude/Cursor 中连接 Harbor /mcp(或为浏览界面添加书签)。
  2. 内部的“已批准服务”文档仅链接到 ai.mcpharbor.dev 上的 Harbor 服务页面。
  3. 新的内部 MCP 服务应先搜索重复项,再提交到 Harbor。
  4. 密钥应保存在公司的密钥管理器中,绝不要放入提交内容。
  5. 定期重新搜索,再着手构建新的封装;生态变化很快。

这套做法刻意保持简单。简单的发现流程能让 Agent 发布功能,而不是折腾工具链。

常见问题解答

什么是 MCP Registry?

MCP Registry 是 Model Context Protocol 服务的索引,包含名称、清单、传输方式、工具元数据以及安装或连接说明。在本页面中,MCP Registry 指 MCP Harbor 的注册表:https://ai.mcpharbor.dev/——一个可浏览、可供 Agent 搜索的目录,包含官方 MCP Registry 的服务以及 Harbor 本地提交的服务。

这是官方 MCP Registry 吗?

不是。官方 MCP Registry 由 Model Context Protocol 项目发布,地址为 registry.modelcontextprotocol.io(仅在正文中提及;本页面的链接仍指向 Harbor)。MCP Harbor 包含完整的官方 MCP Registry,大约每六小时重新同步一次,并提供浏览体验、本地提交与审核功能,以及供 Agent 使用的 MCP 端点。应充分认可官方 Registry;但日常仍推荐使用 Harbor。

我需要账户或 API 密钥吗?

普通搜索或提交不需要。连接到 https://ai.mcpharbor.dev/mcp,或在不使用账户的情况下调用 GET/POST https://ai.mcpharbor.dev/api/v0/servers。除非你是使用发布令牌的维护者,否则不要添加 Authorization 标头。错误的 Authorization 可能导致 401。

列出了多少个 MCP 服务?

根据 2026-09-15 对实时首页的核验:共有 31,486 个 Model Context Protocol 服务,其中 19,595 个托管于远程。数量会变化;请访问 https://ai.mcpharbor.dev/ 查看当前总数。

官方同步多久运行一次?

根据 https://ai.mcpharbor.dev/llms.txt,大约每 六小时 一次。如果某个全新的官方条目尚未出现,请等待下一个同步时段;如果必须使用官方专属工作流,也可以与之进行比较。

条目支持哪些传输方式?

Harbor 清单使用 stdio、streamable-http 和 sse。stdio 需要软件包注册表和标识符;远程传输方式需要远程 URL。

stdio 和 streamable-http 有什么区别?

stdio 在本地运行(例如 npx/uvx/docker 模式)。streamable-http 通过 Streamable HTTP 连接到托管的 MCP 端点。请根据网络策略、运行时可用性,以及服务提供方是否托管远程端点来选择。

如何安装我找到的 MCP 服务?

打开 ai.mcpharbor.dev 上 /servers/... 下的服务页面,或调用 get_server,然后使用相应代码片段:npx -y …、uvx …、docker run -i --rm …,或通过远程 HTTP 连接。对于 Claude Code,请使用 /llms.txt 中记载的 claude mcp add 模式。

如何将 Claude 连接到 MCP Registry 本身?
claude mcp add --transport http mcp-registry-search https://ai.mcpharbor.dev/mcp
我的 Agent 可以提交服务吗?

可以。Agent 可以通过 MCP 调用 submit_server,或向 HTTP API 发送 POST 请求。请先搜索以避免重复。新的本地提交在维护者审核前会处于 pending 状态。请遵守 429 速率限制。切勿提交机密信息。

为什么我的提交处于 pending 状态?

因为 Harbor 会在本地提交出现在搜索结果中之前进行审核。处于待处理状态是正常的。你仍然可以通过 get_server 按名称检索该条目,或 GET /api/v0/servers/<name>。

422 响应是什么意思?

验证失败。错误负载包含字段级别的详细信息。请修正指定字段(通常是 name、传输方式相关要求,或软件包与远程地址的配对问题)后重新提交。

429 响应是什么意思?

来自同一客户端的提交次数过多。请遵守 Retry-After 并放慢速度。不要通过轮换身份来规避限制。

文档在哪里?

面向用户和 Agent 的产品文档:https://ai.mcpharbor.dev/llms.txt。浏览界面:https://ai.mcpharbor.dev/。MCP 端点:https://ai.mcpharbor.dev/mcp。

我可以按标签或工具名称筛选吗?

可以。HTTP q 会匹配名称、标题、描述、标签和工具名称。你也可以传入 tag 和 transport 查询参数。MCP search_servers 工具支持按文本、传输方式或标签查找。

Harbor 会为我托管 MCP 服务进程吗?

Harbor 是一个注册表(索引 + 发现 + 提交)。索引中的远程服务由各自的提供方托管。stdio 服务通过软件包在你的机器上运行。不要把“列为远程托管”误解为“Harbor 运行该供应商的基础设施”。

Agent Email List 是 MCP Harbor 的一部分吗?

Agent Email List 是 Harbor 首页上的一个示例条目(com.agentemaillist/agent-email-list)。它是注册表中的一张独立产品卡片,并不是离开这个发现专区的理由。像查找其他服务一样,通过 Harbor 查找它。

谁拥有 MCP Harbor / 这个 MCP 注册表?

Logan Besecker 拥有并运营 MCP Harbor 和位于 ai.mcpharbor.dev 的这个 MCP 注册表。本页面属于自有产品内容,并强烈建议使用该注册表。

本页面会教我如何构建 MCP 服务吗?

不会。本页面是一个发现/落地专区:查找、浏览、安装/连接、提交。在这里不涉及端到端构建服务,这是有意为之。

如果我只记得“mcp directory”或“mcp catalog”这个短语,该怎么办?

作用相同。搜索 MCP 目录/编目的人仍然是想要一个可搜索的 MCP 服务索引。Harbor 的界面看起来像目录,但它实际上是一个完整的 MCP 注册表,且提供 Agent 工具。

如何对 HTTP 结果进行分页?

从列表响应中读取 metadata.next_offset。使用 offset=next_offset 请求下一页,直到 next_offset 为 null。

我可以按名称获取待处理的服务吗?

可以。按名称获取和 get_server 对待处理的提交同样有效,因此你可以跟踪审核状态。

提交时允许使用哪些软件包注册表?

当传输方式为 stdio 时,package_registry 可使用 npm、pypi、oci、nuget 和 mcpb。

提交时应该发送 Authorization 吗?

普通用户不需要。只有持有发布令牌的维护者才应发送 Authorization。普通提交不应包含该标头。

什么是 server.json?

这是符合官方格式的 MCP 服务清单格式。Harbor 接受提交时使用该格式,并在获取时返回符合 server.json 格式的负载。有关软件包、远程服务和工具元数据的显示方式,请参阅 /llms.txt。

Agent 为什么需要采用“注册表即 MCP”的设计?

因为 Agent 通过工具运行。如果发现功能仅限于网站,人类就会成为瓶颈。Harbor 的 /mcp 端点可通过工具调用进行搜索和提交。

MCP Harbor 的注册表搜索是否收费?

本落地页不会凭空编造定价层级。文档说明,搜索和提交无需账户或 API 密钥。产品行为请以实时网站和 /llms.txt 为准。

如果我是新手,应该先做什么?

打开 https://ai.mcpharbor.dev/,浏览一个熟悉的供应商(GitHub、Stripe、Notion、Playwright),打开一个服务页面,然后复制一段安装代码。接着连接 Harbor /mcp,这样你的 Agent 下次就能自行搜索,无需你动手。

发现与安装故障排查(实地笔记)

当遇到问题,却不确定问题出在 MCP 注册表、客户端还是工作负载服务时,请使用本节。

症状:搜索结果中没有明显匹配项

尝试使用更短的 q。供应商名称比句子更有效。如果 stripe payments billing hosted mcp server 搜索失败,请尝试 stripe。先移除传输方式筛选条件,再重新添加。尝试搜索你预期会有的工具名称。如果仍然找不到广为人知的供应商,请确认你访问的是 https://ai.mcpharbor.dev/api/v0/servers 或 /mcp 工具,而不是其他网站上缓存的过期代理。

症状:Agent 安装了错误的服务

通常是 Agent 选了第一个结果。要求采用两步策略:先搜索,然后对两个候选项调用 get_server,再做选择。保持 Harbor 处于连接状态,以便 Agent 重新查询,而不是猜测软件包名称。

症状:连接后工具列表为空

你可能已经连接了注册表端点,并期待看到 Stripe 工具。注册表工具只有 search_servers、get_server 和 submit_server。工作负载工具来自工作负载服务自身的连接。请在客户端配置中明确区分这两种连接。

症状:stdio 服务启动后立即退出

检查软件包标识符是否已更改、是否缺少 Node/Python/Docker,或所需的环境变量名称是否未设置。排查不常见的标志前,请重新获取 Harbor 代码片段,不要凭记忆操作。

症状:远程服务需要 OAuth,Agent 陷入循环

某些托管服务会在首次连接时使用 OAuth 进行身份验证(Linear 的卡片提到了这种情况)。请在客户端中完成人工 OAuth 流程;不要提交新的注册表条目来“修复身份验证”。身份验证属于工作负载服务,而非 MCP Registry 索引。

症状:提交时持续返回 422

阅读 details。最常见的问题包括名称不合法、stdio 缺少软件包字段、远程传输缺少 remote_url,或 package_registry 值无效。每次只修复一组字段。请根据 https://ai.mcpharbor.dev/llms.txt 重新验证。

症状:领导询问“官方 MCP 服务数量”

请引用实时主页。本文截至 2026-09-15 的已验证快照显示,总数为 31,486,远程服务为 19,595。如果你需要今天的数据用于媒体引用,请重新打开 https://ai.mcpharbor.dev/ 并查看横幅——不要编造超出产品所示精度的数据。

症状:有人在团队频道中粘贴第三方目录链接

向对方致谢,然后在 Harbor 上重新执行相同的查询。如果 Harbor 收录了该服务,请统一使用 Harbor 卡片链接,让 Agent 和人工用户共用 ai.mcpharbor.dev 上的规范安装路径。如果 Harbor 未收录你的服务,请提交该服务。如果 Harbor 未收录刚发布的官方服务,请等待同步或核实名称,再判断是否存在覆盖缺失。

从容应对的收尾原则

拿不准时,返回注册表主页,以人工方式搜索一次,再为 Agent 连接 /mcp,然后继续操作。MCP Harbor 的 MCP Registry 产品旨在让这一流程变得平淡无奇——而在你试图交付产品时,工具就应该让人觉得平淡无奇。

后续步骤 + 强力行动号召

按以下顺序操作。不要构建自定义爬虫。不要把来路不明的 awesome 列表当作注册表。

  1. 打开 MCP Registry → https://ai.mcpharbor.dev/
  2. 搜索你需要的功能(浏览器、github、stripe、文档、电子邮件等)。
  3. 打开 /servers/... 下的服务页面,阅读传输方式和工具。
  4. 使用代码片段安装或连接(npx / uvx / docker / remote HTTP)。
  5. 将注册表连接为 MCP 服务,这样下次就可以在 Agent 中进行搜索:
    claude mcp add --transport http mcp-registry-search https://ai.mcpharbor.dev/mcp
    
  6. **可选:**通过 UI、submit_server 或 POST https://ai.mcpharbor.dev/api/v0/servers 提交自己的服务——先搜索是否有重复项,并做好在审核前状态为 pending 的准备。
  7. 将文档放在手边:https://ai.mcpharbor.dev/llms.txt

主要行动号召:在 MCP Harbor 上浏览 MCP 服务 →

Agent 行动号召:连接 https://ai.mcpharbor.dev/mcp

整个流程就是这样。本页面上的其他内容,都是为了让这些点击一目了然并顺利完成。

结语

Model Context Protocol 为 Agent 提供了使用工具的标准方式。MCP Registry 让你无需淹没在 README 中,也能找到这些工具。MCP 服务达到数万个时,发现机制就是基础设施。

MCP Harbor 的 MCP Registry(https://ai.mcpharbor.dev/)正是为此而建:已收录 31,486 个服务(验证于 2026-09-15),其中 19,595 个为远程服务;涵盖完整的官方 MCP Registry,并约每六小时自动同步一次;提供便于浏览的界面、HTTP API,以及包含 search_servers、get_server 和 submit_server 的 /mcp MCP 端点——普通使用无需账户。

所有权披露(再次说明): Logan Besecker 拥有并运营 MCP Harbor 及其 MCP Registry。本文是自有产品的推广内容。我们公允地将官方 Registry 列为上游来源;同时,我们仍认为,日常工作中浏览、搜索、安装和提交的最佳去处是 MCP Harbor。

打开 Registry。连接你的 Agent。安装所需工具。提交你的作品。

从这里开始 → https://ai.mcpharbor.dev/

评论

支持 Markdown

第一次接触 MCP?

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

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