The model cannot discover any tools - Codex
Quick fix
Upgrade cc-switch past 3.16.1 and edit cc-switch-model-catalog.json to set supports_search_tool to false for the DeepSeek models.
Symptom
Section titled “Symptom”在 codex 中要求大模型调用 mcp 工具,大模型无法发现任何工具Asking the model to call an mcp tool in codex, the model cannot discover any tools
In cc-switch 3.16.0 and other early versions, some chat interfaces (deepseek, glm) cannot handle custom MCP tools properly and fail to inject the tool descriptions into the prompt context; this was fixed in 3.16.1. In later versions such as 3.19.2, however, the cc-switch-model-catalog.json config file wrongly sets the supports_search_tool property to true for the deepseek-v4-pro and deepseek-v4-flash models. Codex then assumes the model supports tool_search and loads the MCP tools lazily, but DeepSeek does not actually support that officially, so the tool calls fail.
Update cc-switch to 3.16.1 or newer to fix the basic MCP injection problem on the chat interface.
Open the cc-switch-model-catalog.json config file, find the deepseek-v4-pro and deepseek-v4-flash models, and change their supports_search_tool property to false.
// cc-switch-model-catalog.json{"deepseek-v4-pro": {"supports_search_tool": false},"deepseek-v4-flash": {"supports_search_tool": false}}
Affected Versions
Section titled “Affected Versions”Source Issues
Section titled “Source Issues”This page is distilled from 2 real issues
- I tried using cpa to convert the deepseek chat endpoint into a responses endpoint — why does MCP still not work?
- Converting the endpoint alone does not address the root cause. On version 3.16.0 you need to upgrade to 3.16.1; on 3.19.2 you need to change the supports_search_tool setting in cc-switch-model-catalog.json by hand.
Related problems
Section titled “Related problems”This is an unofficial community wiki with no affiliation to the cc-switch authors or the project itself. Its content is compiled from the project's public GitHub issues. This site distributes no software.