首页
/ CherryHQ项目中MCP Server请求头配置失效问题分析

CherryHQ项目中MCP Server请求头配置失效问题分析

2025-05-08 02:43:01作者:齐添朝

问题背景

在CherryHQ项目的v1.2.4版本中,用户报告了一个关于MCP Server配置的严重问题。当用户尝试为SSE(Server-Sent Events)类型的MCP Server配置自定义请求头(如Authorization头)时,系统无法正确保存这些配置,导致后续请求中缺少必要的认证信息。

问题现象

用户在使用macOS平台时发现以下异常行为:

  1. 在MCP Server配置界面添加Authorization头后点击保存
  2. 请求头输入框内容被意外清空
  3. 实际发送到SSE Server的请求中未包含配置的Authorization头
  4. 服务器端调试确认请求头缺失

类似问题也出现在StreamableHTTP类型的服务器配置中,无论保存操作是否成功,请求头配置都会被清空。

技术分析

配置保存机制缺陷

从现象分析,问题可能出在前端配置保存逻辑上。当用户提交包含自定义请求头的配置时,前端可能没有正确处理这些附加字段,导致它们在序列化过程中丢失。

临时解决方案

用户发现可以通过直接编辑MCP配置JSON来绕过这个问题。例如:

{
  "isActive": true,
  "name": "测试MCP服务器",
  "type": "streamableHttp",
  "baseUrl": "http://localhost:8080/mcp",
  "headers": {
    "Authorization": "Bearer 123456"
  }
}

这种方法证实了系统底层实际上是支持请求头配置的,只是UI界面存在保存逻辑的问题。

影响范围

该问题影响所有需要为MCP Server配置自定义请求头的场景,特别是:

  • 需要认证的SSE服务器连接
  • 需要特殊请求头的StreamableHTTP服务
  • 任何依赖自定义请求头进行服务调用的场景

解决方案建议

  1. 前端修复:检查并修正配置保存逻辑,确保请求头字段被正确序列化和保存
  2. 输入验证:在清空输入框前增加确认提示,防止用户误操作
  3. 配置回显:保存后重新加载配置时,确保所有字段(包括请求头)正确回显
  4. 文档补充:在官方文档中明确说明直接编辑JSON的替代方案

总结

这个问题虽然看似简单,但对依赖请求头进行认证和授权的服务影响重大。开发团队已将该问题合并到#5001进行统一修复。在此期间,用户可以使用直接编辑JSON的方法作为临时解决方案。建议用户在升级到修复版本后,重新检查所有MCP Server的配置以确保功能正常。

登录后查看全文
热门项目推荐
相关项目推荐