Toolathlon-GYM: Large-Scale Long-Horizon Environments for Tool-Use Agents
Toolathlon-GYM (Eigent.AI, in collaboration with HKUST-NLP’s prior Toolathlon project, CAMEL-AI) is a fully-local, Docker-compose-bootstrapped tool-use environment shipping 503 long-horizon multi-tool tasks, 25 MCP servers, and an 8.2 MB PostgreSQL dump as the shared mock backend (Canvas LMS, Snowflake DW, WooCommerce, Yahoo Finance, YouTube, 12306). Each task is a 4–8-MCP orchestration goal — pull data from a mock enterprise DB, produce an Excel report, schedule a calendar event, send a summary email — automatically verified by a per-task evaluation/main.py against reference workspace ground truth. No external API calls or human graders at run time. This is the bigger, MCP-centric, enterprise-workflow sibling of SETA’s terminal-agent environment (SETA: Scaling Environments for Terminal Agents (env repo)) and a directly trainable substrate for the agentic-RL recipes filed on this wiki.
Key claims
Section titled “Key claims”- 503 long-horizon tasks at MCP-count distribution 4–8 tools per task, with 4–7 being the majority — explicitly chosen to require cross-system coordination rather than single-tool lookups [README §Dataset statistics].
- 25 MCP servers covering filesystem, Excel, emails, terminal, Snowflake, Canvas, WooCommerce, Yahoo Finance, YouTube, 12306 rail, Google Calendar/Forms, Notion, Word, PowerPoint, scholarly, arxiv-latex, playwright, fetch, pdf-tools, memory, howtocook, etc. [README §MCP server coverage].
- Entire backend runs from a single local PostgreSQL instance (
toolathlon_gym@localhost:5432) auto-initialized fromdb/init.sql.gz(8.2 MB); no external API calls required at evaluation time [README §The mock database]. - Mock data is derived from real-world sources: Kaggle OULAD (LMS, 22 courses / 28,865 users / 32,663 enrollments / 173,912 submissions / 77 quizzes), Kaggle HR Analytics + simulated Snowflake DW (50,000 employees / 20,000 sales orders / 31,588 support tickets), Yahoo Finance (50 tickers / 3,510 price records), Kaggle Amazon + DummyJSON (82 products / 150 orders / 50 customers / 396 reviews) [README §The mock database].
- Each task is a four-file bundle:
task_config.json(allowed MCP servers),docs/task.md+docs/agent_system_prompt.md(description shown to agent),preprocess/main.py(DB state setup before run),evaluation/main.py(automated evaluator againstgroundtruth_workspace/), withinitial_workspace/pre-loaded files [README §Task structure]. - Task descriptions use brand-obfuscated language (“knowledge base” instead of Notion, “shared calendar” instead of Google Calendar, “learning management system” instead of Canvas) — same obfuscation convention as the parent Toolathlon project — to prevent keyword-shortcut behavior and force genuine tool-use reasoning [README §Task structure].
- Initial-workspace files span 11 distinct formats:
.md(most common, task briefs and methodology guides),.pdf(reference docs / policies the agent must parse),.json(parameterized configuration),.xlsx(pre-filled templates with predefined columns),.csv(tabular reference data to join with DB results),.txt,.py(starter scripts to complete and execute),.pptx,.docx,.bib,.gz[README §Initial Workspace Files]. - Concurrent rollouts are supported via
run_parallel.shwith a FIFO-based semaphore controlling concurrency; each task gets its own isolated environment (dedicated PostgreSQL + agent container + Docker network) so there is no shared state between concurrent runs [README §Run Tasks in Parallel]. - Agent harness ships as a CAMEL-AI example with provider-agnostic plumbing (
MODEL_PLATFORM:openai_compatible/openai/anthropic/gemini); per-turn LLM request/response logs and full trajectories are persisted todumps/<task>/<timestamp>/<provider>_<model>/[README §Quick Start, §Model Provider Reference]. - Built on the format / evaluation framework / MCP interfaces / DB schema design of HKUST-NLP’s Toolathlon (the benchmark); this dataset extends with a substantially larger task pool and bigger mock data for training and evaluation use [README §Acknowledgements].
Method
Section titled “Method”Toolathlon-GYM is shipped as a Docker Compose stack: toolathlon_pg (PostgreSQL 15, auto-initialized from a versioned SQL dump) plus a toolathlon-pack:latest agent image rebuilt per repo. To run a task, scripts/run_containerized.sh <task-id> spawns a fresh agent container scoped to that task’s task_config.json (which restricts the MCP server whitelist), runs the per-task preprocess/main.py to seed initial DB state, executes the agent under a step budget (default 100), then invokes evaluation/main.py to compare the agent’s workspace/ output against groundtruth_workspace/. For training-scale evaluation, run_parallel.sh N runs up to N tasks concurrently with full isolation (separate PostgreSQL + agent container + Docker network per task) and aggregates per-task results into benchmark_logs/<run>/summary.csv. The MCP-server diversity is the design lever: the dataset is structured so that the most common output paths exercise filesystem + Excel + emails + terminal in combination, while domain-specific servers (snowflake, canvas, woocommerce, playwright_with_chunk, fetch, pdf-tools, memory, youtube-transcript, howtocook) anchor task families with different reasoning bottlenecks.
A task example at the 7-MCP tier (arxiv-research-pipeline-notion-excel, allowed tools = scholarly + arxiv_local + terminal + excel + notion + filesystem) asks the agent to search papers on LLMs / prompt engineering / in-context learning, run a synthesis Python script in the terminal to compute relevance scores and emit structured JSON, populate a three-sheet Excel file (Paper_Catalog / Method_Comparison / Research_Gaps), and produce a Notion page titled “LLM Research Hub” with a research dashboard. The 8-MCP tier (arxiv-research-workflow-pipeline) adds Google Calendar + emails + pdf-tools and a 2,000-word synthesis deliverable. The complexity gradient from 4-MCP to 8-MCP is the dataset’s stress axis on cross-system coordination depth.
Results
Section titled “Results”The repository is a dataset + harness release; the README does not report fine-tuning results on the 503-task pool. The reference configuration runs evaluation across Claude Sonnet 4.5 (via aihubmix OpenAI-compatible endpoint), GPT-5.2, and Gemini 3 Flash; benchmark-scale results are not enumerated in the README at filing time. The dataset is positioned as the training/eval substrate; the deliverable claim is the scale itself — 503 tasks × 25 MCP servers × ~140,000 underlying mock records is substantially larger and more tool-diverse than the parent Toolathlon benchmark.
Why it’s interesting
Section titled “Why it’s interesting”For Luma’s research team, this is the MCP-centric, enterprise-workflow analogue of SETA: Scaling Environments for Terminal Agents (env repo) (the closest filed comparable): SETA ships ~400 Terminal-Bench-compatible tasks for terminal-shell agents and uses Claude Sonnet 4.5 as a synthesizer to seed Qwen3-8B RL; Toolathlon-GYM ships 503 tasks with a 25-MCP-server orchestration surface that exercises end-to-end application workflows rather than shell semantics. Both are CAMEL-AI / Eigent.AI artifacts and both target the same RL-from-verifiable-tasks recipe — Toolathlon-GYM is the next-step substrate for the same agentic-RL recipes that Close the Loop: Synthesizing Infinite Tool-Use Data via Multi-Agent Role-Playing and MiroThinker: Pushing the Performance Boundaries of Open-Source Research Agents via Model, Context, and Interactive Scaling formalized on BFCL / WebWalkerQA. The brand-obfuscated task descriptions are a deliberate guard against the “keyword shortcut” failure mode that Tool-Use Agents flags in its open questions on synthesizer-and-verifier-from-same-model-family bias.
The systems design also lines up with the lesson from SETA’s Remote Environment Manager: isolating PostgreSQL + Docker per concurrent rollout is exactly the pattern needed to avoid the “256-concurrent-Docker locally” failure mode. Where SETA chose terminal as the canonical verifier-cheap-action-expensive domain, Toolathlon-GYM picks structured enterprise data + multi-output deliverables (spreadsheet + email + calendar + doc), which is closer to the kind of multi-modal-deliverable workflows that show up in production pipelines and matches the Agentic Software Engineering benchmark-quadruple expansion (SWE-Bench Pro + Terminal-Bench + OSWorld + GDPval) at the data side.
See also
Section titled “See also”- SETA: Scaling Environments for Terminal Agents (env repo) — sibling CAMEL-AI / Eigent.AI environment; SETA = terminal/shell domain at ~400 tasks, Toolathlon-GYM = MCP enterprise-workflow domain at 503 tasks; both target the same RL-from-verifiable-tasks recipe
- Tool-Use Agents — the canonical concept for the ReAct + GRPO + verified-trajectory loop; Toolathlon-GYM is the largest filed MCP-centric environment for training and evaluating this loop
- Agentic Software Engineering — same training-recipe family (verifier-cheap executable environment + per-task automated grader), different application surface (enterprise workflows vs. SWE patches)
- Synthetic Training Data — the brand-obfuscated task descriptions and reference-workspace ground truth are a concrete instance of the “verifier-anchored synthetic environment” pattern this concept tracks
- Close the Loop: Synthesizing Infinite Tool-Use Data via Multi-Agent Role-Playing — InfTool’s closed-loop multi-agent MCP synthesizer; Toolathlon-GYM is the static-but-larger alternative artifact in the same MCP-tool-use space
- MiroThinker: Pushing the Performance Boundaries of Open-Source Research Agents via Model, Context, and Interactive Scaling — MiroThinker’s “interaction depth” axis; Toolathlon-GYM’s 4-to-8-MCP gradient is a direct experimental knob for measuring it
- Parent benchmark: https://github.com/hkust-nlp/Toolathlon
- Reference agent framework: https://github.com/camel-ai/camel