快速结论:这个报错通常出现在 LiteLLM 里新增 Stdio 类型 MCP 服务后,MCP Tools 页面看不到任何 Available Tools,日志同时出现连接失败,而 SSE/HTTP 类型 MCP 仍然正常。优先排查运行环境中是否缺少 npx 所在的 Node/npm 组件。
适用环境:LiteLLM v1.77.7 Stable;Docker 镜像部署场景。评论中提到该 Docker 容器内 node/npm 实际位于 /root/.cache/prisma-python/nodeenv/bin/,另有用户反馈最新镜像完全没有 npm。Python MCP 服务配合 uvx 可以正常工作。
最快修复方案:暂无确认的一步修复方案。Issue 中多位用户验证的有效方向是在 LiteLLM 容器内补齐 npm 后,npx 类型的 Stdio MCP 才能正常连接。
注意事项:Issue 已确认根因位于主线代码:三个 proxy Dockerfile 的 runtime 阶段只安装了 nodejs 而未安装 npm,且只把 uv/uvx 复制到 builder 阶段,因此容器内缺少 npx 所需的 npm。手动安装方式属于临时绕过,容器重建后可能失效;不同镜像版本是否已包含 npm 需要自行确认。
问题场景
用户在 LiteLLM 中通过 UI 添加 Stdio 类型的 MCP 服务(例如基于 npx 启动的 @modelcontextprotocol/server-sequential-thinking)后,MCP Tools 页面不显示任何 Available Tools。相同环境下 SSE 或 HTTP 类型的 MCP 可以正常工作。该问题在 Docker 镜像部署中尤为常见,且多位用户反馈使用 Python MCP 服务配合 uvx 可以成功。
报错原文
20:02:09 - LiteLLM:WARNING: client.py:140 - MCP client connection failed: [Errno 2] No such file or directory
20:02:09 - LiteLLM:WARNING: client.py:140 - MCP client connection failed: [Errno 2] No such file or directory
20:02:09 - LiteLLM:WARNING: client.py:228 - MCP client session is not initialized
原因分析
已确认的根因是 LiteLLM 主线代码中,三个 proxy Dockerfile 的 runtime 阶段安装了 nodejs 但没有安装 npm,并且只把 uv/uvx 复制进了 builder 阶段。Stdio 类型 MCP 依赖 npx 启动服务时,进程找不到对应的可执行文件,于是出现 [Errno 2] No such file or directory,随后 MCP client session 无法初始化,Tools 列表自然为空。SSE/HTTP 类型 MCP 不需要本地启动子进程,因此不受影响。也有用户反馈在容器内 node/npm 被放在 /root/.cache/prisma-python/nodeenv/bin/ 这类非默认路径下,同样可能导致 npx 无法被直接调用。
环境排查
- 确认 LiteLLM 版本是否为 v1.77.7 Stable 或存在相同 Dockerfile 行为的版本。
- 确认部署方式是否为 Docker 镜像,并检查当前镜像内是否包含
npx与 npm。 - 检查
node/npm是否在 PATH 中可直接执行,或仅存在于/root/.cache/prisma-python/nodeenv/bin/等非默认路径。 - 对比同环境下使用
uvx的 Python MCP 服务是否正常,用于区分是否为 npx/Node 环境问题。 - 确认失败日志中的
[Errno 2] No such file or directory是否发生在启动 MCP 子进程阶段。
解决步骤
- 先确认镜像内是否真的缺少 npm:如果容器中 node/npm 位于
/root/.cache/prisma-python/nodeenv/bin/,说明它们不是被标准方式安装的,npx 调用可能失败。 - 如果确认镜像缺少 npm,可在容器内补齐 npm 组件;Issue 评论中提到的临时方式是手动安装 npm。
- 另一种临时思路是在
docker-compose.yaml中通过post_start命令安装 Node.js 与 npm,使容器启动后具备 npx。 - 补齐 npm 后,重新在 LiteLLM UI 中添加或刷新对应的 Stdio MCP 服务。
- 如果补齐 npm 后仍失败,检查 node/npm 所在路径是否加入 PATH,使
npx能被 LiteLLM 进程直接找到。 - 若上述方式仍无效,可改用验证过可工作的 Python MCP 服务(配合
uvx)作为临时替代,同时关注主线 Dockerfile 的修复进展。
验证方法
补齐 npm 后重新加载 MCP Tools 页面,确认对应 Stdio MCP 服务的 Available Tools 能够正常列出;同时观察 LiteLLM 日志中不再出现 MCP client connection failed: [Errno 2] No such file or directory 以及 MCP client session is not initialized。SSE/HTTP 类型 MCP 应继续保持正常。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[BUG] crewai eval sends saved organization ID to untrusted AMP origins](https://www.chat-gpts.plus/wp-content/uploads/2026/10/7705-b9162420-768x403.jpg)
![[Bug]: llama-index-embeddings-azure-openai 0.6.0 is still dependent on llama-index-llms-azure-openai>=0.4.0,<0.6](https://www.chat-gpts.plus/wp-content/uploads/2026/10/23325-955c0d99-768x403.jpg)
