Sheets Benchmark
Tool architecture matters more than model choice
The Tool Architecture Gap
The same model tested across three tool configurations: raw Google Sheets API, a generic MCP wrapper, and Daslab's optimized tool layer. The difference isn't the model — it's the tools.
| Model | Raw API | Generic MCP | Daslab Tools | Delta |
|---|---|---|---|---|
| Claude Sonnet 4 | 52% | 72% | 92% | +40pts |
| GPT-4o | 36% | 64% | 84% | +48pts |
| Gemini 2.5 Pro | 44% | 68% | 88% | +44pts |
| GPT-4o mini | 20% | 44% | 68% | +48pts |
Model Leaderboard (Daslab Tools)
| # | Model | Overall | Basic | Multi-step | Complex | Avg calls | Retry rate | Cost/task |
|---|---|---|---|---|---|---|---|---|
| 1 | Claude Sonnet 4 Anthropic | 92% | 100% | 90% | 80% | 4.2 | 3% | $0.032 |
| 2 | Gemini 2.5 Pro Google | 88% | 100% | 85% | 60% | 5.1 | 8% | $0.028 |
| 3 | GPT-4o OpenAI | 84% | 100% | 80% | 60% | 5.8 | 12% | $0.041 |
| 4 | Claude 3.5 Haiku Anthropic | 76% | 90% | 70% | 40% | 6.4 | 15% | $0.004 |
| 5 | Gemini 2.5 Flash Google | 72% | 90% | 65% | 40% | 6.9 | 18% | $0.003 |
| 6 | GPT-4o mini OpenAI | 68% | 85% | 60% | 40% | 7.2 | 22% | $0.003 |
| 7 | Llama 4 Scout Meta | 56% | 75% | 45% | 20% | 9.1 | 30% | $0.002 |
Key findings
Task categories
Methodology
Three-axis evaluation
Every task is evaluated across three independent axes: Models (7 LLMs from 4 providers), Tool Configurations (raw API, generic MCP wrapper, Daslab's optimized tools), and Tasks (25 tasks across 3 difficulty tiers). This 7 × 3 × 25 matrix isolates the effect of tool design from model capability.
How tasks are defined
Each task specifies an initial spreadsheet state (headers + rows), a natural-language instruction, and an expected final state. The initial state is written to a real Google Sheet before each run. The LLM receives the instruction and must use the assigned tool set to complete the task.
Tool configurations
Raw API — The model receives only sheets_batch_update and must construct Google Sheets API requests directly. Generic MCP — A standard MCP wrapper with read/write/append tools but no domain-specific helpers. Daslab Tools — The full optimized set: sheets_read, sheets_update_values, sheets_insert_rows, sheets_delete_rows, sheets_append_rows, sheets_format_cells, sheets_clear, and sheets_batch_update — with 1-indexed rows, sheet name resolution, and auto-read-after-write.
How success is measured
After the LLM finishes, we read back the entire sheet and compare cell-by-cell against the expected output. A task passes only if every cell matches exactly. Partial credit is not awarded — this is a binary pass/fail per task.
What we track
Task success rate — percentage of tasks completed correctly. Tool call count — total API calls to complete each task (fewer = better). Retry rate — percentage of tool calls that failed and were retried. Cost per task — total LLM token cost at provider list prices. Latency — wall-clock time from prompt to task completion.
Reproducibility
All task definitions, evaluation scripts, and raw result data will be published in an open-source repository. Anyone with a Google OAuth setup and LLM API keys can reproduce these results on their own infrastructure.