工具搜索里的 MCP 描述放到 16384
Claude Code 2.1.295 把模型经工具搜索加载的 MCP 工具描述截断长度从 2048 改为 16384 字符。说明没有写启动时就放进提示的那份描述也改成 16384,也没有写 CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH 的默认值变了。

MCP 工具太多时,描述不会全部放进第一条提示,而是等模型搜索到才加载。Claude Code 2.1.295 改了这条路径上的截断:经工具搜索加载的 MCP 工具描述,截到 16384 个字符,以前是 2048。mcp 工具描述 16384 只覆盖「工具搜索加载」这一句的主语。发行说明没有写一开始就放进静态提示的描述也改成 16384。
2048 那道帽还在另一条路径上
2.1.280 的 CLAUDE_CODE_MAX_MCP_DESCRIPTION_LENGTH 改的是工具描述和服务器说明的 2048 字符帽,见 MCP 描述长度。2.1.295 没有写这个变量的默认值变成 16384。它只写工具搜索加载的那份描述,截断点从 2048 改为 16384。你把变量设成更小的数时,说明没有写工具搜索会忽略它。设过该变量的环境,不要假设搜索路径一定给满 16384。
工具名超过 128 个字符让所有请求失败,是 2.1.292 的另一条,见 工具名超过 128。名字长度和描述截断无关。名字合法、描述有上万字,以前在搜索结果里只剩 2048。升级后搜索到的描述可以更长,提示也会更大。说明没有写因此多花多少 token。
没被搜索到的工具仍可能只有短描述
延迟加载的工具,模型没搜索到之前看不到那 16384。搜索到之后才按新上限截断。仍然超过 16384 的描述会被截掉后半。说明没有写截断处有没有省略号。关键约束若写在描述末尾,仍可能被切掉。把必须遵守的句子放在描述开头,比依赖 16384 一定够用更稳。
16384 是字符上限,不是 token 上限。中文描述一个字往往多于一个 token,英文则接近。同一份描述在搜索结果里变长之后,第一次用到该工具的那一轮会更贵,之后若命中缓存,增量主要在第一次。说明没有写搜索路径的描述是否进入提示缓存。工具很多、每个描述都顶满 16384 时,搜索一次可能带回一大段。把长说明放在服务器自己的文档里,描述里只留何时调用,比把整份手册塞进工具描述更不容易在别的路径上仍被 2048 截断。