最近在做一个基于 MCP 协议的 Agent 项目,想让模型自己决定调用哪个本地工具。但实际跑起来经常出现模型反复调用同一个工具、或者参数格式对不上导致调用失败的情况,偶尔还会直接超时。我用的 Claude 桌面端 + 自己写的一个 MCP server,工具描述已经写得很详细了,schema 也校验过没问题。想问问大家,这种问题一般出在哪?是 prompt 需要特殊设计,还是 MCP 的 tool 注册方式有讲究?有没有人踩过类似的坑,求指点一下排查思路。