Jsonaut
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Jsonautrepair this JSON: { 'name': 'Alice', 'count': '42', }"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Jsonaut
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.
Free tier: deterministic repair — trailing commas, single quotes, truncation, markdown code fences, comments, Python literals — plus JSON Schema validation with type coercion (string→number, defaults, stripping hallucinated fields). Rate-limited per IP.
Paid tier: LLM-fallback repair for inputs the deterministic pass can't fix. $0.01/call, charged only on success, paid autonomously per-call via x402 (USDC on Base) — no accounts, no signup.
Business context, market research, and the full 3-day plan live in IDEA.md and PLAN.md.
Quickstart
npm install
npm test # 27 tests: repair battery, schema coercion, HTTP API, MCP protocol
npm run dev # http://localhost:8787 — demo page + API + MCP endpointTry it:
curl -s -X POST http://localhost:8787/v1/repair \
-H "content-type: application/json" \
-d "{\"input\": \"{'name': 'alice', 'count': '42',}\", \"schema\": {\"type\":\"object\",\"properties\":{\"count\":{\"type\":\"number\"}}}}"{
"valid": true,
"repaired": { "name": "alice", "count": 42 },
"method": "deterministic-repair",
"changes": ["repaired JSON syntax (jsonrepair)", "$.count: coerced string \"42\" to number"]
}Related MCP server: json-sanity
API
Route | What it does |
| Repair + optional schema validation/coercion. Body: |
| Validate only, no repair. Body: |
| MCP server (Streamable HTTP, stateless). Tools: |
| Interactive demo page |
| Agent-readable capability + pricing description |
| 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.
Using it from an agent (MCP)
claude mcp add --transport http jsonaut https://YOUR-DEPLOYMENT/mcpOr in any MCP client config:
{ "mcpServers": { "jsonaut": { "type": "http", "url": "https://YOUR-DEPLOYMENT/mcp" } } }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.
Payment flow (x402)
Agent calls
/v1/repairwithallow_llm_fallback: true; deterministic repair fails.Server responds
402with an x402acceptsarray (USDC on Base, amount =PRICE_USD).Agent pays and retries with the
X-PAYMENTheader; server verifies via the facilitator, runs the LLM repair, and settles only if the repair succeeds.
Configuration
Env var | Purpose | Required for |
| Enables the paid LLM-fallback tier (via OpenRouter; free model by default) | Paid tier |
| Override the model (default | — |
| Wallet address on Base receiving USDC | x402 rail |
|
| x402 rail |
| x402 facilitator for verify/settle | x402 rail |
| Free calls per IP per day (default 100) | — |
| Paid-tier price (default 0.01) | — |
|
| — |
Local dev secrets go in a .dev.vars file (git-ignored) or your shell env.
Deployment (Cloudflare Workers)
npx wrangler login
npx wrangler kv namespace create KV # then paste the id into wrangler.toml
npx wrangler secret put OPENROUTER_API_KEY
npx wrangler deployThe 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.
Project structure
src/core/ pipeline.ts (repair engine) · coerce.ts (schema coercion) · llm.ts (paid tier)
src/http/ app.ts (routes) · payment.ts (x402 rail) · ratelimit.ts · demo.ts · billing.ts (parked, unused)
src/mcp/ server.ts (stateless Streamable HTTP MCP server)
src/worker.ts Cloudflare Workers entry
src/dev.ts Node dev entry
test/ full battery: broken-JSON cases, coercion, HTTP, MCP protocolKnown limitations (MVP)
Schema coercion does not resolve
$reforoneOf/anyOfbranches.x402 verification requires an external facilitator (
FACILITATOR_URL); there is no on-chain verification built in.Free-tier rate limiting is approximate under high concurrency (KV read-modify-write).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/shoggi211/jsonaut'
If you have feedback or need assistance with the MCP directory API, please join our Discord server