Skip to main content
These demo samples are a free 10-task slice of the Toolathlon dataset — a corpus of single-turn, tool-using agent tasks set inside a shared multi-application MCP workspace. Each task gives the agent one user request spanning real-world services (Canvas LMS, GitHub, BigQuery, WooCommerce, arXiv, Notion, Google Workspace, and more), and grades the result deterministically on what the agent actually produced. The full dataset ships 4,300 RL environments and 1,682 SFT trajectories across 102 task families — see the Full Dataset page.

Overview

Environment

Every task runs against one reusable environment — a multi-application workspace backed by 32 MCP tool servers launched as local subprocesses, with each task overlaying its own mock data and launching only the servers it needs. The demo bundles the 10 tasks and their SFT trajectories; the full ~32 GB shared environment (all 32 servers + fixtures) ships with the full corpus.
The full corpus additionally ships rl/shared/toolathlon/ — the one shared world all 4,300 tasks run against (bundle.json + env/ ~32 GB + mcp/ 32 servers + tools/ registry + verification_lib/ grader library).

Data

Sample

The 102 families span education, research, data/ML, business, commerce, developer workflows, documents, and more — each instantiated across many scenario variants (the rNNN suffix):
System prompt:
Accessible workspace directory: /workspace/dumps/workspace […] If you believe the task is completed, you can either call the local-claim_done tool or respond without calling any tool to indicate completion.
User prompt:
We ran an A/B test on two product-recommendation email templates (A and B) across our catalog. Each catalog table in the warehouse logs per-window clicks and store_views for one template variant. For each catalog and each variant, compute the conversion rate as total store_views over total clicks, and fill the provided segment_rates.csv (keep its headers). Add one final OVERALL row per variant whose rate is the arithmetic mean of that variant’s per-catalog rates (not the pooled totals). Then decide the winner by comparing the two OVERALL means. If template B’s overall mean is higher, roll it out: create one GCS bucket named with prefix winner-template-b. Otherwise (A wins or a tie), make no bucket and instead write a single cloud_logging entry with decision template_A_retained and note No template change.
MCP servers: google-cloud (BigQuery + Cloud Storage + Logging), filesystemInitial workspace: a segment_rates.csv with headers and empty rate cells:
The agent must query BigQuery tables, compute rates, fill the CSV, compare the overall means, then take the correct conditional action (bucket creation or log entry — but not both).
Each assistant message carries reasoning_content (chain-of-thought) alongside tool calls. This is a short task (3 tool calls) that illustrates the search → filter → write pattern.System:
Accessible workspace directory: /workspace/dumps/workspace […]
User:
We’re building provenance cards for the “Lumio” model series in the papers catalog. From the Lumio-titled records, take only those published on or before 2025-11-02, and pick the most recent of those. Write its provenance card to paper_report.txt (title / arxiv_abs_url / code_url lines) […] Mirror the same id and abs link into selected_record.json.

Step 1 — search the paper catalog:Reasoning:
We need to search the papers catalog for title containing “Lumio”. Use arxiv_local-search_papers.
Tool call:
Result (4 papers found):

Step 2 — filter by date, pick the most recent, write the report:Reasoning:
Check dates: 1905.11946 published 2025-12-12 (after cutoff — exclude). 2605.05104v1 published 2025-02-20 (before). 2103.14023 published 2024-11-21 (before). 1409.4842 published 2025-05-11 (before). Among qualifying papers, the most recent is 1409.4842 (2025-05-11). Its abstract contains the code repo URL https://github.com/Helios-Lab/Lumio.
Tool call:
Result: Successfully wrote to paper_report.txt
Step 3 — write the JSON record:Tool call:
Result: Successfully wrote to selected_record.json
Step 4 — final message:
The provenance card for the most recent Lumio-titled paper published on or before 2025-11-02 has been created: Lumio: Going Deeper with Convolutions (arxiv.org/abs/1409.4842, code at github.com/Helios-Lab/Lumio).
Why it’s hard: The agent must (a) exclude one paper that falls after the date cutoff (a common off-by-one trap), (b) pick the most recent among the remaining three (not the first result), and (c) extract the code URL from the abstract text — it’s not a stored field.
The grader runs 6 concrete checks — no LLM judge:The task passes only when all 6 checks pass (score == 1.0). A single wrong rate, a missing overall row, or taking the wrong conditional action fails the task.For find-alita-paper-r010, the grader checks that paper_report.txt contains the exact title (Lumio: Going Deeper with Convolutions), the correct arXiv URL (arxiv.org/abs/1409.4842), and the code repository link (github.com/Helios-Lab/Lumio). Picking the wrong paper or missing the GitHub URL from the abstract fails the task.

Download

Browse on Hugging Face

View Toolathlon files
For the complete Toolathlon corpus — all 4,300 tasks, 1,682 SFT trajectories, the full 32-server environment, and commercial licensing — see the Full Dataset page.