TypeError: ‘int’ object is not subscriptable`. The surrounding `try/except` swallows it and re-surfaces it as the misleading “Could not capture host progress context” warning above.

当客户端通过 LiteLLM MCP 网关调用工具时,如果请求 _meta 中的 progressToken 是整数类型,就会触发 TypeError: 'int' object is not subscriptable 并显示为 “Could not capture host progress c

快速结论:当客户端通过 LiteLLM MCP 网关调用工具时,如果请求 _meta 中的 progressToken 是整数类型,就会触发 TypeError: 'int' object is not subscriptable 并显示为 “Could not capture host progress context” 警告。优先确认 LiteLLM 版本,并升级到包含修复的 v1.93.0 或更高版本。

适用环境:LiteLLM MCP 网关(litellm/proxy/_experimental/mcp_server/server.py);影响范围从 v1.86.2 到当前 main(v1.90.0-rc.1),修复首发于 v1.93.0(2026/07/18 发布)。未确认其他操作系统、CUDA、显卡等环境信息。

最快修复方案:升级 LiteLLM 到 v1.93.0 或更高版本,该版本已通过 PR #32402 修复此问题。

注意事项:该问题仅产生日志警告噪音,不影响实际功能,因为 host_progress_callback 在报错之前已赋值,进度转发仍能正常工作。升级前请确认你的 LiteLLM 配置和依赖与新版兼容。

问题场景

在 LiteLLM 代理中注册 MCP 服务器,并通过 MCP 网关调用工具时,若客户端在请求 _meta 中传入整数的 progressToken,代理日志会在每次工具调用时输出重复警告。许多 MCP 客户端 SDK 使用递增整数计数器作为 progressToken,因此该场景很常见。

报错原文

WARNING:LiteLLM:Could not capture host progress context: 'int' object is not subscriptable

原因分析

可能原因:在 litellm/proxy/_experimental/mcp_server/server.py 的主机进度捕获逻辑中,代码对 host_token 执行了 host_token[:8] 切片操作,该操作假定 host_token 是字符串。但根据 MCP 规范,progressToken 类型为 string | integer(Python SDK 中表示为 str | int),因此整数 token 会触发 TypeError: 'int' object is not subscriptable。外层 try/except 捕获后重新包装成误导性的 “Could not capture host progress context” 警告。

另外,代码中的 f-string 即使调试日志关闭也会被立即求值,所以该警告不受日志级别影响,每次调用都会触发。

环境排查

  • LiteLLM 版本:确认是否低于 v1.93.0(v1.86.2 至 v1.90.0-rc.1 均受影响)。
  • MCP 客户端行为:检查调用工具时请求 _meta 中的 progressToken 是否为整数类型。
  • MCP 协议版本:确认客户端遵循 MCP 规范中 progressToken 允许字符串或整数的定义。

解决步骤

  1. 首选方案:升级 LiteLLM 到 v1.93.0 或更高版本,该版本合并了修复 PR #32402。
  2. 升级后重启 LiteLLM 代理服务,使新代码生效。
  3. 如果暂时无法升级,可以忽略该警告,因为已确认它不影响进度转发功能;但需注意日志噪音会持续存在。

验证方法

升级并重启后,用携带整数 progressToken 的客户端再次通过 MCP 网关调用工具,观察代理日志中不再出现 Could not capture host progress context 警告,即说明问题已解决。

参考来源

BerriAI/litellm #30976

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 18294

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注