](https://mseep.ai/app/kehvinbehvin-json-mcp-filter)
JSON MCP筛选器
一个强大的模型上下文协议(MCP)服务器,为本地文件和远程HTTP/HTTPS端点提供JSON模式生成和过滤工具。内置于 快速类型 用于健壮的TypeScript类型生成。
非常适合:过滤大型JSON文件和API响应,仅提取LLM上下文的相关数据,同时保持类型安全。
✨ 主要特点
- 🔄 模式生成 -使用quicktype将JSON转换为TypeScript接口
- 🎯 智能过滤 -使用基于形状的过滤提取特定字段
- 🌐 远程支持 -使用HTTP/HTTPS URL和API端点
- 📦 汽车堵塞 -通过自动400KB分块处理大型数据集
- 🛡️ 尺寸保护 -内置50MB限制,内存安全
- ⚡ MCP就绪 -与Claude Desktop和Claude Code无缝集成
- 🚨 智能错误 -带有调试信息的清晰、可操作的错误消息
🛠️ 可用工具
json_schema
从JSON数据生成TypeScript接口。
参数:
filePath:本地文件路径或HTTP/HTTPS URL
例子:
// Input JSON
{"name": "John", "age": 30, "city": "New York"}
// Generated TypeScript
export interface GeneratedType {
name: string;
age: number;
city: string;
}json_filter
使用基于形状的过滤和大型数据集的自动分块来提取特定字段。
参数:
filePath:本地文件路径或HTTP/HTTPS URLshape:对象定义要提取的字段chunkIndex(可选):大型数据集的块索引(从0开始)
汽车堵塞:
- ≤400KB:返回所有数据
- > 400KB:带有元数据的自动块
json_dry_run
在过滤之前分析数据大小并提供分块建议。
参数:
filePath:本地文件路径或HTTP/HTTPS URLshape:对象定义要分析的内容
退货: 大小细分和块建议
📋 用法示例
基本滤波
// Simple field extraction
json_filter({
filePath: "https://api.example.com/users",
shape: {"name": true, "email": true}
})形状图案
// Single field
{"name": true}
// Nested objects
{"user": {"name": true, "email": true}}
// Arrays (applies to each item)
{"users": {"name": true, "age": true}}
// Complex nested
{
"results": {
"profile": {"name": true, "location": {"city": true}}
}
}大数据集工作流
// 1. Check size first
json_dry_run({filePath: "./large.json", shape: {"users": {"id": true}}})
// → "Recommended chunks: 6"
// 2. Get chunks
json_filter({filePath: "./large.json", shape: {"users": {"id": true}}})
// → Chunk 0 + metadata
json_filter({filePath: "./large.json", shape: {"users": {"id": true}}, chunkIndex: 1})
// → Chunk 1 + metadata🔒 安全通告
远程数据获取:此工具从HTTP/HTTPS URL获取数据。用户负责:
✅ 安全实践:
- 验证URL指向合法端点
- 仅使用受信任的公共API
- 遵守API价格限制和服务条款
- 处理前审查数据源
❌ 维护人员不负责:
- 外部URL内容
- 远程请求的隐私影响
- 第三方API滥用或违规
💡 推荐:仅使用可信的公共数据源。
🚀 快速开始
选项1:NPX(推荐)
# No installation required
npx json-mcp-filter@latest选项2:全局安装
npm install -g json-mcp-filter@latest
json-mcp-server选项3:来源
git clone
cd json-mcp-filter
npm install
npm run build⚙️ MCP集成
克劳德桌面
添加到配置文件中:
{
"mcpServers": {
"json-mcp-filter": {
"command": "npx",
"args": ["-y", "json-mcp-filter@latest"]
}
}
}克劳德代码
# Add via CLI
claude mcp add json-mcp-filter npx -y json-mcp-filter@latest或手动添加:
- 名字:
json-mcp-filter - 命令:
npx - 参数:
["-y", "json-mcp-filter@latest"]
🔧 发展
命令
npm run build # Compile TypeScript
npm run start # Run compiled server
npm run inspect # Debug with MCP inspector
npx tsc --noEmit # Type check only测试
npm run inspect # Interactive testing interface📁 项目结构
src/
├── index.ts # Main server + tools
├── strategies/ # Data ingestion strategies
│ ├── JsonIngestionStrategy.ts # Abstract interface
│ ├── LocalFileStrategy.ts # Local file access
│ └── HttpJsonStrategy.ts # HTTP/HTTPS fetching
├── context/
│ └── JsonIngestionContext.ts # Strategy management
└── types/
└── JsonIngestion.ts # Type definitions🚨 错误处理
全面覆盖
- 本地文件:未找到,权限,JSON无效
- 远程URL:网络故障、身份验证错误(401/403)、服务器错误(500+)
- 内容大小:自动拒绝>50MB,消息清晰
- 格式检测:智能检测HTML/XML并提供指导
- 速率限制:429个带有重试指令的响应
- 处理:Quicktype错误、形状过滤问题
所有错误都包含可操作的调试信息。
⚡ 演出
处理时间
| 文件大小 | 处理时间 |
|---|---|
| \50 MB | 已屏蔽 |
尺寸保护
- 最大50MB 对于所有来源
- 下载前检查 通过内容长度
- 内存安全 防止OOM错误
- 清除错误消息 实际尺寸与极限尺寸
最佳实践
- 使用
json_dry_run首先是大文件 - 过滤器
json_filter在模式生成之前 - 仅将形状聚焦于关键领域
🌐 支持的来源
- 公共API -带有JSON响应的REST端点
- 静态文件 -web服务器上的JSON文件
- 本地开发人员 -
http://localhost在开发过程中 - 本地文件 -文件系统访问
💡 常见工作流
LLM集成:
- API返回较大响应
json_filter提取相关字段- 处理无噪声的干净数据
json_schema生成安全类型
托管部署
托管部署可在 Frontier AI.
