关于 jmespath-mcp
jmespath-mcp 是使用 JMESPath 查询 JSON 的 MCP 服务,适合需要投影、筛选和内置函数的工作流。它以纯 JavaScript 实现,无需原生二进制文件。
主要功能
- 01对 JSON 执行 JMESPath 表达式
- 02投影和筛选数组
- 03使用管道和内置函数
- 04纯 JavaScript 实现,无原生二进制
适用场景
- 01选择嵌套 JSON 值
- 02筛选并投影数组条目
- 03排序值或计算 JSON 属性
MCP 相关
它向 MCP 客户端提供 `json_query` 工具,可对给定 JSON 数据运行 JMESPath 表达式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
1收录的工具列表 · 更新于 3 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | any | 是 | 要查询的 JSON。可传入 JSON 字符串或预解析的值。 |
| expression | string | 是 | JMESPath 表达式。示例:foo.bar | items[*].name | locations[?state=='WA'].name | length(@)。 |
详细介绍
@mukundakatta/jmespath-mcp
用于 JMESPath JSON 查询的 MCP 服务。提供一个工具:json_query(expression, data)。采用纯 JavaScript 实现,无需 jq 二进制文件(在 macOS / Linux / Windows 上的运行方式相同)。
为什么要开发这个项目
LLM 能很好地处理浅层 JSON 路径(foo.bar.baz),但经常会在以下方面出错:
- 数组投影(
people[*].name) - 筛选器(
locations[?state == 'WA']) - 管道和内置函数(
length、sort_by、contains、keys) - 通过
to_entries/from_entries往返转换
JMESPath 是 AWS 标准化的 JSON 查询语言。此服务会通过真正的 JMESPath 引擎运行表达式并返回结果。
为什么选 JMESPath,而不是 jq?
node-jq 需要执行 postinstall 步骤来下载 jq 二进制文件,这在 Windows 上经常会失败。JMESPath 使用纯 JavaScript 实现,没有原生依赖。对于大多数 LLM 使用场景(深层路径、筛选器、投影、内置函数),它的查询语言足够相似。
安装 — Claude Desktop
{
"mcpServers": {
"jmespath": { "command": "npx", "args": ["-y", "@mukundakatta/jmespath-mcp"] }
}
}
Cursor / Cline / Windsurf / Zed 的配置结构相同。
教程
语言教程请参阅 https://jmespath.org/tutorial.html。常见模式:
foo.bar— 嵌套键访问people[*].name— 提取每个项目中的字段people[?age > \30`].name` — 筛选后再投影sort_by(people, &age)[*].name— 排序并投影keys(@)、values(@)、length(@)— 基本函数
许可证
MIT OR Apache-2.0。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。