JSON映射查找器

一个轻量级的JSON模式感知探索工具,用于上传JSON样本、扁平化其模式并通过启发式搜索查找目标字段路径,加速ETL/API集成。

  • by Bablu-singh
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 Bablu-singh/JSON-Mapping-And-Context-MCP-Server

使用说明

JSON映射和上下文MCP服务器

此仓库托管了两个小型MCP服务器,展示了模式感知的JSON探索和实时数据检索:

  • JSON映射查找器 (json_mapping_server.py):上传任何JSON示例,展开其模式,并使用启发式搜索(标记重叠+模糊匹配)来查找目标字段名的路径。非常适合加速ETL/neneneba API入职。

它有意设计为轻量级,完全基于HTTP,便于使用MCP Inspector或Copilot Chat进行检查。

亮点

  • 模式感知解析:展开嵌套的JSON,捕获类型/示例,并跟踪深度。
  • 启发式映射:标记重叠、子字符串检查和模糊匹配,以建议可能的字段路径。
  • 即插即用MCP:用途 StreamableHTTPSessionManager 用于现代MCP HTTP传输。
  • 便携的:纯Python,没有Open Meteo以外的外部服务。

快速开始

先决条件:Python 3.12+和虚拟环境(.venv 推荐)。

python -m venv .venv
source .venv/bin/activate
pip install -r <(python - <<'PY'
import tomllib, sys
deps = tomllib.load(open("pyproject.toml","rb"))["project"]["dependencies"]
print("\n".join(deps))
PY)

运行JSON映射查找器(端口3004)

.venv/bin/python json_mapping_server.py

然后检查:

npx -y @modelcontextprotocol/inspector http://localhost:3004

外露工具:

  • upload_json_sample(json_data):加载JSON样本(例如。, sample_json.json)并构建模式索引。
  • list_schema(limit=200):使用类型+示例值查看扁平路径。
  • search_fields(query, top_k=10):查找单个查询的可能路径。
  • map_targets(targets, top_k=5):多个字段名的批量映射建议。
  • clear_samples():重置索引。

样品数据

  • sample_json.json:用于测试JSON映射查找器的非医疗嵌套示例。

配置

如果你想将这些连接到Copilot Chat,请添加以下条目:

{
  "mcpServers": {
    "json-mapping": { "url": "http://localhost:3004" }
  }
}

它是如何工作的(JSON映射查找器)

  1. 索引:遍历对象/数组,记录路径($.foo.bar[*])、类型、示例值和深度。
  2. 评分:结合了精确/子字符串增强、Jaccard令牌重叠和模糊比率;轻微惩罚深路。
  3. 建议:返回得分最高的匹配项,以便您快速查看/接受。

备注

  • 不需要API密钥。
  • 所有代码都是ASCII码,依赖关系很轻。