开发与 AI · Clash 技术博客

Cursor 怎么配置 Clash 代理?登录、模型连接、MCP 与终端超时修复

Cursor 登录、模型回复、MCP 与终端可能使用不同代理。用 Network Diagnostics 和连接记录定位失败动作,处理浏览器会话、远程认证或子进程环境,验证完整回复与工具调用。

  • Cursor
  • MCP
  • AI 插件
本文目录

编辑器能登录,并不代表模型回复、外部工具和终端命令都已连通。遇到卡住时,先确定你正在等待哪个结果:账号页面、完整回复、工具返回,还是一次下载。每种结果都有自己的诊断和日志,不需要把所有代理设置同时重做。

Cursor 登录、模型、MCP 和终端分别怎么排查?

在 Cursor 中只重做失败动作,并对照 Clash 的连接记录。登录、模型流式请求、MCP 子进程和集成终端各自发起连接,有的会使用系统代理,有的只读取自己的环境变量;按下表找对应的诊断位置。

按失败动作查找设置

失败位置应该观察什么
登录或账号页面跳转后的 HTTP 状态、应用诊断与 Clash Connections
模型一直 Connecting / 请求超时Cursor Network Diagnostics、固定节点、流式连接
MCP 工具红色或启动失败传输类型、进程日志、mcp.json 与环境变量
集成终端 git / npm 超时shell 的 HTTP_PROXY / HTTPS_PROXY 和实际端口

配置系统代理并重新启动 Cursor

Cursor 的基础代理配置

  1. 在 Clash 的 Proxies 固定节点

    选择一条已确认可用的具体节点,模式保持 Rule。

  2. 开启 Clash 的 System Proxy

    确认系统代理指向当前 mixed-port,并退出其他代理客户端。

  3. 完全退出后重开 Cursor

    让 Cursor 新进程重新读取操作系统代理设置。

  4. 打开 Cursor 的 Network 页面

    进入 Cursor Settings > Network,准备运行应用自带诊断。

在 Settings > Network 运行诊断

诊断结果怎么接着查

结果接下来的位置
诊断通过,登录和模型也正常基础连接已经完成,只处理仍失败的 MCP 或终端
诊断失败,Connections 没有新请求重新发起诊断,确认系统代理;浏览器有记录但 Cursor 仍无记录时,转到 TUN 对照
诊断失败,请求已走固定节点并 timeout比较节点、接入网络和连接持续性
诊断或登录返回 401 / 403 / 429读取账号、权限或用量提示,不继续改代理端口

运行 Run Diagnostics 时记下失败项目和时间,随后在 Connections 查找同一时刻的请求。这个对应关系比单独保存一个红色图标更有用,后面的登录和模型测试都沿用同一固定节点。

Sign in 后页面打不开、反复跳转或一直等待

点击 Sign in 后页面打不开、回到登录页或一直等待,保持固定节点再试一次,记录失败位置。外部浏览器和 Cursor 分别检查;新请求没有出现在 Connections 时,先确认发起请求的程序使用了当前代理,再按 timeout、401 或 403 处理。

401 更靠近登录状态,403 要看页面给出的账号或地区提示,timeout 才需要比较节点和网络。登录期间保持固定出口,分别查看外部授权请求与返回 Cursor 的结果;返回应用的动作不一定是通过代理访问远端服务。

Cursor 登录修复后的结果

  • Sign in 跳转请求出现在 Connections
  • 登录授权完成后能正常返回 Cursor,外部请求使用同一固定出口
  • Cursor 账号区域显示已登录
  • 重新启动 Cursor 后登录状态仍然保留

Connecting 与长回复中断的排查

登录成功说明认证页面至少走通;模型仍停在 Connecting、Network Error 或回复中断,应单独重现模型请求。用短问题验证能否开始返回,再用稍长问题观察流式连接是否持续,期间不要切换节点。

Cursor 的开发者工具可以显示请求状态。打开命令面板运行 Developer: Toggle Developer Tools;需要更完整记录时,运行 Developer: Open Logs Folder。

记录 Request ID、发生时间和 Cursor 版本。分享日志前删去 token、代码内容和个人路径。

短回复成功,长回复反复中断

固定出口,比较另一节点与另一网络,检查流式连接稳定性。

模型请求返回 401

查看 Cursor 登录状态或相关凭据,网络已经到达服务。

诊断和模型请求同时 timeout

查看 Clash 是否有这次请求:没有记录就查应用代理,有记录但超时就查节点。

页面返回 429

检查账号用量或频率限制,不用继续改代理端口。

Connections 没有 Cursor 时,用 TUN 对照

开启系统代理后再次运行 Network Diagnostics。若浏览器有记录、Cursor 仍没有,当前版本或某个子进程可能没有使用系统代理。可以用 TUN 做对照,让更多进程流量进入 Mihomo;TUN 只帮助请求进入代理,不能修复 401、403 或 MCP 配置错误。

TUN 打开后重新运行同一诊断。Connections 新出现 Cursor 请求并成功,说明之前绕过了系统代理;记录出现但仍 timeout,则回到节点和接入网络。

MCP 连接方式:本地 stdio 与远程 HTTP

本地 stdio 由 Cursor 启动命令,通过标准输入输出通信;SSE 和 Streamable HTTP 通过 URL 连接 MCP 服务,服务可在本机或远端。前者检查可执行文件、参数与环境,后者检查 URL、认证与代理路径。

项目配置通常在 .cursor/mcp.json,全局配置位于 ~/.cursor/mcp.json。修改前确认正在生效的是哪一份,避免项目文件和全局文件定义同名 server。JSON 能通过解析,只说明语法正确,服务进程是否启动还要看 MCP 日志。

stdio 配置片段,command、文件路径和端口都要换成本机实际值
{
  "mcpServers": {
    "local-tool": {
      "command": "/absolute/path/to/node",
      "args": ["/absolute/path/to/server.js"],
      "env": {
        "HTTP_PROXY": "http://127.0.0.1:7890",
        "HTTPS_PROXY": "http://127.0.0.1:7890",
        "NO_PROXY": "localhost,127.0.0.1,::1"
      }
    }
  }
}

spawn ENOENT、解析错误与工具调用超时

spawn ENOENT
Cursor 找不到 command;使用可执行文件的正确路径,并在相同环境里手动运行。
JSON parse error
mcp.json 语法错误;检查逗号、引号和对象层级。
server exited
本地进程启动后退出;查看 stderr、依赖和工作目录。
HTTP 401 / 403
远程 MCP 已收到请求,检查认证与服务权限。
tool call timeout
服务已连接但调用没有按时完成,查看服务端日志和外部依赖。

修复后在 Cursor 的 MCP 面板里重新加载服务。可用状态不仅是绿点,还要完成一次最小工具调用,并在日志里看到请求与返回;若工具内部还会访问外网,它也需要自己的代理环境。

集成终端中的环境变量与端口

集成终端继承 shell 环境,不一定跟随 Cursor 界面的网络设置。打印 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY,核对当前端口与绕过项,再用 curl 重做请求。Connections 没有新记录时,继续检查工具是否读取这些变量。

macOS / Linux 临时对照,7890 是待替换端口
CLASH_PORT=7890
export HTTP_PROXY="http://127.0.0.1:${CLASH_PORT}"
export HTTPS_PROXY="http://127.0.0.1:${CLASH_PORT}"
export NO_PROXY="localhost,127.0.0.1,::1"
curl -I https://example.com

Windows PowerShell、Git、npm 和各语言包管理器读取代理的方式可能不同,应按工具文档设置。不要在项目源码或提交记录中硬编码代理凭据。端口仍以 Clash 当前显示为准,7890 只是示例。

登录、完整回复、工具调用与终端请求的验收

登录问题以成功进入账号为准;模型问题要让一条回复完整结束;MCP 要实际调用一个工具;终端则让原来失败的 git、npm 或 curl 得到结果。四项不必一起测试,但每项都要对应自己的 Connections 或日志证据。

参考资料