The server provides a smart structured-data to TOON gateway that converts structured data to TOON only when doing so actually saves LLM tokens. It is documented with emphasis on token usage reduction and includes repository metadata such as topics related to LLM prompting and MCP.
π οΈ Key Features
Converts structured data to TOON on demand
Token-savings driven conversion (only when it saves tokens)
LLM-focused gateway behavior
MCP-related integration indicated by the project topics
π Use Cases
Reduce LLM token consumption when working with structured data
Convert data formats to TOON conditionally during prompt-engineering workflows
Use with Claude/Codex-oriented development contexts
β‘ Developer Benefits
Focuses on token savings rather than always converting
Fits into MCP-based tool ecosystems (topic: mcp)
Supports prompt-engineering and data workflows (topics: data, prompt-engineering)
β οΈ Limitations
Conversion is conditional; it will not always translate structured data to TOON
Specific tool inventory and behavior details are not provided in the available server data
Raw structured data is often verbose in LLM prompts. TOON can save tokens β but blind conversion can also make payloads worse. datoon adds a decision layer: convert when structure and savings justify it, skip when they don't, and always explain why.
Supports JSON, CSV, JSONL, YAML, XML, Parquet, Avro, ORC, Excel, and Apple Numbers β auto-detected from file extension.
datoon saves payload tokens β the structured data portion of your prompt. Token savings depend on payload shape: uniform tabular data converts well; deeply nested or non-uniform structures are skipped. Every decision includes a reason so pipelines can log, debug, and trust the outcome.
Install
bash
# core (JSON, CSV, JSONL, XML β no extra deps)
uv add datoon
pip install datoon
# with YAML support
pip install "datoon[yaml]"# with Excel support
pip install "datoon[excel]"# with Parquet / ORC / Avro support
pip install "datoon[columnar]"# with Apple Numbers support
pip install "datoon[numbers]"# with tiktoken-based token counting
pip install "datoon[tokens]"# with MCP server
pip install "datoon[mcp]"# everything
pip install "datoon[all]"
Requires Python 3.12+. TOON conversion requires Node.js with npx in PATH β analysis and format reading work without it.
For Claude Code plugin, Codex, and MCP config β INSTALL.md.
What You Get
What
datoonCLI
Auto-gate any supported format β TOON from terminal or scripts
Python API
convert_json_for_llm() + read_tabular() for any LLM pipeline
MCP Server
convert_json, convert_text, analyze_json tools for Claude Desktop, Cursor, Windsurf
Claude Code Plugin
/datoon in-session trigger, installs from GitHub in one command
Codex Plugin
Marketplace plugin β structured-data mode for Codex
Supported input formats
Format
Extension
Extra needed
JSON
.json
β
JSONL
.jsonl, .ndjson
β
CSV
.csv
β
XML
.xml
β
YAML
.yaml, .yml
datoon[yaml]
Excel
.xlsx, .xls
datoon[excel]
Parquet
.parquet
datoon[columnar]
Avro
.avro
datoon[columnar]
ORC
.orc
datoon[columnar]
Apple Numbers
.numbers
datoon[numbers]
How It Works
Detect format β from --format flag, file extension, or default to JSON for stdin
Read + normalize β parse source into list of row dicts; serialize to compact JSON
Auto mode avoids low-benefit and high-risk payloads (orders-nested, mixed-non-uniform) while matching forced TOON's average token count on suitable ones. Every decision comes with a reasoned report.
Scenario
JSON Baseline
Forced TOON
datoon Auto
Average tokens
77
50
50
Avg token saved
0.0%
26.8%
28.1%
Decision quality
n/a
Converts all
Converts 3/5, skips harmful cases
Dataset
JSON
TOON (forced)
Raw Saved
Auto
Auto Tokens
Auto Saved
users-small
54
40
25.9%
convert
40
25.9%
events-medium
219
162
26.0%
convert
162
26.0%
orders-nested
106
116
-9.4%
skip
106
0.0%
mixed-non-uniform
35
47
-34.3%
skip
35
0.0%
metrics-wide
142
103
27.5%
convert
103
27.5%
Average
111
94
7.1%
3/5 convert
89
15.9%
Forced conversion succeeded for 5/5 payloads.
Format conversion benchmark
Token savings when converting from common structured formats (CSV, JSONL, XML, YAML).
Baseline is the JSON representation of the same data β what an LLM would receive without datoon.
Dataset
Format
JSON Tokens
TOON (forced)
Auto
Auto Tokens
Auto Saved
users-csv
csv
53
29
convert
29
45.3%
events-jsonl
jsonl
194
109
convert
109
43.8%
catalog-xml
xml
96
50
convert
50
47.9%
metrics-yaml
yaml
129
61
convert
61
52.7%
Average
β
118
62
4/4 convert
62
47.4%
Forced conversion succeeded for 4/4 payloads.
Agent skill evaluation
Artifact-based subagent comparison β identical analysis tasks, two modes:
with_skill: agent received the datoon skill and followed the conversion workflow.
without_skill: agent used JSON directly, no TOON or datoon.
3 payload sizes Γ 3 iterations = 18 total agent runs. Both modes: 100% correct answers.
Scenario
Avg JSON Tokens
Avg TOON Tokens
Avg Payload Saved
small
225
118
47.6%
medium
2,972
1,138
61.7%
large
17,757
6,673
62.4%
Full report and raw outputs: benchmarks/agent_skill_eval/. Savings are payload-token estimates, not full end-to-end model-token usage.