json-mcp-filter 是一个 Model Context Protocol(MCP)服务器,旨在帮助用户从 JSON 数据中过滤出仅与 LLM 上下文相关的部分,从而减小上下文体积。它支持本地文件和远程 HTTP/HTTPS 端点,并基于 quicktype 提供健壮的 TypeScript 类型生成。
用途
该工具主要用于过滤大型 JSON 文件和 API 响应,提取对 LLM 有用的数据,同时保持类型安全。它适合需要将大量 JSON 数据精简后送入 LLM 的场景。
主要能力
- 模式生成:使用 quicktype 将 JSON 数据转换为 TypeScript 接口。
- 智能过滤:通过基于形状(shape)的过滤提取特定字段,并对大型数据集自动分块。
- 远程支持:可处理 HTTP/HTTPS URL 和 API 端点。
- 自动分块:对超过 400KB 的数据集自动分块,并附带元数据。
- 大小保护:内置 50MB 限制,防止内存溢出。
- MCP 就绪:可与 Claude Desktop 和 Claude Code 无缝集成。
- 智能错误:提供清晰、可操作的错误信息及调试信息。
可用工具
- json_schema:从 JSON 数据生成 TypeScript 接口。参数:filePath(本地文件路径或 HTTP/HTTPS URL)。
- json_filter:使用基于形状的过滤提取特定字段,并对大型数据集自动分块。参数:shape(定义要提取字段的对象)、chunkIndex(可选,大型数据集的块索引,从 0 开始)。行为:≤400KB 返回所有数据;>400KB 自动分块并附带元数据。
- json_dry_run:在过滤前分析数据大小并提供分块建议。参数:shape(定义要分析的对象)。返回:大小分解和分块建议。
使用方式
安装方式:
- 选项 1:NPX(推荐)
- 选项 2:全局安装
- 选项 3:从源码安装
MCP 集成:添加到配置文件中,或手动添加:名称:json-mcp-filter,参数:["-y", "json-mcp-filter@latest"]。
适用场景
- 公共 API:具有 JSON 响应的 REST 端点。
- 静态文件:Web 服务器上的 JSON 文件。
- 本地开发:开发期间的 http://localhost。
- 本地文件:文件系统访问。
常见工作流:LLM 集成时,API 返回大型响应,使用 json_filter 提取相关字段,处理干净数据,再用 json_schema 生成类型以确保安全。
限制与安全
- 远程数据获取:工具会从 HTTP/HTTPS URL 获取数据,用户需自行负责验证 URL 指向合法端点、仅使用受信任的公共 API、遵守 API 速率限制和服务条款、在处理前审查数据源。维护者不对外部 URL 内容、远程请求的隐私影响、第三方 API 滥用或违规负责。建议仅使用受信任的公共数据源。
- 错误处理:涵盖本地文件(未找到、权限、无效 JSON)、远程 URL(网络故障、认证错误 401/403、服务器错误 500+)、内容大小(自动拒绝 >50MB 并给出清晰消息)、格式检测(智能检测 HTML/XML 并提供指导)、速率限制(429 响应及重试说明)、处理(quicktype 错误、形状过滤问题)。所有错误均包含可操作的调试信息。
- 大小保护:所有来源最大 50MB,通过 Content-Length 预下载检查,内存安全防止 OOM 错误,清晰错误消息显示实际与限制大小。
- 建议:对大文件先使用 json_dry_run,在模式生成前用 json_filter 过滤,形状仅关注必要字段。
项目结构
(资料中未提供详细项目结构内容)
托管部署
在 Fronteir AI 上提供托管部署。