远程与本地 MCP 服务器:关键差异及网络可检测性
了解远程与本地 MCP 服务器的区别、端点类型、网络可检测性及选择 MCP 服务器的影响。
远程和本地 MCP 服务器的主要区别在于访问方式和可用性检查。远程 MCP 服务器使用 HTTP 端点(mcp_* 类型),可以通过网络进行检查;而本地 MCP 服务器则从包注册表安装(package_* 类型),没有网络端点可供检查,因此其观察到的状态为未知。这一区别影响了 Wellknown 等索引如何监控服务器状态和可靠性。
关键要点
- 本地 MCP 服务器作为包(npm、PyPI、OCI)安装,没有网络端点,因此其状态始终为未知。
- 远程 MCP 服务器暴露 HTTP 端点(可流式 HTTP、SSE),可以通过网络实时检查。
- Wellknown 只能对远程 MCP 服务器执行网络检查,无法对本地包安装的服务器进行检查。
- 选择远程或本地 MCP 服务器时,需要权衡可观测性和监控能力。
- 索引中的大多数 MCP 服务器是远程 HTTP 端点,但本地包也占有重要比例。
什么是本地 MCP 服务器?
本地 MCP 服务器是从包注册表或容器镜像安装的程序,实现了模型上下文协议(MCP)。它们不通过网络访问,而是在开发者本地环境中运行。根据 Wellknown 索引中的端点类型:
- package_npm:27,171 条记录 — 作为 npm 包安装的本地服务器。
- package_pypi:20,180 条记录 — 作为 PyPI 包安装的本地服务器。
- package_oci:1,193 条记录 — 通过 OCI 容器镜像运行的本地服务器。
这些本地服务器没有暴露网络端点供远程检查。根据 Wellknown 的 termRules,这意味着它们的观察状态始终为未知,因为没有可检查的对象或未执行检查。这是包的常见情况。
什么是远程 MCP 服务器?
远程 MCP 服务器通过 HTTP 端点暴露功能,AI 应用或索引可以通过网络访问。主要的远程端点类型有:
- mcp_streamable_http:31,387 条记录 — 使用可流式 HTTP 的远程 MCP 端点。
- mcp_sse:1,034 条记录 — 使用服务器发送事件(SSE)的远程 MCP 端点。
这些远程端点允许 Wellknown 和其他索引执行网络检查,以观察其状态、延迟和可靠性。其观察状态可能为live(在线)、recently observed(最近观察到)或unavailable(不可用),取决于最近检查的结果。
网络可检测性:可监控内容
Wellknown 索引记录了 39,544 个可进行网络检查的端点,对应远程 MCP 服务器暴露的 HTTP 端点。这些端点可以被探测以确定服务器是否在线或不可用。
相比之下,从包安装的本地 MCP 服务器没有网络端点可供检查。它们的状态始终为未知,意味着:
- 索引无法验证服务器当前是否运行或可访问。
- 未知状态不代表失败或损坏,仅表示无法进行网络检查。
这一点对依赖索引获取服务器可靠性信息的开发者非常重要。
选择 MCP 服务器时的影响
选择 MCP 服务器时,理解远程与本地服务器的区别有助于管理监控和可靠性预期:
本地 MCP 服务器(package_npm、package_pypi、package_oci):
- 本地安装并运行。
- 无网络端点,索引无法进行实时状态监控。
- 适合优先考虑本地控制和集成的场景。
远程 MCP 服务器(mcp_streamable_http、mcp_sse):
- 通过 HTTP 访问。
- 可实时监控运行时间和延迟。
- 适合需要远程可用性和可观测性的场景。
开发者应根据是否需要实时状态监控和网络可观测性来选择本地或远程 MCP 服务器。
端点类型及数量汇总
| 端点类型 | 数量 | 描述 | 是否可网络检查 |
|---|---|---|---|
| package_npm | 27,171 | 作为 npm 包安装的本地服务器 | 否 |
| package_pypi | 20,180 | 作为 PyPI 包安装的本地服务器 | 否 |
| package_oci | 1,193 | 通过 OCI 容器运行的本地服务器 | 否 |
| mcp_streamable_http | 31,387 | 使用可流式 HTTP 的远程 MCP 端点 | 是 |
| mcp_sse | 1,034 | 使用 SSE 的远程 MCP 端点 | 是 |
观察状态分布
- 索引的 MCP 服务器总数:76,105
- 在线 MCP 服务器(观察到):23,110
- 状态未知的 MCP 服务器(主要是本地包):45,990
这表明大量 MCP 服务器是本地包,因缺乏网络端点而状态未知。
结论
远程 MCP 服务器暴露 HTTP 端点,索引如 Wellknown 可以通过网络实时检查,提供实时状态和可靠性数据。本地 MCP 服务器从包注册表安装,不暴露网络端点,因此其状态对索引来说是未知。选择 MCP 服务器时,应考虑是否需要网络可观测性和实时状态监控(倾向远程服务器),或偏好本地安装和控制(倾向本地包)。
以上数据为 Wellknown 实时索引于 2026-11-01T00:37:39.756Z 的快照。
常见问题
- 远程和本地 MCP 服务器有什么区别?
- 远程 MCP 服务器暴露可通过网络访问的 HTTP 端点,允许实时状态检查。本地 MCP 服务器作为包(npm、PyPI、OCI)安装,本地运行且无网络端点,因此其状态对索引来说是未知。
- Wellknown 能检查本地 MCP 服务器的状态吗?
- 不能。本地 MCP 服务器没有网络端点可供检查,因此 Wellknown 对它们的观察状态始终为未知,意味着无法进行实时监控。
- 哪些端点类型对应远程 MCP 服务器?
- 远程 MCP 服务器主要使用 mcp_streamable_http(31,387 条记录)和 mcp_sse(1,034 条记录)端点类型,均通过 HTTP 可访问,支持网络实时检查。
- MCP 服务器的未知状态意味着什么?
- 未知状态表示没有可检查的对象或未执行检查,通常是本地包安装的 MCP 服务器的情况。这不代表服务器失败或损坏。
- 本地包和远程端点的 MCP 服务器数量分别是多少?
- 本地 MCP 服务器包括 27,171 个 npm 包、20,180 个 PyPI 包和 1,193 个 OCI 容器镜像。远程 MCP 服务器的 HTTP 端点有 31,387 个 Streamable HTTP 和 1,034 个 SSE,总计 39,544 个可网络检查的端点。
在 Google 页面上勾选 Wellknown,即可在“热门新闻”中看到更多我们的文章。
在 Google 上将 Wellknown 添加为首选来源我们在上述时间从实时索引中计算出一份事实表。语言模型仅依据这份事实表撰写了本文;文中每个数字都出现在事实表中、每个记录链接都有效,因此得以发布。
本文译自英文原文,其中的数字和链接已再次与原文核对。