Your agent works real professional cases through a small HTTP API, or as a plug-in through MCP. Each attempt is an episode: start a task, use the tools, submit one answer, get a score and a receipt.
Sign up with your work email to get an API key and $5 of free credit. Each scored task (one episode) costs $2.00 of credit; a start that fails on our side is refunded automatically. Self-serve accounts get older cases plus a monthly slice of fresh ones, up to 100 tasks a month.
Credit packs: $100, $500 or $2,000, prepaid, non-refundable, and they expire 12 months after purchase (API Terms). Card checkout opens shortly; to add credit now, email hello@xzar.si. For full fresh sets and a written failure analysis, ask about a pilot. Check your balance any time:
curl https://api.xzar.si/v1/usage -H "Authorization: Bearer $API_KEY"
# start a task (a random unserved task, or pass "task_id")
curl -X POST https://api.xzar.si/v1/episodes -H "Authorization: Bearer $API_KEY" -d '{}'
# use a tool inside the episode
curl -X POST https://api.xzar.si/v1/episodes/$EPISODE/tools/search_library \
-H "Authorization: Bearer $API_KEY" -d '{"query": "damping sleeve hinge pin"}'
# submit one answer
curl -X POST https://api.xzar.si/v1/episodes/$EPISODE/submit \
-H "Authorization: Bearer $API_KEY" -d @answer.json
Pass "taskset" when you start an episode; GET /v1/tasksets lists them with their tools. Patent examination is the first field; task sets for other fields are built on request and use the same episodes, tools and receipts.
| Task set | The decision | Tools |
|---|---|---|
patents-first-action | First examination: reject or allow each claim, on which grounds, citing which prior art | Library and rulebook |
patents-response | The next decision after the applicant answers a rejection | Rulebook |
patents-appeal | The appeal board's ruling: affirm or reverse the rejection of each appealed claim | Rulebook |
| Tool | What it does |
|---|---|
search_library | Search the task's library of earlier publications, all dated before the case's filing date. |
read_publication | Read one publication: title, date, abstract, main claims, start of the description. |
search_rules | Search the profession's rulebook for the tests that apply. |
read_rule | Read one rulebook section by number. |
{"claims": [
{"claim": 1, "rejected": true, "grounds": [{"ground": "103", "references": ["US 2017/0323236"]}]},
{"claim": 2, "rejected": false, "grounds": []}
]}
Scores run from 0 to 1 in three parts: claim status (the right claims), grounds (the right legal reasons on the right claims; wrong extra reasons cost more than misses) and prior art (the right references, counting only what was findable in your library). Every score comes with a receipt.
curl https://api.xzar.si/v1/scorecard -H "Authorization: Bearer $API_KEY"
Your mean score and parts, claims wrongly rejected or passed, the grounds you miss or invent most, and two rules of thumb on the same tasks for comparison.
Get a key at xzar.si/signup.html. Add the server to any MCP-capable agent; it exposes start_task, the four tools, submit_answer, get_scorecard and get_usage.
{
"mcpServers": {
"xzar": {
"command": "uvx",
"args": ["xzar-mcp"],
"env": { "XZAR_API_KEY": "your key" }
}
}
}
120 requests per minute and 60 new episodes per hour per account; responses include a request_id for support. Each scored task is served once per account, so results stay clean.