toolathlon_gym
503个本地任务×25个MCP服务器,标准化评测AI Agent真实工具调用能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
503个本地任务×25个MCP服务器,标准化评测AI Agent真实工具调用能力
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Toolathlon-GYM 项目概览 — 503个真实任务、25个MCP服务器、全部本地运行
想象你是一名 AI 研究员,手头有一批大语言模型需要评估——谁写代码最利索?谁处理表格最靠谱?谁在多步骤复杂任务上最容易卡壳?市面上常见的 benchmark 要么只考单一技能,要么干脆依赖真实的第三方 API(天气、地图、支付接口),动不动就因为接口变更或限流导致测试失败,数据无法复现。
Toolathlon-GYM 正是为解决这个痛点而生。它是香港科技大学自然语言处理实验室(HKUST-NLP)发起的 Toolathlon 项目的扩展版本,在其基础上将任务规模从几十个扩充到 503 个,覆盖 25 个 MCP(Model Context Protocol)服务器,所有数据存储在本地 PostgreSQL 数据库中,评测过程完全不依赖任何外部网络 API。换句话说,你在自己的机器上跑完整套 benchmark,结果完全可复现,不受任何外部因素干扰。
这个项目来自新加坡的 AI 安全公司 Eigent AI,由研究员 Puzhen Zhang 等人主导,GitHub 目前已积累 140 颗星、11 个 fork,是当前 AI Agent 评测领域值得关注的新兴基准平台。
在深入了解 Toolathlon-GYM 之前,有必要先理解这个项目试图解决的根本问题——现有 Agent 评测方案的三大通病:
第一,工具覆盖范围太窄。 很多 benchmark 只测试代码生成或简单问答,与真实工作场景中 Agent 需要协调多个异构工具(数据库查询、邮件发送、日历管理、文件生成)的情况相去甚远。一个能写出漂亮冒泡排序的模型,不等于它能在真实办公场景中帮你查数据库、发邮件、生成报表。
第二,数据规模太小。 少量任务容易过拟合,模型可能在少数几个任务上表现优异,但换个同类任务就原形毕露。足够大的任务池才能暴露模型的真实泛化能力。
第三,依赖外部 API 导致评测不稳定。 真实 API 会限流、会改接口、会突然收费,导致 benchmark 成绩时好时坏,无法建立可靠的纵向比较基准。Toolathlon-GYM 的核心设计哲学就是完全本地化——用 mock 数据库和本地 MCP 服务器模拟真实服务,彻底消除对外部网络的依赖。
Toolathlon-GYM 的代码架构分为三大核心层次,每一层都有明确的职责边界:
数据层(tasks/ + db/)
tasks/ 目录下存放了 503 个完整评测任务,以任务名为子目录组织,每个任务内部包含预置的工作区文件(initial_workspace/)、任务描述和参考答案。任务类型覆盖数据库操作(PostgreSQL 查询与报表生成)、日历管理(Google Calendar 集成模拟)、表单处理(Google Forms 模拟)、文件转换(Excel ↔ JSON/CSV ↔ PDF)、网络搜索与信息抽取等真实场景。
db/ 目录包含 PostgreSQL 初始化脚本(压缩的 init.sql.gz),通过 docker-compose 自动初始化一个预置了企业级模拟数据的数据库。数据库 schema 设计参考了 Toolathlon 原版的成熟方案,涵盖员工信息、产品目录、订单记录、财务数据等企业常用数据模型。
工具层(local_servers/)
local_servers/ 目录包含 25 个 MCP 服务器实现,共 797 个文件。这些 MCP 服务器覆盖了 ArXiv 论文搜索、Excel 文件操作、Google Drive 访问、文件系统管理、GitHub API 调用等常用工具。每个 MCP 服务器以独立进程运行,Agent 通过标准化 MCP 协议与它们通信,实现工具调用的解耦。
这种设计的好处是:MCP 协议是 Anthropic 主导的开放标准,意味着未来支持 MCP 的 Agent 框架(CAMEL、LangChain、CrewAI 等)都可以直接接入这些服务器,无需额外适配。
运行层(scripts/ + main.py)
运行逻辑由 main.py 统一入口 + scripts/run_containerized.sh 容器化脚本组成。每个任务在独立的临时 Docker 容器中执行,容器启动时加载任务预置文件并初始化数据库状态,Agent 在容器内完成工具调用后,由 evaluation/main.py 自动比对执行结果与参考答案,全程无需人工介入。
多任务并发运行则通过 run_parallel.sh 脚本管理,结合 Docker 容器隔离和 PostgreSQL 的表级锁机制,保证并发安全。
从 pyproject.toml 可以看出项目依赖生态非常丰富,核心依赖包括:
| 依赖类别 | 代表包 | 用途 |
|---|---|---|
| AI Agent 框架 | camel-ai | 示例 Agent 实现,可替换为任意兼容框架 |
| MCP 服务器 | arxiv-mcp-server、excel-mcp-server、cli-mcp-server | 各工具的 MCP 协议实现 |
| 数据库 | psycopg2、SQLAlchemy(推断) | PostgreSQL 连接与 ORM |
| 数据处理 | pandas、openpyxl、bibtexparser | 文件格式转换与数据处理 |
| Web 服务 | aiohttp、fastapi(推断) | MCP 服务器异步通信 |
| 外部集成 | google-api-python-client、canvasapi | Google / Canvas API mock |
项目要求 Python 3.12.11,这是一个相对新颖的版本要求,确保可以使用 typing.Never 等新语法特性。依赖管理使用 uv(uv.lock 文件),比 pip 更快。
部署方面,项目提供了标准的 Dockerfile 构建镜像(基于 Python 3.12),以及 docker-compose.yml 编排 PostgreSQL 数据库服务。启动流程简洁:
# 构建 Agent 镜像
docker build -t toolathlon-pack:latest .
# 启动 PostgreSQL
docker compose up -d postgres
# 运行单个任务(通过环境变量指定模型)
MODEL_PROVIDER=aihubmix MODEL_NAME=claude-3-5-sonnet-20241022 \
MODEL_API_KEY=xxx MODEL_API_URL=https://aihubmix.com/v1 \
bash scripts/run_containerized.sh howtocook-meal-plan-gcal
支持的主流模型提供商包括:OpenAI(原生)、Anthropic(原生)、Google Gemini、DeepSeek,以及任何 OpenAI API 兼容端点(如 aihubmix)。这种灵活性让研究者可以在同一套 benchmark 上横向对比不同模型家族的表现。

图2:MCP 服务器工具覆盖范围 — 展示25个MCP服务器提供的多样化工具能力

图3:评测任务文件类型分布 — 涵盖数据库查询、日历管理、表单处理、文件转换等多种真实场景
从部署角度来看,Toolathlon-GYM 的上手门槛中等。主要依赖项是 Docker 和 Docker Compose——只要你本地能跑 docker compose up,数据库服务就能自动启动。对于没有 Docker 经验的开发者来说,这里可能是第一个需要跨越的门槛。
好消息是,一旦 Docker 环境就绪,后续的评测执行完全由脚本自动化:预置文件自动加载、MCP 服务器自动启动、评测结果自动比对。你只需要关注结果本身,而不用操心基础设施的运维。
值得注意的是,项目对 GPU 没有需求——这不像图像生成或 LLM 微调项目需要高端显卡。这让它可以在普通的开发笔记本上运行,降低了研究门槛。内存建议 4GB 以上,磁盘 2GB(主要用于任务数据和数据库存储)。
任何 benchmark 都有其局限,Toolathlon-GYM 也不例外:
任务依赖特定的工具生态。 25 个 MCP 服务器虽然覆盖了常见场景,但并非所有真实工具链都会被覆盖。例如,Agent 在真实生产环境中可能需要调用 Kubernetes API、云存储 SDK、消息队列等,这些在当前评测集中没有对应的 mock 实现。
评分标准依赖参考答案。 评测系统通过预置参考答案与 Agent 输出进行比对来打分,这种方式对有标准答案的封闭型任务(如数据库查询)有效,但对开放式任务(如写一封得体的商务邮件)就难以量化。实际使用时需要理解这一点,避免对分数的过度解读。
零 License 信息。 该仓库目前没有声明开源 License(虽然 README 以 MIT-like 风格发布),可能影响企业用户的合规评估。入库前建议确认 License 状态。
AI Agent 领域正处于快速扩张期,从 GPTs、Claude Agents 到各种开源 Agent 框架,每家都在宣称自己「更强大」。但缺乏统一的、可复现的评测标准,让横向比较变得困难——每个人都可以在自己的测试集上声称领先。
Toolathlon-GYM 的价值在于:它提供了一套**规模足够大(503任务)、工具足够多(25 MCP)、结果完全可复现(本地运行)**的评测体系。配合 CAMEL 等 Agent 框架,研究者可以在标准化环境下评估任意 LLM 的工具使用能力,得出有说服力的结论。
从增长角度看,该项目于 2026 年 3 月创建,5 个月内积累 140 颗星和 11 个 fork,在 Agent benchmark 细分领域属于增长较快的新兴项目。随着 MCP 协议被更多框架采纳,这类标准化评测工具的价值会持续上升。
如果你正在做 Agent 相关的研究或产品,Toolathlon-GYM 是一个值得收藏到工具箱的评测平台。它不能告诉你 Agent 有多「聪明」,但能告诉你 Agent 在真实工具使用场景中有多「靠谱」——这是更务实、也更有商业价值的评估维度。