使用说明
json-mcp
用于使用JSONPath表达式查询和操纵JSON数据的模型上下文协议(MCP)服务器。
特性
此MCP服务器为处理JSON文件提供了强大的工具:
- 搜索:通过简单文本在文件中搜索JSON数据,并返回JSONPaths,其中包含匹配元素周围的上下文
- 怎么翻译:通过JSONPath表达式查询文件中的JSON数据
- appendToArray:将元素附加到JSONPath选择的数组中
- 集:在JSONPath上设置(upstart)一个值。可以更新单个比赛或所有比赛。
- 删除:删除文件中JSONPath处的元素
安装
您可以使用npx运行此服务器:
npx @lpenguin/json-mcp
或者全局安装:
npm install -g @lpenguin/json-mcp
用法
作为MCP服务器
添加到您的MCP客户端配置中(例如,Claude Desktop、Cline):
{
"mcpServers": {
"@lpenguin/json-mcp": {
"command": "npx",
"args": ["-y", "@lpenguin/json-mcp"]
}
}
}
工具示例
在JSON文件中搜索文本
// Search for "apple" in data.json
{
"name": "search",
"arguments": {
"file": "/path/to/data.json",
"searchText": "apple"
}
}
按JSONPath查询
// Get all book titles from books.json
{
"name": "query",
"arguments": {
"file": "/path/to/books.json",
"path": "$.store.book[*].title"
}
}
追加到数组
// Append new item to array in items.json
{
"name": "appendToArray",
"arguments": {
"file": "/path/to/items.json",
"path": "$.items",
"value": {"name": "new item", "price": 9.99}
}
}
设置(追加)数据
// Set or create a value at path in config.json (updates first match only)
{
"name": "set",
"arguments": {
"file": "/path/to/config.json",
"path": "$.settings.timeout",
"value": 5000
}
}
// Set value at all matching paths (when all=true)
{
"name": "set",
"arguments": {
"file": "/path/to/data.json",
"path": "$.items[*].price",
"value": 9.99,
"all": true
}
}
删除数据
// Delete first item from array in items.json
{
"name": "delete",
"arguments": {
"file": "/path/to/items.json",
"path": "$.items[0]"
}
}
JSONPath语法
此服务器使用 jsonpath+ 它支持完整的JSONPath规范:
$-根节点@-当前节点.-儿童操作员..-递归下降*-通配符[]-数组下标[,]-工会运营商[start:end:step]-阵列切片?()-筛选器表达式()-脚本表达式
示例:
$.store.book[*].author-所有作者$..author-所有作者(递归)$.store.*-商店里的所有东西$.store..price-店内所有价格$..book[?(@.price < 10)]-所有价格低于10美元的书籍$..book[-1:]-最后一本书
发展
设置
npm install
构建
npm run build
测试
npm test
许可证
麻省理工学院