JSONPad documentation
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
JSONPad docs, API, SDK and CLI references, and offline checkers for write rules and flows.
| Author | io.jsonpad |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 97 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"JSONPad documentation": {
"url": "https://mcp.jsonpad.io/docs",
"transport": "streamable-http"
}
}
}
Measured tools (14)
search_docsread-onlySearch the JSONPad documentation, the JavaScript SDK references and the command line tool reference. Returns the best-matching sections with a snippet and their jsonpad.io URL; read one with read_doc. Exact identifiers work well: error codes and names, headers, SDK methods, CLI commands, $jsonpad-var variables, "POST /lists/{listId}/items".
Parameters:
query(required) — string — What to look forlimit— integer — How many results (1-10)section— string — Only search one section: guides, api-reference (every API reference section), lists, items, indexes, identities, tokens, flows, schema-sync, sdk or cli
Hints: read-only yes · destructive no · idempotent yes · open-world no
read_docread-onlyRead a documentation page as markdown, or one section of it. Give a page slug ("indexing"), a /docs path, a jsonpad.io URL (with or without .md, and with an optional #anchor), "sdk/jsonpad-sdk", "sdk/jsonpad-realtime-sdk", "cli/reference" or "cli/readme". Long pages are cut at a section boundary; read on with the returned nextSection.
Parameters:
page(required) — string — The page: a slug, path or URLsection— string — A heading anchor ("filtering-items") or heading text; overrides a #anchor in pagemaxChars— integer — The most characters of markdown to return
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_docsread-onlyList the documentation pages by section, with a description of each: the table of contents.
Parameters:
section— string — Only list one section
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_api_endpointsread-onlyList the REST API endpoints an API token can use, as method, path and title. Get one in full with get_api_endpoint.
Parameters:
resource— string — Only one resource
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_api_endpointread-onlyThe full contract of one REST API endpoint: parameters, headers, request body, responses and examples, and the JavaScript SDK method that calls it. Find it by id (the docs page slug, e.g. "item-restore"), by method and path (templates or concrete paths both work: "/lists/my-list/items/abc"), or by a description.
Parameters:
id— string — The endpoint id, from list_api_endpointspath— string — The path, e.g. /lists/{listId}/itemsquery— string — What the endpoint does, e.g. "restore a deleted item"method— string — The HTTP method
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_sdk_methodread-onlyThe signature, description and example of a method in the JavaScript SDK (@basementuniverse/jsonpad-sdk) or the realtime SDK, and the REST endpoint it calls. Find it by name ("restoreItem") or by what it does.
Parameters:
name— string — The method name, e.g. restoreItemquery— string — What the method does, e.g. "wait for an index to build"package— string — Only one package
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_cli_commandread-onlyThe usage, arguments and options of a jsonpad command line tool (@basementuniverse/jsonpad-cli) command, and whether it works offline. Find it by name ("rules test", "jsonpad sync-schema --dry-run") or by what it does.
Parameters:
name— string — The command, e.g. "sync-schema" or "jsonpad rules test"query— string — What the command does, e.g. "export items to a file"
Hints: read-only yes · destructive no · idempotent yes · open-world no
lookup_errorread-onlyWhat a JSONPad API error code means, its HTTP status, and the guides that explain it. Give the numeric code (10013) or the name (QUOTA_EXCEEDED), as found in an error response's "code" and "name".
Parameters:
code— integer — The numeric code, e.g. 10013name— string — The name, e.g. QUOTA_EXCEEDED
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_plan_limitsread-onlyThe limits of each public plan (Free, Indie, Pro, Scale): requests per month and minute, the minimum gap between requests, storage, item size, versions kept, tokens, identities, realtime connections, webhooks and flows. null means unlimited. Sizes are in bytes, rateLimit in milliseconds, prices in GBP.
Parameters:
plan— string — One plan, by id or name, e.g. "free"limit— string — One limit, e.g. maxItemSize
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_write_rulesread-onlyCompile a list's write rules with the same engine the API uses, and run their tests (a rules-tests-v1 document). Returns every diagnostic with its line and column, and for each failing test what it expected, what happened, and how each rule came out. Costs nothing and sees no data: lookups find the test document's items. Use it before saving rules.
Parameters:
rules(required) — The rule text, or its lines as an array (as in a schema sync document)tests— The rule tests: a rules-tests-v1 document ({ "tests": [...] }), optionalknownLists— array — Path names of lists that exist, so lookups into any other list are warned about, as the API does when rules are saved
Hints: read-only yes · destructive no · idempotent yes · open-world no
eval_write_ruleread-onlyCheck one write against a rule set, as the API would, and say whether it would be allowed, denied (403) or failed (400), which statement decided it, and (with trace) what every expression evaluated to. The write is shaped like a rule test case: action, identity, token, old, new, patch, merge, now. Costs nothing and sees no data.
Parameters:
rules(required) — The rule text, or its lines as an array (as in a schema sync document)write(required) — object — The write to checkitems— object — Items for lookups to find: { "<list>": { "<item id or alias>": { "data": ... } } }trace— boolean — Include the value of every expressionidentities— object — Named identities the write can refer to
Hints: read-only yes · destructive no · idempotent yes · open-world no
check_flowread-onlyCompile a flow document (flows-v1) with the same engine the API uses, and run its tests (flow-tests-v1) against in-memory data. Returns diagnostics (with JSON pointers into the document), what the flow reads and writes, and why each failing test failed. Costs nothing and sees no data.
Parameters:
flow(required) — The flow documenttests— The flow tests: a flow-tests-v1 document, optionalknownLists— array — Path names of lists that exist, so the flow using any other list is warned about
Hints: read-only yes · destructive no · idempotent yes · open-world no
validate_sync_documentread-onlyCheck a schema sync document (sync-v1) as far as possible without an account: against the JSON schema the API uses, the API's rules for keys and indexes, and every rule set and flow in it with their tests. Documents that reference files (rulesFile, flowFile and their tests) are checked too if the files' contents are given in files. What a sync would change needs the account: the API server's plan_schema_sync, or jsonpad sync-schema --dry-run.
Parameters:
document(required) — The schema sync documentfiles— object — The contents of files the document references, keyed by the path written in the document, e.g. { "rules/games.rules": "allow ..." }
Hints: read-only yes · destructive no · idempotent yes · open-world no
validate_token_permissionsread-onlyCheck an API token's permission rules against the schema the API uses, say which rule shape a broken one was meant to be, and warn about valid rules that probably don't do what was meant (rule order, restore without view, sync-schema alone, allow "*").
Parameters:
permissions(required) — The permission rules, e.g. [{ "mode": "allow", "action": "view", "resourceType": "item", "listIds": ["*"], "itemIds": ["*"] }]
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.