JSON处理服务器

一个基于Go的Model Context Protocol (MCP)服务器,提供高效的JSON数据处理功能,优化大型语言模型(LLM)的使用。

  • by Neozpir
  • Go
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Neozpir/file-process-mcp

使用说明

这个项目尚未准备好投入生产,未来可能会迁移到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(计划中)