远程 MCP 服务器(Remote MCP Servers):是什么以及如何连接
远程 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-server | URL,例如 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 限一个)。
- 进入 Customize → Connectors。
- 点击 + Add,再选择 Add custom connector。
- 输入名称和远程 MCP 服务器 URL,点击 Continue。
- 检查自动识别的认证设置。选择 Sign in now、Sign in when needed 或 No sign in;对于 OAuth 服务器,再选择一个 OAuth client 选项(推荐默认的 Claude 公开身份)。如果服务器使用固定 API Key,在 Request headers 中添加。
- 点击 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 | 认证 | 说明 |
|---|---|---|---|
| GitHub | https://api.githubcopilot.com/mcp/ | OAuth 或 PAT(Bearer Token) | 保留末尾斜杠 |
| Notion | https://mcp.notion.com/mcp | OAuth;Business/Enterprise 可用 MCP token | 老客户端可用 /sse 回退 |
| Linear | https://mcp.linear.app/mcp | OAuth 2.1 或 API Key | 只读:/mcp/readonly |
| Sentry | https://mcp.sentry.dev/mcp | OAuth | 可限定到某个组织或项目 |
| Atlassian(Jira、Confluence) | https://mcp.atlassian.com/v2/mcp | OAuth 2.1,可选 API token | 当前为 v2;部分安装方式仍用 v1 |
| Stripe | https://mcp.stripe.com | OAuth 或 agent API key | 未带 Agent 标签的受限密钥将于 2026 年 12 月起失效 |
| Supabase | https://mcp.supabase.com/mcp | OAuth;CI 用 PAT | 加 ?project_ref=...&read_only=true 限定范围 |
| Hugging Face | https://huggingface.co/mcp | Hugging Face 账号 | 在 huggingface.co/settings/mcp 生成准确配置 |
| Context7 | https://mcp.context7.com/mcp | API Key(Bearer Token) | 最新的库文档 |
| DeepWiki | https://mcp.deepwiki.com/mcp | 无 | 免费,仅限公开仓库 |
| Cloudflare API | https://mcp.cloudflare.com/mcp | OAuth 或 API token | 覆盖整个 Cloudflare API |
| Cloudflare Docs | https://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 只是为了兼容老客户端。