配置 mcp_tool_not_available_in_session api proxy

Codex MCP 工具提示 does not exist in this session's available toolset

如果 codex mcp list 显示 enabled,日志也记录了 tool_count,但当前会话仍说工具不存在,问题在 MCP 工具没有进入该会话的可调用工具集。重新认证、扩大文件权限或反复改提示词通常无效。

错误摘要

Codex 提示 MCP tool does not exist in this session's available toolset 时,先核对服务和工具发现状态,再用全新会话、codex doctor、官方 provider 与版本 A/B 判断是缓存、客户端回归还是自定义 provider 没有暴露工具。

#codex tool does not exist in this session available toolset #codex mcp tool does not exist #codex mcp tools unavailable #codex mcp list enabled but tool unavailable #codex 找不到 mcp 工具 #codex mcp 工具不可用

你已经配置了 MCP,codex mcp list 也显示 enabled,但 Codex 回答:

The callable <server> <tool> tool does not exist in this session's available toolset.

或者表现为:Codex 知道 MCP server 的名字,却坚持说当前 session 没有对应工具。

这个错误是什么意思

它表示目标 MCP 工具没有进入当前会话交给模型的可调用工具集。问题可能发生在四个阶段:服务没有真正启动、tools/list 没返回工具、客户端没有缓存工具,或者工具已被发现却没有暴露给当前会话。

所以 codex mcp list 的 enabled 不是最终验证。它只能证明配置项打开了,不能证明某个工具现在可调用。

先确认是不是同一个问题

先运行:

codex mcp list
codex doctor --json

然后核对三件事:

  1. 目标 MCP server 是否 enabled,启动有没有报错。
  2. 日志里是否出现该 server 的 tool_count,数量是否大于 0。
  3. 你明确要求调用一个已知工具时,Codex 是说“工具不存在”,还是调用后返回 Unexpected response type

如果已经发起工具调用,随后报 Unexpected response type,那是结果解析问题,应按另一条错误排查;本文只处理“工具根本不在当前 session 工具集”。

怎么解决

  1. 新建一个干净会话复测。 MCP 配置变化后,旧会话不一定会重新装载工具。重新启动 Codex,再创建新会话,明确点名一个已知工具。
  2. 确认 MCP 本身能列出工具。 日志没有 tool_count 或数量为 0 时,优先检查 MCP 命令、URL、环境变量和启动错误。
  3. 保留一组最小对照。 只启用一个 MCP server,只测试一个稳定工具,避免几十个 server 和 tool search 同时干扰判断。
  4. 比较 Codex 版本。 GitHub #33547 报告从 0.144.4 更新到 0.144.5 后出现问题,但后续用户表示降回 0.144.4 仍然复现。因此版本回退只能用于 A/B,不能承诺修复。
  5. 自定义 provider 做官方路径对照。 如果官方 OpenAI provider 能暴露工具、自定义 Responses provider 不能,重点检查 provider 是否完整传递工具声明,而不是修改 MCP server。
  6. 提交诊断信息。 附上 codex --versioncodex doctor --json 的脱敏结果、server 名、预期 tool 名,以及日志中的 tool_count

不要先删除整个 ~/.codex。这会混掉配置、认证和会话三个变量,也可能损失本地状态。更不要为找不到 MCP 工具开启 Full Access;本机文件权限和会话工具暴露不是一回事。

哪些操作通常无效

  • 反复换一种提示词:工具没有进入 toolset 时,模型无法靠措辞把它变出来。
  • 只看 codex mcp list:enabled 不等于已缓存、已暴露、可调用。
  • 没有认证错误却反复 OAuth 登录:公开案例中重新认证后仍然缺工具。
  • 直接认定是 0.144.5:目前有更新后开始复现的证据,也有降级后仍复现的反馈,根因尚未收敛。

一句话结论

tool does not exist in this session's available toolset 的核心不是 MCP 配置有没有写,而是工具有没有真正进入当前会话;按启动、发现、缓存、会话暴露四层逐一对照,别靠放大权限或重装碰运气。

仍然报错?换个中转站试试

  1. Xclis.ai logoXclis.ai
  2. kukuai logokukuai
  3. API-Route logoAPI-Route
  4. derouter.ai logoderouter.ai
  5. DeepKey logoDeepKey
  6. Model Gate logoModel Gate
  7. APIKey logoAPIKey
  8. MuskAI logoMuskAI
查看全部中转站

相关错误

常见问题

常见问题

codex mcp list 显示 enabled,为什么工具还是不存在?

enabled 只说明配置启用,不保证工具已经进入当前会话的可调用工具集。还要确认服务完成启动、tools/list 返回工具,并且客户端把工具缓存或暴露给当前模型。

重新登录 MCP OAuth 能解决吗?

只有认证确实失败时才有意义。公开的 0.144.5 案例里,重新认证 Atlassian 后日志仍能发现 40 个工具,但当前会话依然无法调用,说明问题不在登录本身。

把权限改成 Full Access 有用吗?

通常没有。Full Access 管的是本机命令、文件和网络权限,不会自动把缺失的 MCP 工具加入会话工具集。

AI 中转站精选

从充值换算、官方价格折扣和本站人气三个维度,查看当前有代表性的中转站。

查看全部中转站