使用说明
TOON MCP服务器
A. 模型上下文协议(MCP) 提供编码和解码工具的服务器 TOON(面向令牌的对象表示法).
TOON是一种紧凑的、人类可读的格式,旨在使用更少的令牌表示JSON数据,使其成为LLM提示和上下文优化的理想选择。
👉 了解有关格式的更多信息,请访问 tooinformat.dev
特性
此服务器向MCP客户端公开了两个核心工具(专门用Gemini CLI测试):
encode_toon:将JSON字符串转换为TOON格式以保存令牌。decode_toon:将TOON格式的文本转换回标准JSON。
用法
Gemini CLI快速入门
将此服务器与 双子星命令行工具,请按照以下步骤操作:
-
安装Gemini CLI (如果你还没有):
npm install -g @google/gemini-cli@latest -
配置MCP服务器: 您可以通过创建或编辑Gemini设置文件来注册服务器,该文件通常位于
~/.gemini/settings.json(全球)或.gemini/settings.json(项目本地)。添加以下配置:
{ "mcpServers": { "toon": { "command": "npx", "args": ["-y", "git+https://github.com/kweinmeister/toon-mcp.git"] } } } -
运行Gemini CLI: 启动CLI界面。现在,模型应该可以使用这些工具了。
gemini
工具
1. encode_toon
将JSON数据转换为紧凑的TOON格式。
参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
json |
string |
必需 | 要编码的JSON数据(序列化为字符串)。 |
indent |
number |
2 |
缩进的空格数。 |
delimiter |
string |
, |
数组/行的分隔符。选项: , (逗号), \t (选项卡), | (管道)。 |
keyFolding |
string |
"off" |
折叠单个钥匙包装链(例如。, a.b.c).选项: "off", "safe". |
flattenDepth |
number |
Infinity |
应用钥匙折叠的最大深度。 |
replacer |
(string|number)[] |
undefined |
要包含在输出中的属性数组。 |
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。
参数:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
toon |
string |
必需 | 要解码的TOON格式字符串。 |
strict |
boolean |
true |
强制执行严格的验证(例如,检查声明的数组长度)。 |
expandPaths |
string |
"off" |
将虚线键重建为嵌套对象。选项: "off", "safe". |
indent |
number |
2 |
缩进的空格数。 |
运输
此服务器支持HTTP服务器发送事件(SSE)和标准IO(stdio)。
HTTP/SSE(默认)
适用于远程部署(如Cloud Run)或基于web的MCP客户端。
# Starts on port 8080 by default
npm start
# Custom port
npm start -- --port 3000
工作室
由Gemini CLI等本地客户端使用。
npm run start:stdio
发展
安装
git clone https://github.com/kweinmeister/toon-mcp
cd toon-mcp
npm install
测试
运行单元测试以确保服务器工具正常运行:
npm test
使用MCP检查器进行调试
您可以使用 MCP检查员 通过web界面交互式地检查和测试服务器的工具。
npx fastmcp inspect index.ts
建筑与装饰
# Linting
npx biome check .
# Type checking
npx tsc --noEmit
