MCP JSON阅读器(mcp-json-reader)
](https://www.npmjs.com/package/mcp-json-reader)
用于读取和查询的模型上下文协议(MCP)服务器 本地 具有扩展语法的JSON文件。该工具使LLM能够直接在本地JSON数据集上执行复杂的数据操作。
特性
- 本地文件支持:读取任何本地JSON文件。
- 扩展JSONPath:支持标准JSONPath加:
- 排序: .sort(field), .sort(-field) - 聚合: .sum(field), .avg(field), .min(field), .max(field) - 数值: .math(+10), .round(), .abs()等等。 - 字符串: .contains(), .startsWith(), .toLowerCase()等等。 - 日期: .format('YYYY-MM-DD'), .isToday() - 数组: .distinct(), .reverse(), [start:end]
- 过滤:强大的数组数据过滤工具。
安装
# Install globally
npm install -g .
# Or run with npx
npx mcp-json-reader --root /path/to/data配置
服务器支持 可选的 用于解析相对路径的基本目录。
- 命令行:
--root(可选) - 环境变量:
MCP_JSON_ROOT(可选)
如果两者都没有提供,则服务器默认为进程的当前工作目录(CWD)。这对于VSCode或Cursor等IDE非常有用,在这些IDE中可以为每个工作区设置根路径。
演出
- 缓存:服务器为解析的JSON对象实现了内存缓存。对同一文件的后续查询非常快,因为它们跳过了读取和解析步骤。
- 缓存验证:它使用修改时间戳自动检测文件更改,并在必要时使缓存无效。
工具
query
使用带有自定义扩展名的标准JSONPath查询本地JSON文件以进行数据操作。
- 参数:
- path (string):绝对路径或相对于配置的根目录的路径。 - jsonPath (string):JSONPath表达式(例如。, $.store.book[*].author).支持以下扩展 .sort(), .sum(), .math()等等。
filter
使用高级逻辑从本地JSON文件中的数组中提取和过滤元素。
- 参数:
- path (string):绝对路径或相对于配置的根目录的路径。 - jsonPath (string):要过滤的数组的JSONPath(例如。, $.store.book). - condition (string):过滤条件(例如。, @.price > 10 或 @.title.contains('Lord')).
例子
带排序和切片的查询
{
"path": "./data.json",
"jsonPath": "$.items.sort(-price)[0:5]"
}聚合
{
"path": "./sales.json",
"jsonPath": "$.transactions.sum(amount)"
}复杂过滤
{
"path": "./users.json",
"jsonPath": "$.users",
"condition": "@.email.endsWith('@gmail.com')"
}Claude桌面配置
将此添加到您的 claude_desktop_config.json:
{
"mcpServers": {
"json-reader": {
"command": "npx",
"args": ["-y", "mcp-json-reader", "--root", "/absolute/path/to/your/json/data"],
"env": {
"MCP_JSON_ROOT": "/optional/env/path"
}
}
}
}发展
npm install
npm run build
npm test许可证
麻省理工学院
