ASON MCP Server
使用说明内容(Markdown格式)
-
项目简介
- 本项目实现了一个基于 Model Context Protocol(MCP)的服务器端后端,通过标准的 JSON-RPC 方式向 LLM 客户端暴露一组工具,核心功能包括对 JSON 数据的压缩为 ASON、将 ASON 解压回 JSON、分析压缩统计,以及全局配置管理。服务器目前采用标准输入输出(stdio)传输与 MCP 客户端通信,便于在各种运行环境中接入。
-
主要功能点
- compress_json:将 JSON 数据压缩为 ASON 格式,提供可选的压缩参数以提高 token 效率。
- decompress_ason:将 ASON 解压为原始 JSON,确保可逆性。
- get_compression_stats:在不执行实际压缩的前提下,分析并返回压缩统计(原始/压缩的 token 数、字节大小、节省量等)。
- configure_compressor:修改全局默认压缩配置,影响后续所有工具调用。
- 支持的传输与调用:通过 Stdio Server Transport 使用 MCP 的工具注册与执行能力,工具返回的结果以 content 结构体的文本输出呈现给客户端。
- 配置与安全:服务器在启动时声明能力、会话管理能力,便于 MCP 客户端了解可用工具及输入格式。
-
安装步骤
- 确保系统安装了 Node.js(推荐 18.x 及以上版本)。
- 下载或克隆仓库后,在项目根目录执行依赖安装:
- 安装依赖
- 构建输出到 dist 目录
- 运行服务器(以可执行的 dist/index.js 为例,实际执行方式请参考本项目打包输出):
- 直接执行 dist/index.js(通过 Node.js 运行)即可启动服务器并通过标准输入输出与 MCP 客户端交互。
-
服务器配置(给 MCP 客户端的启动信息,JSON 格式;服务器名称、启动命令及参数等)
- 示例配置(JSON): { "server": { "name": "ASON Compression", "command": "node", "args": ["dist/index.js"], "transport": "stdio" } } 说明:
- name 对应代码中 MCP 服务器的显示名称(ABEL:ASON Compression)。
- command 与 args 指定启动服务器进程的命令及参数,客户端据此启动服务器并通过标准输入输出建立通信。
- transport 指定传输方式,此实现默认通过 stdio,与大多数 MCP 客户端兼容。
-
基本使用方法
- 启动服务器后,MCP 客户端通过 JSON-RPC 向服务器发起请求并接收响应。
- 可使用 compress_json、decompress_ason、get_compression_stats、configure_compressor 四个工具在服务端执行数据处理、分析与配置更新。
- 工具返回内容通常以文本或 JSON 结构形式展示给客户端用户。
-
其他说明
- 服务器名称(name)、版本、描述等在代码中已固定,工具输入输出格式通过 zod 验证,确保客户端请求的结构合理。
- 服务器使用 stdio 传输,适合集成到需要直接将 MCP 与本地流程连接的环境中。