Hosted jq MCP server & REST API

The best free JQ REST and MCP server in the world

Run jq filters directly on JSON from API responses, webhooks, or an AI conversation. Connect with MCP or REST. No local jq installation or server to run.

Free to use · No account required

100 calls/day anonymously. 1,000 with a UUID.

Operated by Craftsman Founder LLC, maintained by Lucas Carlson.

POST /processAPI reference

Try a jq filter.

Live playground

Choose an example, or bring your own JSON.

Edit the input and filter, then run. Ctrl / ⌘ + Enter

OutputExample preview
"Alice"
Optional UUID key 1,000 calls/day

A free key is generated for this playground. Reuse your own UUID, or clear it for 100 anonymous calls/day. How keys work

Your workflow. Your jq.

One tool. Two ways to connect.

Read the documentation
MCPFor AI assistants

jq for JSON in your conversation.

Pass JSON directly to the process tool. Extract fields, filter arrays, and reshape API responses without creating files or installing a jq server.

Server URLhttps://thejqapi.com/mcp
Using Codex? Copy one command.
codex mcp add jq-api --url https://thejqapi.com/mcp
Using Claude Code? Copy one command.
claude mcp add --transport http jq-api https://thejqapi.com/mcp

Streamable HTTP. No MCP sessions. MCP setup guide

RESTFor apps & scripts

Your JSON. One HTTP request.

Send an input value and a jq filter. Get the result as JSON, ready for your app.

POSThttps://thejqapi.com/process
curl https://thejqapi.com/process \
  -H 'Content-Type: application/json' \
  -d '{"input":{"name":"Alice"},"filter":".name"}'
REST API reference

Also works with your jq actions in Zapier workflows.

Interface, limits & data handling

Know what you’re connecting.

Read the MCP manifest
Hosted, no jq installation
One process tool accepts JSON and a jq filter, then returns structured JSON. Use our hosted endpoint; no local jq executable, server package, or Docker container required.
Free, with explicit limits
100 requests/day per IP, or 1,000/day with any UUID. No signup, credit card, or OAuth required. REST and MCP share the same daily quota.
No filesystem or shell access
Processes the JSON you submit over HTTPS to Cloudflare Workers. The tool cannot read your local files, fetch URLs, run shell commands, or access connected accounts. Check endpoint health.
When should I choose a hosted jq MCP server?

Choose The JQ API for JSON already in an AI conversation or HTTP workflow: API responses, webhook payloads, objects, and arrays. Send JSON values directly; no file paths or temporary files are needed. The hosted MCP endpoint uses stateless Streamable HTTP, and MCP and REST use the same @jq-tools/jq JavaScript interpreter.

The interpreter supports a subset of jq. Modules, some built-in filters, and some output formats are unsupported. Try your expression in the playground; use the local jq CLI when you need its full feature set or local-only processing. Interpreter compatibility notes

How is submitted data handled?

Your JSON and filter are sent over HTTPS to Cloudflare Workers for processing. The application does not save submitted JSON, filters, or results to its database or application logs.

Daily quota records contain your IP address or UUID. Expired identifiers are converted to aggregate totals and removed during scheduled cleanup and before subsequent processing requests. Longer-term usage totals contain no client identifiers. Cloudflare manages its own operational logs and backups; the homepage uses Google Analytics. Read the privacy notice.

How do quotas, UUID keys, and errors work?

Quotas reset at midnight UTC. For the 1,000-call limit, generate a UUID and send Authorization: Bearer YOUR_UUID with REST or MCP requests. A UUID identifies a shared usage counter; it does not verify an account. MCP initialization and tool discovery do not consume processing quota.

Successful calls return success, result, rawResult, and executionTime. Processing errors return an error message; MCP marks these with isError: true. REST returns HTTP 429 when its daily quota is exceeded. Authentication details · Contact us about higher limits

Verify the MCP endpoint with one request

Inspect the tool schema with tools/list, then try this direct JSON request. It calls process without an account. Expect structuredContent.result to be "Alice" and isError to be false.

curl https://thejqapi.com/mcp \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'MCP-Protocol-Version: 2025-11-25' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"process","arguments":{"input":{"name":"Alice"},"filter":".name"}}}'