MCP.so
登录
返回博客

远程 MCP 服务器(Remote MCP Servers):是什么以及如何连接

2026年10月15日MCP.so TeamMCP.so Team

远程 MCP 服务器详解:远程与本地的区别、Streamable HTTP 与 OAuth、在 Claude、Cursor、VS Code、ChatGPT 和 Codex 中的配置方法,以及经过核实的官方端点 URL。

远程 MCP 服务器(remote MCP server)是运行在别人基础设施上的 Model Context Protocol 服务器,你通过互联网上的一个 HTTPS URL(通常以 /mcp 结尾)访问它,而不是在自己电脑上启动一个本地进程。连接方式很简单:把这个 URL 粘贴到 AI 客户端(Claude、Cursor、VS Code、ChatGPT、Codex)里,再用 OAuth 或 API Key 登录即可,无需安装任何东西。如今大多数大型 SaaS 厂商——包括 GitHub、Notion、Linear、Sentry、Stripe 和 Atlassian——都托管了官方远程 MCP 服务器。

本文介绍远程服务器和本地服务器有何不同、让它们运转起来的两个协议要素(Streamable HTTP 和 OAuth)、在各主流客户端中的具体配置步骤、一份我们逐一对照厂商官方文档核实过的端点清单,以及最常见错误的排查方法。如果你刚接触 MCP,建议先读什么是 MCP和什么是 MCP 服务器。

远程 MCP 服务器 vs 本地 MCP 服务器

所有 MCP 服务器说的都是同一套协议,但访问方式有两种。本地服务器是客户端在你电脑上启动的程序,通过 stdin/stdout 通信(stdio 传输)。远程服务器是一个 Web 服务,客户端通过 HTTP 与之通信。

本地(stdio)远程(Streamable HTTP)
运行位置你的电脑,由客户端启动厂商或你自己的服务器
添加方式启动命令,例如 npx -y some-serverURL,例如 https://mcp.example.com/mcp
是否需要安装需要 Node、Python、Docker 或二进制文件不需要
认证方式通常用环境变量保存 API Key浏览器中 OAuth 登录,或 Bearer Token 请求头
能否访问本地文件和 localhost能不能——只能访问服务暴露的内容
能否在网页版和移动端使用不能(仅桌面和 CLI 客户端)能——Claude.ai 和 ChatGPT 只接受远程服务器
更新自己升级包厂商在服务端发布更新
团队共享每个人各自安装一个 URL,每个人各自登录

经验法则:SaaS 数据(Issue、文档、支付、错误追踪)用远程服务器;凡是需要接触本地文件系统、本地数据库或本机浏览器的,用本地服务器。哪些客户端支持哪些传输方式,可以看我们的 MCP 客户端指南。

远程 MCP 的工作原理:Streamable HTTP 与 OAuth

Streamable HTTP

远程服务器使用 Streamable HTTP 传输。在当前规范(2026-07-28)中,服务器只暴露一个接受 POST 的 MCP 端点;每个 JSON-RPC 请求都是一次独立的 POST,服务器要么返回普通 JSON 响应,要么返回一个只属于该请求的 Server-Sent Events 流。这一版本还移除了协议层会话和独立的 GET 流,让远程服务器更容易部署在负载均衡器之后。

较早的 HTTP+SSE 传输(分开的 /sse 和 POST 端点)自 2025-03-26 起已被弃用。许多厂商仍为老客户端保留 /sse URL,但只要客户端支持,就应始终使用 /mcp URL。完整的演变过程和协议细节见 MCP SSE vs Streamable HTTP。

OAuth 授权

大多数官方远程服务器使用 OAuth 认证:客户端发现服务器对应的授权服务器,打开浏览器窗口,你批准访问后,客户端保存一个短期令牌。你永远不需要把密码或长期密钥粘贴进配置文件,也可以在厂商的设置页面随时撤销该客户端。部分服务器还接受以 Authorization: Bearer 请求头传入 API Key 或个人访问令牌,适用于 CI 和无界面场景。完整的发现链路(受保护资源元数据、客户端注册、PKCE)见我们的 MCP 认证与 OAuth 指南。

如何在各客户端中连接远程 MCP 服务器

以下示例使用 Linear 的端点 https://mcp.linear.app/mcp,你可以换成下文清单中的任何 URL。

Claude.ai 与 Claude Desktop(自定义连接器)

在 Claude 的应用中,远程服务器以**自定义连接器(custom connector)**的形式添加到你的账号上,所以同一个连接器会同时出现在网页版、Claude Desktop 和 Cowork 中。根据 Anthropic 帮助中心,Free、Pro、Max、Team 和 Enterprise 套餐均可使用自定义连接器(Free 限一个)。

  1. 进入 Customize → Connectors。
  2. 点击 + Add,再选择 Add custom connector。
  3. 输入名称和远程 MCP 服务器 URL,点击 Continue。
  4. 检查自动识别的认证设置。选择 Sign in now、Sign in when needed 或 No sign in;对于 OAuth 服务器,再选择一个 OAuth client 选项(推荐默认的 Claude 公开身份)。如果服务器使用固定 API Key,在 Request headers 中添加。
  5. 点击 Add,然后在对话中通过加号菜单启用该连接器。

在 Team 和 Enterprise 套餐中,由所有者在 Organization settings → Connectors 中添加(Add → Custom → Web),成员随后点击 Connect。连接请求来自 Anthropic 的云端,因此服务器必须能从公网访问。claude_desktop_config.json 文件用于本地 stdio 服务器——详见 Claude Desktop MCP 配置。

Claude Code

Claude Code 使用 --transport http 添加远程服务器:

# OAuth server: add it, then run /mcp inside Claude Code to sign in
claude mcp add --transport http linear https://mcp.linear.app/mcp

# Token-based server: pass the header
claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \
  --header "Authorization: Bearer YOUR_GITHUB_PAT"

较新版本在服务器不接受 HTTP 时会自动回退到 SSE;旧版本遇到仅支持 SSE 的端点请使用 --transport sse。在 .mcp.json 中,远程条目需要在 "url" 旁边写上 "type": "http"——只有 url 没有 type 的条目会被当作配置错误的 stdio 服务器。用同一账号登录时,你在 claude.ai 添加的连接器也会自动出现在 Claude Code 中。更多内容见 Claude Code MCP 指南。

Cursor

Cursor 读取 ~/.cursor/mcp.json(全局)或 .cursor/mcp.json(项目级)。远程条目用 url 代替 command:

{
  "mcpServers": {
    "linear": {
      "url": "https://mcp.linear.app/mcp"
    },
    "context7": {
      "url": "https://mcp.context7.com/mcp",
      "headers": {
        "Authorization": "Bearer ${env:CONTEXT7_API_KEY}"
      }
    }
  }
}

Cursor 支持 Streamable HTTP 和 SSE,能为需要 OAuth 的服务器处理授权,并会展开 url 和 headers 中的 ${env:NAME}。详见 Cursor MCP 配置。

VS Code(GitHub Copilot)

在命令面板中运行 MCP: Add Server,选择 HTTP 并输入 URL;也可以直接编辑 .vscode/mcp.json。注意 VS Code 使用顶层 servers 键,并需要显式的 type:

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp/"
    }
  }
}

根据配置参考文档,VS Code 会先尝试 Streamable HTTP,不支持时回退到 SSE;首次连接 OAuth 服务器时会打开浏览器窗口;还可以用 ${input:id} 引用密钥,在启动时提示输入而不是硬编码。使用 MCP: List Servers 可以启动、重启服务器或查看其输出。详见 VS Code MCP 配置。

ChatGPT

ChatGPT 只能连接远程服务器。根据 OpenAI 文档,需要在网页版中添加:打开 Plugins,点击加号按钮,选择 Add custom MCP server,粘贴服务器 URL,选择认证方式(OAuth、无认证或混合),点击 Create as a plugin,然后在个人插件中安装它。哪些套餐和工作区角色可以执行此操作并不统一,请以你自己的 Plugins 页面为准。完整教程:ChatGPT MCP 配置。

Codex

Codex 用 --url 添加远程服务器,并保存在 ~/.codex/config.toml 中,该文件由 CLI、IDE 扩展和 ChatGPT 桌面应用中的 Codex 共享:

codex mcp add linear --url https://mcp.linear.app/mcp
codex mcp login linear

对于基于令牌的服务器,让 Codex 读取环境变量,而不是直接粘贴密钥:

[mcp_servers.stripe]
url = "https://mcp.stripe.com"
bearer_token_env_var = "STRIPE_AGENT_KEY"

更多选项见 Codex MCP 配置。

官方远程 MCP 服务器及其端点

下表每个 URL 都来自厂商自己的文档,于 2026 年 10 月核实。更多服务器可浏览 mcp.so 的远程 MCP 服务器目录。

服务端点 URL认证说明
GitHubhttps://api.githubcopilot.com/mcp/OAuth 或 PAT(Bearer Token)保留末尾斜杠
Notionhttps://mcp.notion.com/mcpOAuth;Business/Enterprise 可用 MCP token老客户端可用 /sse 回退
Linearhttps://mcp.linear.app/mcpOAuth 2.1 或 API Key只读:/mcp/readonly
Sentryhttps://mcp.sentry.dev/mcpOAuth可限定到某个组织或项目
Atlassian(Jira、Confluence)https://mcp.atlassian.com/v2/mcpOAuth 2.1,可选 API token当前为 v2;部分安装方式仍用 v1
Stripehttps://mcp.stripe.comOAuth 或 agent API key未带 Agent 标签的受限密钥将于 2026 年 12 月起失效
Supabasehttps://mcp.supabase.com/mcpOAuth;CI 用 PAT加 ?project_ref=...&read_only=true 限定范围
Hugging Facehttps://huggingface.co/mcpHugging Face 账号在 huggingface.co/settings/mcp 生成准确配置
Context7https://mcp.context7.com/mcpAPI Key(Bearer Token)最新的库文档
DeepWikihttps://mcp.deepwiki.com/mcp无免费,仅限公开仓库
Cloudflare APIhttps://mcp.cloudflare.com/mcpOAuth 或 API token覆盖整个 Cloudflare API
Cloudflare Docshttps://docs.mcp.cloudflare.com/mcp未说明文档搜索

来源:GitHub、Notion、Linear、Sentry、Atlassian、Stripe、Supabase、Hugging Face、Context7、DeepWiki、Cloudflare。

想按使用场景挑选?看看最佳 MCP 服务器;如果在考虑是否付费,可以读MCP 服务器免费吗。

运行你自己的远程 MCP 服务器

如果你在开发自己的服务器,要让它可以远程访问,就需要通过 HTTPS 在单一 /mcp 路径上提供 Streamable HTTP、校验 Origin 请求头,并加上认证——规范要求服务器应对所有连接进行认证。代码和托管部分见构建 MCP 服务器和部署 MCP 服务器;公开 URL 之前该锁定哪些东西,见 MCP 安全最佳实践。

远程 MCP 连接故障排查

  • 401 Unauthorized 或「needs authentication」。 OAuth 流程没有执行或令牌已过期。在 Claude Code 中运行 /mcp,在 Codex 中运行 codex mcp login <name>,或在 Claude 设置中重新连接连接器。对于令牌型服务器,检查请求头是否严格为 Authorization: Bearer ...,以及令牌权限范围是否正确。
  • 404 或「couldn't connect」。 路径错了。大多数服务器需要包含 /mcp 的完整 URL(Stripe 例外,GitHub 需要末尾斜杠)。不要粘贴厂商的营销页面地址。
  • 本地能用,在 Claude.ai 或 ChatGPT 中失败。 它们的连接来自厂商云端,localhost、仅限 VPN 的主机和私有 IP 都无法访问。请公开暴露服务器、将服务商的 IP 段加入白名单,或使用隧道。
  • 能连上但流式响应卡住或超时。 反向代理或 CDN 在缓冲 SSE 响应。为 MCP 路径关闭缓冲(规范建议服务器发送 X-Accel-Buffering: no)。
  • Claude Code 忽略了该服务器。 .mcp.json 中的条目有 url 但没有 "type": "http"。
  • 客户端只支持 stdio。 用 mcp-remote 桥接包装 URL:npx -y mcp-remote https://mcp.linear.app/mcp(Linear 文档对不原生支持远程的客户端就采用这种方式)。
  • 公司网络拦截。 受管设备可能会屏蔽外部 MCP 主机;请 IT 放行对应域名(例如 mcp.stripe.com)。
  • 仍然解决不了? 用 MCP Inspector 直接连接该 URL,脱离客户端查看原始 HTTP 状态码和认证质询。

下一步

从上表中挑一个你已经在用的服务,把它的 URL 加到客户端并登录——大约一分钟就能完成。然后去远程 MCP 服务器目录或完整的 MCP 服务器目录发现更多可连接的服务器。

常见问题

本地 MCP 服务器和远程 MCP 服务器有什么区别?

本地 MCP 服务器是客户端在你自己电脑上启动的程序,通过 stdio 通信。远程 MCP 服务器是通过 HTTPS URL 以 Streamable HTTP 访问的 Web 服务,无需安装,通常用 OAuth 登录。

使用远程 MCP 服务器安全吗?

GitHub、Notion、Stripe 等厂商的官方远程服务器使用 OAuth,你授予的是有范围限制的访问权限,并可随时撤销。只连接你信任的服务器,有只读权限时优先使用,并保持客户端的工具调用确认开启。

Claude Desktop 可以连接远程 MCP 服务器吗?

可以。在 Claude 账号的 Customize 下的 Connectors 中把服务器添加为自定义连接器,它就会出现在 Claude Desktop、claude.ai 和 Cowork 中。claude_desktop_config.json 文件只用于本地 stdio 服务器。

远程 MCP 服务器还在用 SSE 吗?

新的远程服务器使用 Streamable HTTP 传输,只有一个 /mcp 端点。旧的 HTTP+SSE 传输自 2025-03-26 规范起已被弃用,许多厂商保留 /sse URL 只是为了兼容老客户端。