Skip to main content

jpx-mcp

Invoke jpx MCP server tools for JMESPath evaluation, function discovery, JSON utilities, and cross-server tool discovery. Use when evaluating expressions via MCP, exploring functions, analyzing JSON structure, or managing named queries.

Zur Installation springen

Quellinformationen

Repository
joshrotenberg/jpx
Letzte Quellaktivität
24. August 2026 um 17:29
Erkannte Sprache von SKILL.md
Englisch
Sterne
4
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
4 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
jpx-mcp
description
Invoke jpx MCP server tools for JMESPath evaluation, function discovery, JSON utilities, and cross-server tool discovery. Use when evaluating expressions via MCP, exploring functions, analyzing JSON structure, or managing named queries.
license
MIT OR Apache-2.0
metadata
{"author":"joshrotenberg","version":"1.0"}
compatibility
Requires jpx-mcp server (stdio or HTTP transport)
# jpx MCP Server Guide The jpx MCP server exposes 31 tools for JMESPath evaluation, function discovery, JSON utilities, and more. It supports 470+ extension functions beyond the JMESPath specification. ## Tool Groups ### Evaluation (5 tools) | Tool | Use when... | |------|-------------| | `evaluate` | Running a JMESPath expression against inline JSON data | | `evaluate_file` | Querying a JSON file on disk (avoids passing large data through protocol) | | `batch_evaluate` | Running multiple expressions against the same input (parses once) | | `validate` | Checking if an expression is syntactically valid before running it | | `explain` | Understanding what an expression does step by step | **`evaluate` example:** ```json {"expression": "users[?age > `30`].name", "input": "{\"users\":[{\"name\":\"alice\",\"age\":35}]}"} ``` **`batch_evaluate`** is more efficient than calling `evaluate` multiple times when you need several values from the same data -- it parses the input JSON once. **`explain`** returns a structured breakdown with node types, functions used, and complexity rating. Works on invalid expressions too (returns parse error details). ### Function Discovery (7 tools) | Tool | Use when... | |------|-------------| | `functions` | Listing available functions, optionally filtered by category | | `describe` | Getting detailed info on a specific function (signature, examples) | | `batch_describe` | Getting details for several functions in one call | | `categories` | Listing all function categories | | `search` | Finding functions by keyword (fuzzy matching across names, descriptions) | | `similar` | Finding functions related to a known function | | `suggest_function` | Describing what you want in natural language | **Discovery workflow:** 1. `search` with a keyword to find relevant functions 2. `describe` to get the full signature and examples 3. `evaluate` to try it out **`suggest_function`** accepts plain English: "remove duplicates from an array" returns ranked suggestions with relevance explanations. ### JSON Utilities (7 tools) | Tool | Use when... | |------|-------------| | `format` | Pretty-printing or compacting JSON (with configurable indent) | | `diff` | Generating RFC 6902 JSON Patch between two documents | | `patch` | Applying RFC 6902 JSON Patch operations | | `merge` | Applying RFC 7396 JSON Merge Patch | | `keys` | Extracting object keys (optionally recursive with dot notation) | | `stats` | Analyzing JSON structure (type, size, depth, field analysis) | | `paths` | Listing all paths in dot notation (optionally with types/values) | **Data exploration workflow:** 1. `stats` to understand overall structure 2. `paths` to see all available fields 3. `keys` with `recursive: true` for nested structure 4. `evaluate` with expressions informed by the structure ### Query Store (5 tools) | Tool | Use when... | |------|-------------| | `define_query` | Saving a named query for reuse while this server process runs | | `get_query` | Retrieving a stored query's expression | | `delete_query` | Removing a stored query | | `list_queries` | Showing all stored queries | | `run_query` | Executing a stored query against new input | **Iterative query building:** 1. `define_query` with an initial expression 2. `run_query` to test against data 3. Refine and `define_query` again (updates existing) 4. `run_query` with different inputs Queries are validated on definition -- invalid expressions are rejected. ### Cross-Server Discovery (6 tools) | Tool | Use when... | |------|-------------| | `register_tools` | Registering another MCP server's tools for searchable discovery | | `query_tools` | Searching across all registered tools (BM25 full-text search) | | `similar_tools` | Finding tools similar to a given tool | | `unregister_discovery` | Removing a server from the discovery index | | `list_discovery_servers` | Listing registered servers | | `list_discovery_categories` | Listing tool categories across servers | **Registration** supports two formats: - **Full spec:** Detailed `DiscoverySpec` with params, examples, categories, tags - **Simplified:** Just `server_name` + array of `{name, description, tags}` **Search** uses BM25 indexing across tool names, descriptions, tags, categories, and parameters. ### Engine Info (1 tool) | Tool | Use when... | |------|-------------| | `engine_info` | Checking server version, mode, function count, and process state | Optionally include the discovery JSON schema (`include_schema: true`) or index statistics (`include_index_stats: true`). ## Common Workflows ### Explore unfamiliar JSON ``` stats(input) -> paths(input) -> evaluate(expression, input) ``` ### Find the right function ``` search("group elements") -> describe("group_by") -> evaluate(...) ``` ### Build complex queries iteratively ``` define_query("v1", "users[*].name") -> run_query("v1", data) -> define_query("v1", "users[?active].name | sort(@)") -> run_query("v1", data) ``` ### Compare JSON documents ``` diff(source, target) -> review patch ops -> patch(document, ops) ``` ## Configuration ### Transport modes - **stdio** (default): For local MCP client integration - **HTTP**: For remote access (`--transport http --host 0.0.0.0 --port 3000`) ### Filesystem access `evaluate_file` is unrestricted on stdio by default for backward compatibility and disabled on HTTP by default. Pass `--allow-root <DIRECTORY>` repeatedly to restrict either transport to canonicalized directory trees. Symlinks cannot escape those roots during canonical-path validation. Treat allowed roots as a trust boundary: use read-only mounts or directories that untrusted users cannot rewrite concurrently. Use `engine_info` to inspect the effective policy. ### Strict mode `--strict` disables all extension functions, limiting to the 26 standard JMESPath functions. ### Config file The server discovers `jpx.toml` configuration (cwd -> home -> XDG) for function filtering, query libraries, and other engine settings. ## Related Skills - [jmespath-query](../jmespath-query/SKILL.md) -- JMESPath expression syntax - [jpx-functions](../jpx-functions/SKILL.md) -- 470+ extension functions - [jpx-cli](../jpx-cli/SKILL.md) -- Command-line usage
Auf GitHub ansehen