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

Free, per-query, or full privacy.

Every plan keeps JSON, filters, URLs, and results out of application logs. Paying removes free-tier usage tracking.

Free Per-query Full privacy pass
Price 0 0.005 USDCper attempt 2 USDCfor 30 days
Queries 100/day per IP1,000/day per UUID No daily cappay per query Unlimitedfor 30 days
Quota & analytics IP/UUID counters & source analytics None None
Billing records None Per-query receipt & short-lived retry data Pass receipt & expiryNo per-query records

Full privacy for pass queries: zero application query logs, usage counters, source analytics, or per-query records. Paid access uses USDC on Base with no automatic renewal. Document and execution limits apply; per-query runtime errors are chargeable. Payment details.

Cloudflare processes hosted requests. Payments are public onchain; billing records remain. Explicit uploads use temporary storage with 15-minute access. Privacy & retention details.

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 jq engine. Two ways to connect.

Read the documentation
MCPFor AI assistants

jq for JSON in your conversation.

Pass JSON, a public HTTPS URL, or an upload ID to the process_json 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
process_json accepts JSON, a public HTTPS URL, or an upload ID and a jq filter. get_upload inspects metadata and get_quota reports remaining calls. upload_json and delete_upload manage reusable JSON for 15 minutes. 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, run shell commands, or access connected accounts. Public HTTPS URL input and explicit JSON uploads are supported, up to 5 MiB. Check endpoint health.

What paid privacy adds

Free queries already keep JSON, filters, results, and source URLs out of application logs. Paid queries also skip IP/UUID quota counters and REST/MCP/Zapier usage analytics. Your paid UUID stops working at expiry until you renew; it never silently switches to tracked free access.

Cloudflare still processes network and security metadata. USDC payments are public on Base; minimal billing records are kept separately. Explicit uploads remain private temporary storage, usable for 15 minutes; physical cleanup may occur later.

Get a pass & copy private MCP settings → Read the privacy boundaries →
Can I buy unlimited queries and private processing?

Buy 30 days of unlimited jq queries with zero application query logs for 2 USDC. Each renewal is a separate purchase through x402 on Base; agents can pay with a supported wallet client. Document and execution limits apply. Payment availability is reported by /pricing. See browser wallet checkout and client setup, the agent purchase flow, and the privacy commitment and billing/storage disclosures.

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 run jq compiled to WebAssembly on Cloudflare Workers.

Use jq's built-in filters, regular expressions, output formats, custom functions, and request-supplied modules. Named variables, slurp, text input, and output options work through the same tool. Modules exist only for that call; local files, shell commands, and connected accounts remain unavailable. Use a public HTTPS URL or a short-lived upload to query data without placing the whole document in the model context. jq compatibility & options · Current jq version

How is submitted data handled?

Your JSON and filter are sent over HTTPS to Cloudflare Workers for processing. The application does not persist inline or direct URL processing data, filters, or results. Explicit uploads are stored privately for 15 minutes and can be deleted early. Treat upload IDs as secrets: anyone holding an ID can query or delete its data. Submitted data and filters are kept out of application logs.

Free-tier daily quota records contain your IP address or UUID. Paid queries skip those records and source analytics. Expired free-tier 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_json 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_json","arguments":{"input":{"name":"Alice"},"filter":".name"}}}'