Skip to content

chaindead/tooner

Repository files navigation

License: MIT Visitors

Tooner

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).

What it does

  • 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

Installation

Homebrew

You can install a binary release on macOS/Linux using brew:

# Install
brew install chaindead/tap/tooner

# Update
brew upgrade chaindead/tap/tooner

NPX

You can run the latest version directly using npx (supports macOS, Linux, and Windows):

npx -y @chaindead/tooner

When using NPX Configure MCP (Cursor example) becomes:

{
  "mcpServers": {
    "telegram": {
      "command": "npx",
      "args": ["-y", "@chaindead/tooner", "memory-mcp-server-go"]
    }
  }
}

From Releases

MacOS

Details

Note: The commands below install to /usr/local/bin. To install elsewhere, replace /usr/local/bin with 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.gz

Then 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.gz

Linux

Details

Note: The commands below install to /usr/local/bin. To install elsewhere, replace /usr/local/bin with 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.gz

Then 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.gz

Windows

Details

Windows

  1. Download the latest release for your architecture:
  2. Extract the .zip file
  3. Add the extracted directory to your PATH or move tooner.exe to a directory in your PATH

From Source

Requirements:

  • Go 1.26 or later
  • GOBIN in PATH
go install github.com/chaindead/tooner@latest

Configure MCP

Setup 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.

About

MCP proxy that reduces token usage via TOON format

Topics

Resources

License

Stars

Watchers

Forks

Contributors

Languages