JSON转换工具

Tooner 是一个轻量级的 MCP 包装器,可将 JSON 繁重的输出重写为 TOON 格式,从而减少模型处理语法噪音的令牌使用量。

  • by chaindead
  • Go
  • 本地部署
  • 24 星标
  • 更新于
在 GitHub 查看 chaindead/tooner

使用说明

图纳

Tooner是一个轻量级的MCP包装器,可以保持服务器设置不变,但使面向模型的响应更清晰、更短。它将JSON繁重的输出重写为 TOON格式 因此,模型在语法噪声上花费的令牌更少(令牌减少了约40%)。

它做什么

  • 适用于您现有的MCP服务器(无需重写服务器)
  • 保持相同的数据,但采用模型读取效率更高的格式
  • 减少大型JSON响应上的令牌使用
  • 处理许多混乱的类似JSON的输出,仍然返回有用的模型就绪内容

安装

家酿

您可以使用brew在macOS/Linux上安装二进制版本:

# Install
brew install chaindead/tap/tooner

# Update
brew upgrade chaindead/tap/tooner

NPX

您可以直接使用npx运行最新版本(支持macOS、Linux和Windows):

npx -y @chaindead/tooner

使用NPX时 配置MCP(光标示例) 变为:

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

从发布

MacOS

注: 以下命令安装到 /usr/local/bin。要安装到其他位置,请更换 /usr/local/bin 将您的首选目录放在PATH中。

首先,下载您的架构的存档:

# 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

然后安装二进制文件:

# 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

注: 以下命令安装到 /usr/local/bin。要安装到其他位置,请更换 /usr/local/bin 将您的首选目录放在PATH中。

首先,下载您的架构的存档:

# 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

然后安装二进制文件:

# 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

视窗

视窗

  1. 下载适用于您架构的最新版本:
  2. 提取 .zip 文件
  3. 将提取的目录添加到PATH或移动 tooner.exe 到PATH中的某个目录

来源

要求:

  • 转到1.26或更高版本
  • GOBIN在路上
go install github.com/chaindead/tooner@latest

配置MCP

设置是您需要做的唯一一件事:在MCP配置中,将命令移动一个参数并插入 tooner 一开始。

之前:

{
  "mcpServers": {
    "memory": {
      "command": "memory-mcp-server-go"
    }
  }
}

之后:

{
  "mcpServers": {
    "memory": {
      "command": "tooner",
      "args": ["memory-mcp-server-go"]
    }
  }
}

另一个例子-Postgres MCP:

{
  "mcpServers": {
    "postgres": {
      "command": "tooner",
      "args": [
        "uvx",
        "postgres-mcp",
        "--access-mode=unrestricted"
      ],
      "env": {
        "DATABASE_URI": "...",
        "TOONER_LOG_PATH": "/tmp/tooner.log"
      }
    }
  }
}

NPX设置:

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

就是这样。从那里开始, tooner 将MCP服务器作为子进程启动,并透明地代理流量,将JSON替换为TOON。