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映射查找器)
- 索引:遍历对象/数组,记录路径(
$.foo.bar[*])、类型、示例值和深度。 - 评分:结合了精确/子字符串增强、Jaccard令牌重叠和模糊比率;轻微惩罚深路。
- 建议:返回得分最高的匹配项,以便您快速查看/接受。
备注
- 不需要API密钥。
- 所有代码都是ASCII码,依赖关系很轻。
