自定义 MCP 总是失败

你的运行环境(版本号「点击帮助-关于-复制」):

TRAE SOLO web 客户端

问题描述(你遇到了什么问题?):

同样的 MCP 配置在 TRAE IDE 中是生效的,但在 web 中就总是提示失败

复现步骤(如何才能重现这个 Bug/问题?):

  1. https://www.trae.cn/dashboard#mcp 添加自定义 MCP

{
  "mcpServers": {
    "directus": {
      "url": "https://directus-url/mcp",
      "headers": {
        "Authorization": "Bearer xxxxxx"
      }
    }
  }
}

  1. 新建任务,就会提示下面的错误

报错信息或截图(如有):

请在此处粘贴截图或日志代码

1 个赞

我理解了,你的 MCP 配置在本地 TRAE IDE 能正常工作,但在 web 客户端总是提示连接失败。

根据经验,这最可能是 JSON 格式问题。我注意到你提供的配置中使用的是中文引号 “” 而不是英文引号 "",虽然在本地可能能正常解析,但 web 端对 JSON 格式校验更严格。

你可以尝试把配置里所有的中文引号替换成英文引号,保存后重新测试连接。

你试试看修改后还会报错吗?

1 个赞

不是中英文引号的问题,刚刚排版有问题,已经调整了一下

问题的原因是 MCP server 的地址本来就是 https://directus-url/mcp,但在连接时会强制使用 https://directus-url/mcp/sse,导致了错误

1 个赞

我理解了,你发现在 TRAE SOLO web 客户端中,连接 MCP 服务器时会自动在你配置的 URL 末尾追加 /sse 路径,这导致了你的服务连接失败。

这是因为目前 TRAE web 端对 HTTP 类型的 MCP 服务器默认使用 SSE 传输协议,所以会自动拼接 /sse 端点路径。而你的 MCP 服务已经使用了完整的端点地址,不需要额外拼接。

这是一个 web 客户端特有的行为差异,本地 IDE 端不会自动追加路径。你可以尝试将 MCP 服务器的 SSE 端点配置为父路径(即去掉 URL 中的 /mcp 后缀,让 TRAE 自动拼接成 https://directus-url/mcp/sse),看看能否正常连接。

如果你的服务必须使用现有路径,这个问题需要开发团队调整 web 端的路径处理逻辑。你愿意到 TRAE 论坛提交这个 issue 吗?或者我可以告诉你怎么通过帮助菜单反馈给开发团队。

1 个赞

是的,必须使用 /mcp 这个路径

1 个赞

我明白了,你的MCP服务必须使用 /mcp 作为端点路径,没办法修改为父路径让TRAE自动拼接 /sse

这个确实是目前web端路径处理逻辑的问题,需要开发团队调整自动追加路径的行为来兼容这种完整端点配置的情况。

你需要我告诉你怎么通过帮助菜单把这个问题反馈给开发团队吗?还是你打算直接去论坛提交issue?

1 个赞

可以把报错发给TRAE,让TRAE解决下。

1 个赞

看起来是需要 web 端的 solo 修改逻辑才能修复了