SuperAPI AI 工具集

write-mcp-host-eval

智能体与模型

查看项目

更新于 10-16 05:49

技能介绍

用途:为 MCP 服务器编写 mcp_host 模式的评测集,让真实 LLM 接收自然语言场景并自行决定调用哪些 MCP 工具,从而验证工具可发现性、参数清晰度和工具描述质量。回归测试、工具逻辑与错误处理、Schema 校验应使用 direct 模式(更快、免费、确定性强)。mcp_host 模式会调用真实 LLM API,单次测试约 $0.003–0.02(随提供方与工具数量变化)。

使用方式:先安装 Vercel AI SDK 与提供方包,例如 npm install ai @ai-sdk/anthropic(亦支持 openai、google、vertex-anthropic、mistral、azure、deepseek、openrouter、xai),并设置对应 API key 环境变量(如 ANTHROPIC_API_KEY)。评测用例需设置 "mode": "mcp_host"、natural language 的 scenario 与 mcpHostConfig(provider、model、hostType、temperature 默认 0、maxToolCalls 默认 10、maxTokens、apiKeyEnvVar),hostType 可选 sdk 或 cli(cli 用 command/args/outputFormat/timeout,{{scenario}} 会被替换)。断言使用 expect.toolsTriggered(calls[].name/required/arguments、order 为 any 或 strict、exclusive)与 toolCallCount(min/max 或 exact),参数支持精确匹配和 $pattern、$flags 正则匹配。可用 iterations 与 accuracyThreshold 做多轮准确率评估。测试运行器从 @gleanwork/mcp-server-tester/fixtures/mcp 导入 test/expect,使用 loadEvalDataset 与 runEvalDataset(需传入 options 与 { mcp, testInfo } 两个参数)。运行:npx playwright test tests/my-host-evals.spec.ts。

变体对比:仅比较描述与输入 Schema 时用 runEvalDataset 的 toolOverrides 或 runVariantExperiment,并以 compareEvalRuns 对比;涉及真实服务器、配置、行为或响应变化时使用基于 projects 的 A/B 测试。

限制:LLM 输出非确定性,需多轮运行并设置合理阈值;成本随模型与工具数量增加;缺失信息以官方文档为准。