JSON Navigation Tools

Precise JSON extraction and navigation tools that let agents surgically access exactly the data they need from complex responses.

JSONPath Query Examples

Basic Path Navigation

$.users[0].email

Get email of first user

Wildcard Selection

$.products[*].price

Get all product prices

Conditional Filtering

$.orders[?(@.status=="pending")].id

Get IDs of pending orders only

Deep Recursive Search

$..email

Find all email fields at any depth

Array Slicing

$.items[0:10]

Get first 10 items

Extraction Tools

json_extract

Extract values using JSONPath expressions

Returns: array of matches

json_extract_first

Get first matching value only

Returns: single value or null

json_count

Count matching elements

Returns: integer count

Navigation Tools

json_navigate

Navigate to specific path in JSON

Returns: subtree at path

json_keys

Get all keys at a path

Returns: array of key names

json_paths

List all paths matching pattern

Returns: array of path strings

Advanced Operations

Transformation

// Map values to new structure
{
  "tool": "json_transform",
  "arguments": {
    "data": original,
    "template": {
      "users": "$.data.users[*].{name,email}",
      "count": "$.data.total"
    }
  }
}

Aggregation

// Aggregate numeric values
{
  "tool": "json_aggregate",
  "arguments": {
    "data": sales_data,
    "operations": {
      "total": "sum($.orders[*].amount)",
      "average": "avg($.orders[*].amount)",
      "max": "max($.orders[*].amount)"
    }
  }
}

Complete Tool Reference

Tool NamePurposeExample
json_extractExtract values by path$.users[*].id
json_filterFilter by condition$[?(@.age>18)]
json_sliceArray slicing$.items[0:5]
json_transformReshape data{name,email}
json_aggregateCompute aggregatessum($.*.price)

Give agents surgical precision

Stop sending entire payloads. Let agents extract exactly what they need.