气闸元工具基准测试
基准代币节省 气闸 元工具方法 vs传统 全工具扩展 用于MCP(模型上下文协议)服务器。
背景
当通过MCP向AI代理公开API时,有两种方法:
全面扩展(传统)
每个API端点都成为一个单独的MCP工具。对于一个拥有10个连接API的组织,平均每个API有30个端点,AI会收到 300工具定义 在每一条信息中。
元工具(气闸方法)
仅 4工具 无论连接了多少API,都会暴露出来:
| 工具 | 目的 |
|---|---|
list_services | 列出连接的服务和工具数量 |
search_tools | 按关键字查找工具 |
describe_tools | 获取特定工具的完整架构 |
execute_tool | 通过运行任何工具 service-slug/tool-name |
快速开始
# Clone the repository
git clone https://github.com/Air-Lock-AI/airlock-benchmark.git
cd airlock-benchmark
# Install dependencies
npm install
# Run the benchmark
npm run benchmark样本输出
📦 Meta-Tools (4 tools):
--------------------------------------------------
list_services : 63 tokens
search_tools : 130 tokens
describe_tools : 120 tokens
execute_tool : 144 tokens
--------------------------------------------------
TOTAL : 457 tokens
📊 Benchmark Results:
------------------------------------------------------------------------------------------------------------------------------
| Scenario | APIs | Tools | Meta | Full | Saved | % | $/req | $/user/mo |
|---------------------------------------|------|-------|---------|-----------|-----------|-------|---------|-----------|
| Single API (Linear) | 1 | 9 | 457 | 1,091 | 634 | 58.1% | $0.0019 | $1.90 |
| Single API (GitHub) | 1 | 18 | 457 | 2,928 | 2,471 | 84.4% | $0.0074 | $7.41 |
| Three APIs (typical org) | 3 | 32 | 457 | 4,878 | 4,421 | 90.6% | $0.013 | $13.26 |
| Large org (10 APIs) | 10 | 277 | 457 | 31,485 | 31,028 | 98.5% | $0.093 | $93.08 |
*Based on ~1,000 requests/user/month and Claude Sonnet 4.5 pricing ($3/1M input tokens)*输出格式
# Terminal output (default)
npm run benchmark
# JSON (for programmatic use)
npm run benchmark:json
# Markdown (for documentation)
npm run benchmark:markdown实时基准测试(针对您的气闸实例)
根据您的真实Airlock组织衡量实际令牌使用情况:
# Interactive authentication (opens browser for OAuth sign-in)
npm run benchmark:live -- --org my-org
# With token provided directly
npm run benchmark:live -- --org my-org --token $MCP_TOKEN
# Using staging environment
npm run benchmark:live -- --org my-org --env staging
# Output as JSON
npm run benchmark:live -- --org my-org --format json认证
当你运行基准测试时,没有 --token,它使用 OAuth 2.0 使用PKCE:
- 使用Airlock注册临时CLI客户端
- 打开浏览器登录
- 通过本地回调接收授权码
- 自动交换访问令牌
无需手动复制令牌!只需登录,即可完成。
如果OAuth失败(例如,防火墙阻止本地主机),它将退回到手动令牌输入。
实时基准输出
📊 Organization: my-org
Timestamp: 2024-01-15T10:30:00.000Z
📦 Services (3):
• Linear: 9 tools
• GitHub: 18 tools
• Google Calendar: 5 tools
Total: 32 tools
📏 Token Measurements:
Meta-tool definitions: 457 tokens (constant)
list_services response: 180 tokens
search_tools response: 250 tokens
describe_tools response: 320 tokens
Full expansion estimate: 4,480 tokens
⚖️ Fair Comparison:
Meta-tools workflow: 2,028 tokens
Full expansion: 4,480 tokens
Savings: 2,452 tokens (54.7%)
💡 🟢 Meta-tools recommended - good savings使用自己的OpenAPI规范
将OpenAPI规范(JSON格式)添加到 src/sample-specs/:
cp your-api-spec.json src/sample-specs/
npm run benchmark基准自动加载所有 .json 文件来自 sample-specs 目录。
公平比较
该基准考虑了 完整的工作流程开销 元工具方法:
元工具工作流程 (3个API调用):
search_tools("create issue")→ 返回匹配的工具(约150个令牌)describe_tools(["linear/create_issue"])→ 返回完整模式(~100个令牌)execute_tool("linear/create_issue", {...})→ 执行
完整的扩展工作流程 (1个API调用):
- 直接工具调用→ 执行
间接费用计算
元工具工作流程总计: (457 × 3) + 250 response tokens ≈ 1,621 tokens
| 场景 | 全面扩展 | 元工具(公平) | 差异 | $/req | $/user/mo |
|---|---|---|---|---|---|
| 单个API(5个工具) | 859 | 1621 | ❌ +762(元成本更高) | -0.002美元 | -2.29美元 |
| 单个API(9个工具) | 1091 | 1621 | ❌ +530(元成本更高) | -0.002美元 | -1.59美元 |
| 单个API(18个工具) | 2928 | 1621 | ✅ -1307(节省45%) | 0.004 | 3.92美元 |
| 三个API(32个工具) | 4878 | 1621 | ✅ -3257美元(节省67%) | 0.010美元 | 9.77美元 |
| 中等组织(122个工具) | 14652 | 1621 | ✅ -13031(节省89%) | 0.039美元 | 39.09美元 |
| 大型组织(277种工具) | 31485 | 1621 | ✅ -29864美元(节省95%) | 0.090美元 | 89.59美元 |
| 企业版(865个工具) | 95360 | 1621 | ✅ -93739(节省98%) | 0.281 | 281.22美元 |
*基于约1000个请求/用户/月和Claude Sonnet 4.5定价(3/10万美元输入代币)*
盈亏平衡点:总共约12-15个工具(通常为2个API)
何时使用每种方法
| 场景 | 工具 | 建议 | 公平比较 |
|---|---|---|---|
| 单个小型API | <10 | 全面扩展 | Meta成本增加约600个代币 |
| 单介质API | 10-20 | 任一种都有效 | 大致盈亏平衡 |
| 2-3个API | 20-40个 | 元工具 | 节省50-70% |
| 5+API | 50-150 | 元工具 | 节省80-90% |
| 企业级(10+API) | 200+ | 元工具必不可少 | 节省95%+ |
运作原理
令牌计数
基准使用 令牌。 随着 cl100k_base 用于精确令牌计数的编码。这与GPT-4和类似型号使用的标记器相同。
工具模式生成
OpenAPI规范转换为MCP工具模式:
operationId→ 工具名称description或summary→ 工具说明- 参数+请求正文→
inputSchema
贡献
欢迎投稿!思想:
- 添加更多示例API规范
- 可视化/图表
- 性能基准(延迟比较)
相关
- 气闸 -OpenAPI规范中的MCP服务器生成器
- 模型上下文协议 -AI工具使用的开放协议
- Anthropic Claude -使用MCP的AI助手
许可证
麻省理工学院
