这个项目尚未准备好投入生产,未来可能会迁移到Duckdb以支持多种文件扩展名
文件处理MCP(或“文件处理模块/组件”,具体根据上下文确定MCP的具体含义)
这个项目实现了一个用Go语言编写的模型上下文协议(MCP)服务器,旨在通过HTTP提供一系列JSON处理工具。它促进了JSON数据的高效、可扩展操作,以优化与大型语言模型(LLMs)的使用。
这个项目提供了一个用Go语言设计的模型上下文协议(MCP)服务器,旨在高效处理JSON数据,供大型语言模型(LLMs)使用。
结果
- 一个可扩展的HTTP服务器,能够处理JSON请求并返回优化后的JSON响应。
- 实现一种协议,以实现JSON数据的选择性提取、过滤和总结,从而减少令牌使用量。
- 支持对大型JSON文档进行分层和增量式处理。
- 支持对格式错误的JSON输入进行安全验证和处理。
- 提供嵌入和语义理解增强的集成点。
- 实现基于相关性的标记预算管理和上下文剪枝,提高大型语言模型(LLM)的输入效率。
这个项目为高效处理JSON数据奠定了基础,同时符合大型语言模型(LLM)的上下文限制和处理需求。
使用方法
项目能力
- 提供一个用于JSON数据处理的HTTP MCP服务器。
- 支持一系列JSON操作工具,包括:
- 通过键名查找JSON对象 - 将一个JSON文档附加到另一个JSON文档 - 比较和合并JSON文档 - 展平嵌套的JSON结构 - 使用jq语法查询JSON - 根据模式验证JSON - 基于字段移除转换JSON
- 设计用于在大型语言模型(LLM)上下文中实现高效、分层、增量式的JSON处理,并具备令牌预算感知能力。
- 通过JSON优化减少令牌开销,简化与大型语言模型(LLM)应用的集成。
运行服务器并发送JSON有效载荷(POST)至 /mcp 用于处理的终端节点。
简单规范
- 服务器期望在POST请求的正文中发送一个JSON有效载荷
/mcp终端节点。 - JSON 数据必须格式正确且有效。
- 有效载荷应表示一个符合MCP协议架构的地图或对象结构。
- 无需文件上传机制;JSON 直接发送在请求体中。
- 响应将是一个JSON对象,表示根据协议处理或优化后的结果。
- 服务器会以405状态码拒绝任何针对此终端的非POST请求。
- JSON 解析或验证错误会导致返回 400 错误响应(Bad Request)。
当前支持的工具
| 工具名称 | 描述 | 示例命令 |
|---|---|---|
json.search | 通过JSON文档进行模糊或基于关键字的搜索 | 搜索 email 在上传的JSON中 |
json.query | 结构化查询(如 jq / GJSON 语法) | json.query { "expr": ".users[].name" } |
json.validate | 验证JSON语法或模式 | json.validate { "input": "{...}" } |
json.transform | 应用转换或过滤器 | 转换结构,删除字段,重命名键 |
json.diff | 比较两个JSON文档 | 返回两者之间的差异 a.json 并且 b.json |
json.merge | 合并多个JSON文档 | 合并设置,覆盖键 |
json.flatten | 将嵌套的JSON展平为点路径格式 | 适用于搜索或表格导出 |
json.schema | 从JSON验证或推断模式 | 生成模式摘要 |
json.append | 将一个JSON追加到另一个JSON中 | 将一个JSON对象追加到另一个JSON对象中 |
支持的文件
- JSON(工作中)
- CSV(计划中)
- TSV(计划中)
- YAML(计划中)
- TOML(计划中)
