TOON MCP server reduces tool result tokens by 30-60% in OpenClaw

An MCP server has been released that automatically compresses structured JSON tool results into TOON format, a token-efficient representation designed to reduce token usage by 30-60% for tabular data in OpenClaw sessions.
How it works
TOON is a format designed for token-efficient LLM data representation that uses field names declared once, indentation instead of braces, and no redundant quoting. The MCP server compares token counts between TOON and compact JSON and returns whichever is smaller.
Setup
Add the MCP server to your OpenClaw config (~/.openclaw/openclaw.json):
{
"mcpServers": {
"toon": {
"command": "npx",
"args": ["@fiialkod/toon-mcp-server"]
}
}
}
Add a rule to your AGENTS.md: When any tool returns structured JSON data (arrays of objects, API responses, database results, logs) larger than ~20 fields, pass the result through the toon_format_response tool before reasoning over it.
Performance
For tabular data (arrays of uniform objects, emails, calendar events, search results, logs, DB rows), TOON typically wins by 30-60%. For small payloads or deeply nested configs, it falls back to JSON compact.
Benchmark with 15 financial transactions and 15 questions:
- JSON: 14/15 correct (93.3%), ~749 tokens used
- TOON: 14/15 correct (93.3%), ~398 tokens used
Same accuracy with 47% fewer tokens. The errors were on different questions and neither was caused by the format. TOON was lossless in tests — decode(encode(data)) === data.
Use cases
Best for: Gmail/Calendar MCP results, database queries, API responses, file listings, logs — anything that's an array of objects with repeated keys.
Not needed for: Small payloads (<5 items), deeply nested configs, data you need to pass back as raw JSON.
Problem it solves
System prompt and tool schemas have high fixed costs in OpenClaw, workspace files are semi-fixed, but tool results accumulate fast. When agents read files, query APIs, or browse, this pushes sessions into compaction where context is lost. TOON works upstream by shrinking tool results before they enter the transcript, delaying compaction and keeping more session history intact.
📖 Read the full source: r/openclaw
👀 See Also

Building and Testing an MCP Server in Claude Desktop: Architecture and Lessons
A developer shares their experience building and testing an MCP server within Claude Desktop, detailing their architecture setup and practical lessons learned about tool schemas, debugging, and limitations.

SimSense MCP Connector Gives Claude Artifacts Permanent URLs with Persistent State
SimSense is an MCP connector that lets Claude deploy generated HTML/JS artifacts to permanent URLs called 'sims' with persistent state storage. The tool addresses the limitation where Claude's output disappears when you close the chat window.

Approval Boundary Tool for Claude Code Repository Work
A developer built an approval boundary tool that adds a review step before local execution when using Claude Code for repository work. The tool follows a loop: see the plan first, approve once, let the run happen locally, and keep proof afterward.

Multi-Agent System for Deep Competitive Analysis with Claude
A developer built a three-wave agent system that moves beyond shallow competitor lists to extract pricing intelligence, customer sentiment patterns, and strategic signals through structured multi-source research.