Jq Playground

Data REST API MCP

Returns the result of running a jq-style filter over a JSON document. Supports a jq subset: paths (.a.b, .[0], .[1:3], .[]), pipes, map/select/sort_by/group_by/unique_by/min_by/max_by, keys/values/length/type/add/min/max/flatten/unique/reverse/sort, to_entries/from_entries/with_entries, has/contains/del, split/join/ltrimstr/rtrimstr, range/limit, the // fallback, and object/array/string construction. Not a full jq implementation.

This page documents the HTTP endpoint POST /api/tools/jq-playground/execute. See the MCP reference →

Call it over REST

POST https://api.findutils.com/api/tools/jq-playground/execute · no API keys · 60 requests/min per IP

Execute — verified arguments

curl -X POST https://api.findutils.com/api/tools/jq-playground/execute \
  -H "Content-Type: application/json" \
  -d '{
    "json": "{\"users\":[{\"name\":\"Ann\",\"age\":31}]}",
    "query": ".users[0].name"
  }'

Parameter schema for this endpoint

curl https://api.findutils.com/api/tools/jq-playground

Interactive docs · OpenAPI 3.1 spec · All REST tools

Input schema

Argument Type Required Description
json string yes The JSON input document (text).
query string no The jq filter, e.g. ".users[] | select(.age > 30) | .name". Default: "." (identity). Default: ".".

Example arguments (verified)

{
  "json": {
    "users": [
      {
        "name": "Ann",
        "age": 31
      }
    ]
  },
  "query": ".users[0].name"
}

Arguments that carry JSON as a string are shown decoded for readability. The Copy button copies the exact wire arguments.

Also an MCP tool

Claude, Cursor, and any MCP client can call this tool as findutils:jq_playground after one connect command.

Connect once

claude mcp add findutils --transport http https://mcp.findutils.com/
Open the MCP reference for Jq Playground →

More Data tools