#38208·litellm

[错误]: MCP 向 dcr_bridge 服务器发送 x-litellm-api-key 返回一个空工具列表

作者: vlebourl创建于 2026年8月25日更新于 2026年9月17日
标签bug

检查现有问题

  • 我搜索了现有的问题,并核实我的问题不是重复的。

发生了什么事?

我在网关后设置了一个MCP服务器,使用"auth type: oauth delegate"与 `dcr bridge: true',因为上游需要每个用户自己签名。

浏览器的登录工作 和网关 递给我的客户一个符号。 但是那个标志 只有我的委托人也发出"x-litellm-api-key",请求才会成功. . 没有它 符号端点回复 :

此服务器会发布一个网关绑定的证书; 完成交互签名, 或者在符号请求中发送一个 litellm 证书( x- litellm- api- key 或授权)

所以我安排我的客户端发送信头。 我的客户发同样的信头 每一个请求,一旦标题出现,“工具/清单”就会带回 空 “ 工具” 阵列和 HTTP 200。

发送完全相同的同文没有 该头返回所有30个工具。 这是 两个电话的唯一区别

QQ 用户流

该应用程序是一个内部AI网关,约有一打员工使用. 这个 为 Claude 桌面提供聊天模式和 MCP 工具,该桌面通过 `mcp-remote'. " 每个人都使用一个URL和一个虚拟密钥.

在(假说)修复之前

流量在步骤 6 失败 : 工具列表返回为空, 所以 Claude 桌面显示 服务器为无法使用。

  1. 用户将服务器添加到 Claude 桌面 `npx-y mcp-remote https://gateway.example.com/demo/mcp-header "x-litellm-api-key:Bearer <他们的虚拟键>",然后重新启动应用程序.
  2. 客户请求GET https://gateway.example.com/.well-nowledge/oauth-被保护-resources/demo/mcp'-200',指向`https://gateway.example.com/demo'。
  3. 客户请求 " POST https://gateway.example.com/demo/register " , " 200 " ,接收 " 客户 id " 。
  4. 浏览器窗口打开`https://gateway.example.com/demo/authorize? ' 。 用户用自己的账户签名,并用授权代码重新定位。
  5. 客户要求POST https://gateway.example.com/demo/token' 使用该代码,并携带其x-litellm-api-key'头条-200',从llm env `'开始获得一个符号。
  6. 客户请求POST https://gateway.example.com/demo/mcp',附有认证:Bearer llm env . ' 相同的x-ellm-api-key'标题,要求工具/名单'-200',但身体是'工具':`'。
  7. Claude桌面显示服务器为失败: "此服务器未提供工具". 用户不能使用任何工具 。

没有授权结果:没有人获得他们不该获得的进入权. 请求 拒绝,不允许错误地允许。

在(假说)修复后

流量完成:用户看到工具并可以调用.

  1. 同文。
  2. 不变。
  3. 同样。
  4. 同样。
  5. 同样。
  6. 客户要求POST https://gateway.example.com/demo/mcp',附有认证:Bearer llm env . ' 相同的x-litm-api-key'头条,要求提供工具/清单'-`200',列出所有30个工具。
  7. Claude 桌面显示服务器为 . . . . . . .

内容来源: BerriAI/litellm