返回市场
卡通-MCP

卡通-MCP

作者:kweinmeister3 星标更新:2025-11-20

项目介绍

TOON MCP Server

这是一个提供编码和解码**TOON(面向令牌的对象表示法)**工具的模型上下文协议(MCP)服务器。

TOON是一种紧凑且易于人类阅读的格式,旨在使用显著更少的令牌来表示JSON数据,使其非常适合LLM提示和上下文优化。

👉 在 toonformat.dev 了解更多关于该格式的信息

功能

此服务器向MCP客户端(特别是经过Gemini CLI测试)提供了两个核心工具:

  • encode_toon:将JSON字符串转换为TOON格式以节省令牌。
  • decode_toon:将TOON格式化的文本转换回标准JSON。

使用方法

使用Gemini CLI快速开始

要使用此服务器与Gemini CLI,请按照以下步骤操作:

  1. 安装Gemini CLI(如果尚未安装):

    npm install -g @google/gemini-cli@latest
    
  2. 配置MCP服务器: 您可以通过创建或编辑您的Gemini设置文件来注册服务器,通常位于~/.gemini/settings.json(全局)或.gemini/settings.json(项目本地)。

    添加以下配置:

    {
      "mcpServers": {
        "toon": {
          "command": "npx",
          "args": ["-y", "git+https://github.com/kweinmeister/toon-mcp.git"]
        }
      }
    }
    
  3. 运行Gemini CLI: 启动CLI界面。现在工具应该对模型可用。

    gemini
    

工具

1. encode_toon

将JSON数据转换为紧凑的TOON格式。

参数:

参数类型默认值描述
jsonstring必需要编码的JSON数据(作为字符串序列化)。
indentnumber2缩进的空格数。
delimiterstring,数组/行的分隔符。选项:,(逗号),\t(制表符),|(竖线)。
keyFoldingstring"off"压缩单键包装链(例如,a.b.c)。选项:"off""safe"
flattenDepthnumberInfinity应用键折叠的最大深度。

Gemini CLI中的示例提示:

"使用encode_toon工具将此JSON转换为TOON格式:{"users": [{"id": 1, "name": "Alice"}, {"id": 2, "name": "Bob"}]}"

输出:

users[2]{id,name}:
  1,Alice
  2,Bob

2. decode_toon

将TOON格式化的文本解析回标准JSON。

参数:

参数类型默认值描述
toonstring必需要解码的TOON格式化的字符串。
strictbooleantrue强制执行严格验证(例如,检查声明的数组长度)。
expandPathsstring"off"将点分隔的键重构为嵌套对象。选项:"off""safe"

运输方式

此服务器支持HTTP服务器发送事件(SSE)和标准IO(stdio)。

HTTP / SSE(默认)

适用于远程部署(如Cloud Run)或基于Web的MCP客户端。

# 默认在端口8080启动
npm start

# 自定义端口
npm start -- --port 3000

Stdio

由本地客户端如Gemini CLI使用。

npm run start:stdio

开发

安装

git clone https://github.com/kweinmeister/toon-mcp
cd toon-mcp
npm install

测试

运行单元测试以确保服务器工具正常工作:

npm test

使用MCP Inspector调试

您可以使用MCP Inspector通过Web界面交互式地检查和测试服务器的工具。

npx fastmcp inspect index.ts

构建与代码检查

# 代码检查
npx biome check .

# 类型检查
npx tsc --noEmit