Cursor Remote SSH 工作区看不到本地 MCP 服务器 怎么配

Cursor Remote SSH 工作区只读取远程机器上的 MCP 配置,本地 user-level MCP 不会自动合并。需要在远程机器上单独配置 MCP 并重新 OAuth 认证。

Cursor Remote SSH 工作区看不到本地 MCP 服务器 怎么配

如果你在 Cursor 里通过 Remote SSH 连接远程机器开发,可能会遇到这个问题:Customize 面板显示本地 MCP 服务器已连接(113 个工具),但 Agent 会话里报告 "namespace does not exist"。这不是 MCP 服务器坏了,是 Cursor 的 MCP 作用域设计导致的。

作者CodePass 技术编辑

原因

Cursor 的 MCP 配置是按环境隔离的:

本地工作区:读取你本机 ~/.cursor/mcp.json 里的 user-level MCP 服务器。

Remote SSH 工作区:读取远程机器上 ~/.cursor/mcp.json 里的 MCP 服务器,不读取你本机的配置。

所以当你的 Agent 会话运行在 Remote SSH 工作区里时,本机配置的 MCP 服务器(比如 HeyGen 的 113 个工具)对 Agent 不可见。Customize 面板可能仍显示本地 MCP 为 "Connected",因为那个面板展示的是本地环境的状态,不是当前 Agent 工作区的状态。

Cursor 工程师 Mohit 在论坛回复中确认:"Local user servers don't get merged into an SSH workspace, that's by design."

解决方法

在远程机器上单独配置 MCP:

  1. SSH 到远程机器
  2. 编辑远程机器上的 ~/.cursor/mcp.json,添加你需要的 MCP 服务器配置
  3. 回到 Cursor,打开 Customize > MCPs
  4. 你应该能看到一个标注了远程主机名的 MCP 行
  5. 点击 Authenticate,重新走 OAuth 流程(认证是环境特定的,远程需要单独认证)
  6. 确认远程机器有到 MCP 服务器域名的出站 HTTPS 访问

完成后,在该 Remote SSH 工作区里开新聊天,MCP 工具应该出现在 Agent 的工具列表里。

常见误区

误区一:以为 Customize 面板显示 "Connected" 就意味着 Agent 能用。Customize 面板可能展示的是本地环境的状态,和当前 Agent 工作区无关。

误区二:以为 MCP 配置会自动同步到远程。Cursor 目前没有跨环境的 MCP 配置同步机制。每个环境(本地、每个 Remote SSH 主机)需要独立配置。

误区三:OAuth token 可以跨环境复用。不行。每个环境的 OAuth 认证是独立的,远程机器需要单独认证。

对其他 MCP 问题的影响

这个 scoping 行为和 Cursor Customize 面板的 MCP 管理 UX 问题 是不同层面的问题。Customize 面板的问题是 UI 层面的(编辑已连接 MCP 的配置不生效);Remote SSH scoping 是架构设计层面的(环境隔离)。

如果你同时在本地和远程开发,建议维护一份 MCP 配置模板,部署到新环境时复制过去并重新认证。对于团队,可以考虑把 MCP 配置放在项目级别的 .cursor/mcp.json(project-level),这样 git clone 后所有环境共享同一份配置,只需要各自认证。

参考资料