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 与本地流程连接的环境中。

服务器信息