Libraries¶
jpx is built on a stack of Rust crates that can be used independently in your own projects.
jpx-core¶
Self-contained JMESPath implementation with 490+ extension functions. Provides the parser, runtime, and function registry used by all other jpx crates. This is a from-scratch implementation with no upstream dependency on the unmaintained jmespath crate.
- Uses
serde_json::Valuenatively -- no type conversion overhead - 26 standard JMESPath built-in functions + 490+ extensions across 32 categories
functions.tomlis the single source of truth for function metadata- Optional
let-exprfeature for JMESPathletexpressions
jpx-engine¶
Query engine with introspection, function discovery, configuration, and query store. Wraps jpx-core with higher-level features for building tools and services.
- Single, batch, and streaming evaluation
- Function introspection with BM25 search indexing
- Session-scoped query store for named queries
- JSON utilities: format, diff (RFC 6902), patch, merge (RFC 7396), stats, paths
- Layered configuration via
jpx.tomlwith discovery (cwd, home, XDG)
jpx-mcp¶
Model Context Protocol server exposing 31 JMESPath tools to AI assistants, built on jpx-engine. Run it as a binary or embed the router in your own transport.
- 31 tools across evaluation, introspection, JSON utilities, query store, and discovery
- Install with
cargo install jpx-mcp, or run theghcr.io/joshrotenberg/jpx-mcpimage - See the MCP Server section for setup and the full tool list
Python Bindings¶
Use jpx functions in Python via the jpx package on PyPI.
- Module-level functions:
search(),compile(),validate(),list_functions() CompiledExpressionclass for reusing compiled expressionsJpxEngineclass wrapping the full engine