返回 Bug 清单
BUG-0554project-52低已修复frontend-logic

MCP tool 输入参数名必须与 Zod schema 字段名完全一致,否则 Input validation error

发现:2026-10-07验证:2026-10-27置信度:70%

症状

Agent 调用 project-52_sync_run 传 { sourcePlatform: 'gitea', targetPlatform: 'github' } → Zod validation error,重试 3 次后放弃。正确字段应该是 source 和 target。

根因

MCP tool Zod schema 写 z.object({ source: z.string(), target: z.string(), slug: z.string() })。Agent 调用时如果传 sourcePlatform 或 targetPlatform 这种同义但拼错的字段名 → Zod 校验失败 → 返回 'Input validation error'。Agent 以为 tool 坏了重试,或报错用户。Zod 校验完全严格没有容错。

修复方案

Zod schema 字段名必须和 AI Agent 可能自然语言推测的一致:不要用 sourcePlatform,直接用 source + target + slug 这种短名。或在 tool description 里显式写出 JSON 示例:'调用示例: {"source":"gitea","target":"github","slug":"owner/repo"}'。

错误签名

ZodError: Input validation error, sourcePlatform does not match schema

技术信息

来源项目

project-52

涉及文件

packages/mcp-server/src/index.ts → tool schemas

标签

project-52, mcp-reported, source-agent