[Bug] MCP 工具的 inputSchema 未透出到模型侧工具声明(模型只能盲调参数、-32602 反复试错) #5862
Replies: 1 comment
|
Good call opening this as its own thread — it's a distinct fault surface from the zero-arg binding bug and deserves independent tracking. Building on the anchor from #5851: the client already holds the full schemas — For the fix shape, I'd push slightly past "at least required + enums" toward passing the whole schema through once the pipeline carries it: the harness's native tool declarations already render full JSON-schema ( This is core-side ( |
Uh oh!
There was an error while loading. Please reload this page.
环境
@deepseek-ai/dsh-web-app0.1.2-rc.1(Windows,DeepSeek Harness Web GUI)现象
dsh-mcp-client 已从各 MCP 服务器正确获取 inputSchema,但模型侧看到的 MCP 工具声明是无参数、无描述的空壳(对比内置工具如 pwsh 有完整类型与说明)。模型只能靠盲调 + 从 -32602 报错反推参数要求。
证据
tools/list,拿到 30 + 29 个工具的完整 inputSchema(类型/必填/枚举/描述齐全)——服务器与 MCP 客户端链路正常mcp-client/src/tools.ts:168用tool.inputSchema构建工具表)——丢失发生在工具表之后、模型侧声明渲染之前,修复 localized to the declaration rendererissue__search_list必填枚举type(assigned|created),另声明 page/limit/state/labels/keyword;且该工具 schema 无 owner/repo 参数(传入被忽略,检索范围由服务端默认仓库决定)——这些语义模型侧完全不可见修复形状建议
tools/list拿到的 inputSchema(至少 required + 枚举,描述随后)映射进模型侧工具声明,与内置工具同等待遇当前 Workaround
外部维护一份 schema 查表文档(探针脚本对各服务器发
tools/list自动生成)——治标,仅覆盖已知服务器。All reactions