MCP与CLI MCP令牌基准测试(TypeScript)
一个可重复的实验框架,用于比较:
- MCP本地代理 使用
openai/openai-agents-jsMCP服务器直接。 - CLI-MCP代理 使用
philschmid/mcp-cli作为一种薄型运输工具(mcp-cli call).
输出:
results/raw-results.json(所有运行+指标)results/summary.json(每项任务平均值+MCP与CLI增量)
需求
- Node.js 18+
mcp-cli在PATH上(安装:curl -fsSL https://raw.githubusercontent.com/philschmid/mcp-cli/main/install.sh | bash)- MCP服务器(文件系统、GitHub、搜索)可用
- OpenAI API密钥
设置
npm install设置环境变量(或复制 .env.sample 到 .env 并填写密钥):
OPENAI_API_KEY=...
GITHUB_PERSONAL_ACCESS_TOKEN=...
BRAVE_API_KEY=...如果 GITHUB_PERSONAL_ACCESS_TOKEN 或 BRAVE_API_KEY 如果缺少,则跳过匹配的MCP服务器和任务,因此您仍然可以运行仅文件系统的基准测试。
配置MCP服务器
使用两个配置:
- 代理人(直接MCP) 用途
src/config.ts默认值。 - CLI(mcp-CLI) 用途
mcp_servers.json.
如果您的MCP服务器安装方式不同,请调整命令。
默认服务器(stdio)
@modelcontextprotocol/server-filesystemgithub-mcp-server@modelcontextprotocol/server-brave-search
如果您通过Docker或HTTP运行GitHub MCP服务器,请更新 src/config.ts 和 mcp_servers.json 因此。
跑
npm run dev可选参数:
npm run dev -- --runs 3 --model gpt-5-mini --tasks filesystem.read.sample,github.search.code多模型和AI SDK示例:
# Run multiple OpenAI models in one sweep
npm run dev -- --models gpt-5-mini,gpt-4.1-mini
# Use AI SDK (e.g. Anthropic / Google) models
MODEL_PROVIDER=aisdk AI_SDK_PROVIDER=anthropic AI_SDK_MODELS=claude-3-5-sonnet-20241022 npm run dev
MODEL_PROVIDER=aisdk AI_SDK_PROVIDER=google AI_SDK_MODELS=gemini-1.5-pro-latest npm run dev自定义AI主机(AI SDK):
# Shared host for any AI SDK provider
AI_SDK_BASE_URL=https://your-host.example MODEL_PROVIDER=aisdk AI_SDK_PROVIDER=anthropic AI_SDK_MODELS=claude-3-5-sonnet-20241022 npm run dev备注
- CLI代理准确调用:
- mcp-cli call -c mcp_servers.json
- 输出应为原始JSON。
NO_COLOR=1设置为避免ANSI噪声。 - 指标来自
openai-agents-js追踪/使用;没有手动令牌估计。 - 检索是从工具调用错误跨度推断出来的,后面是同名的后续工具调用。
