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 MCP tool findutils:jq_playground. See the REST reference →

Call it over MCP

Tool name findutils:jq_playground · no API keys · 120 requests/min per IP

Claude Code

claude mcp add findutils --transport http https://mcp.findutils.com/

Claude Desktop — claude_desktop_config.json

{
  "mcpServers": {
    "findutils": {
      "url": "https://mcp.findutils.com/"
    }
  }
}

Raw JSON-RPC (any MCP client) — verified example

curl -X POST https://mcp.findutils.com/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "jq_playground",
      "arguments": {
        "json": "{\"users\":[{\"name\":\"Ann\",\"age\":31}]}",
        "query": ".users[0].name"
      }
    }
  }'

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 a REST endpoint

The same tool answers plain HTTP at POST /api/tools/jq-playground/execute — no key, 60 requests/min.

Open the REST reference for Jq Playground →

More Data tools