Tooner is a lightweight MCP wrapper that keeps your server setup unchanged, but makes model-facing responses cleaner and shorter. It rewrites JSON-heavy outputs into TOON format so models spend fewer tokens on syntax noise (~40% fewer tokens).
- Works with your existing MCP servers (no server rewrite required)
- Keeps the same data, but in a format models read more efficiently
- Reduces token usage on large JSON responses
- Handles many messy JSON-like outputs and still returns useful model-ready content
You can install a binary release on macOS/Linux using brew:
# Install
brew install chaindead/tap/tooner
# Update
brew upgrade chaindead/tap/toonerYou can run the latest version directly using npx (supports macOS, Linux, and Windows):
npx -y @chaindead/toonerWhen using NPX Configure MCP (Cursor example) becomes:
{
"mcpServers": {
"telegram": {
"command": "npx",
"args": ["-y", "@chaindead/tooner", "memory-mcp-server-go"]
}
}
}Details
Note: The commands below install to
/usr/local/bin. To install elsewhere, replace/usr/local/binwith your preferred directory in your PATH.
First, download the archive for your architecture:
# For Intel Mac (x86_64)
curl -L -o tooner.tar.gz https://github.com/chaindead/tooner/releases/latest/download/tooner_Darwin_x86_64.tar.gz
# For Apple Silicon (M1/M2)
curl -L -o tooner.tar.gz https://github.com/chaindead/tooner/releases/latest/download/tooner_Darwin_arm64.tar.gzThen install the binary:
# Extract the binary
sudo tar xzf tooner.tar.gz -C /usr/local/bin
# Make it executable
sudo chmod +x /usr/local/bin/tooner
# Clean up
rm tooner.tar.gzDetails
Note: The commands below install to
/usr/local/bin. To install elsewhere, replace/usr/local/binwith your preferred directory in your PATH.
First, download the archive for your architecture:
# For x86_64 (64-bit)
curl -L -o tooner.tar.gz https://github.com/chaindead/tooner/releases/latest/download/tooner_Linux_x86_64.tar.gz
# For ARM64
curl -L -o tooner.tar.gz https://github.com/chaindead/tooner/releases/latest/download/tooner_Linux_arm64.tar.gzThen install the binary:
# Extract the binary
sudo tar xzf tooner.tar.gz -C /usr/local/bin
# Make it executable
sudo chmod +x /usr/local/bin/tooner
# Clean up
rm tooner.tar.gzDetails
- Download the latest release for your architecture:
- Extract the
.zipfile - Add the extracted directory to your PATH or move
tooner.exeto a directory in your PATH
Requirements:
- Go 1.26 or later
- GOBIN in PATH
go install github.com/chaindead/tooner@latestSetup is the only thing you need to do: in MCP config, shift the command by one argument and insert tooner at the beginning.
Before:
{
"mcpServers": {
"memory": {
"command": "memory-mcp-server-go"
}
}
}After:
{
"mcpServers": {
"memory": {
"command": "tooner",
"args": ["memory-mcp-server-go"]
}
}
}Another example - Postgres MCP:
{
"mcpServers": {
"postgres": {
"command": "tooner",
"args": [
"uvx",
"postgres-mcp",
"--access-mode=unrestricted"
],
"env": {
"DATABASE_URI": "...",
"TOONER_LOG_PATH": "/tmp/tooner.log"
}
}
}
}NPX setup:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@chaindead/tooner", "memory-mcp-server-go"]
}
}
}That's it. From there, tooner launches your MCP server as a subprocess and transparently proxies traffic, replacing JSON with TOON.