The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Jsonaut listing page.
JSON repair & validation built for AI agents as the customer. Send possibly-malformed JSON (LLM tool-call output, another agent's message, a flaky upstream), get back parsed, schema-valid JSON.
Business context, market research, and the full 3-day plan live in IDEA.md and PLAN.md.
Try it:
| Route | What it does |
|---|---|
POST /v1/repair | Repair + optional schema validation/coercion. Body: {input, schema?, allow_llm_fallback?} |
POST /v1/validate | Validate only, no repair. Body: {input, schema} |
POST /mcp | MCP server (Streamable HTTP, stateless). Tools: repair_json, validate_json |
GET / | Interactive demo page |
GET /llms.txt | Agent-readable capability + pricing description |
GET /openapi.yaml | OpenAPI 3.1 spec |
Response method values: direct (was already valid), deterministic-repair (free fix), llm-repair (paid fix), failed. changes[] lists every modification so callers can audit what was done to their data.
Or in any MCP client config:
For the paid tier, clients pay via x402 and retry with the X-PAYMENT header (the payment receipt). No accounts or API keys — agents pay per call.
/v1/repair with allow_llm_fallback: true; deterministic repair fails.402 with an x402 accepts array (USDC on Base, amount = PRICE_USD).X-PAYMENT header; server verifies via the facilitator, runs the LLM repair, and settles only if the repair succeeds.| Env var | Purpose | Required for |
|---|---|---|
OPENROUTER_API_KEY | Enables the paid LLM-fallback tier (via OpenRouter; free model by default) | Paid tier |
OPENROUTER_MODEL | Override the model (default meta-llama/llama-3.3-70b-instruct:free) | — |
X402_PAY_TO | Wallet address on Base receiving USDC | x402 rail |
X402_NETWORK | base or base-sepolia (default base) | x402 rail |
FACILITATOR_URL | x402 facilitator for verify/settle | x402 rail |
FREE_DAILY_LIMIT | Free calls per IP per day (default 100) | — |
PRICE_USD | Paid-tier price (default 0.01) | — |
DEV_ALLOW_FREE_LLM | true opens the paid tier for local dev only | — |
Local dev secrets go in a .dev.vars file (git-ignored) or your shell env.
The same codebase runs on Node for local dev (npm run dev) and on Workers in production — storage falls back to in-memory when no KV binding exists.
$ref or oneOf/anyOf branches.FACILITATOR_URL); there is no on-chain verification built in.