用途:驱动 @gleanwork/mcp-server-tester 的 runVariantExperiment,寻找能可测量地改善 LLM 工具触发的工具元数据改动,包括工具描述、输入 schema 文档与参数描述。代理负责判断下一版改写,库负责基线运行、变体注入、比较、排序、回归防护与结构化建议。
可改动范围:变体只改变宿主看到的元数据,不改变服务器接受的调用。可安全改动工具描述,以及 inputSchema 内的描述性文本(属性描述、枚举文档、示例、格式提示)。绝不可改参数名、类型、required 数组或 schema 结构;工具行为、响应结构、认证、传输、服务器构建不在范围内,需用基于项目的 A/B 测试。
使用方式:前置条件为带 toolsTriggered 期望的 mcp_host 评测数据集,以及 npm install ai @ai-sdk/<provider> 和对应 API key。先选指标(passRate、toolRecall、toolPrecision、toolF1),再运行数据集读取 caseResults[].mcpHostTrace 诊断失败,然后基于证据提出变体。支持静态 A/B 与迭代循环两种模式,迭代回调接收 baseline、history、bestSoFar,返回 [] 可提前停止,也会在 maxRounds 或增益低于 minImprovement 时停止。
结果解读:proposal.recommendation 为 apply、reject 或 inconclusive;需如实报告改进与回归,检查 result.reason。最终交付结构化 proposal 与可直接粘贴的元数据文本。
限制:不得修改评测数据集与 MCP 服务器源码(除非用户明确要求);变体必须保持线上兼容;默认 allowRegressions 为 false;每个候选都是一次完整评测,成本较高,应少而精。defaultLlmIterations 建议至少 5,重要决策用 10。