MCP-Server

JSONPad documentation

io.jsonpad/docs
Entwicklertools Wissen & Dokumentation Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Provides documentation and validation tools for JSONPad APIs, SDKs, CLI commands, schemas, flows, write rules, permissions, and plan limits.

check_flow
Check a flow
Compile 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['flow'], 'properties': {'flow': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'string'}], 'description': 'The flow document'}, 'tests': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'string'}], 'description': 'The flow tests: a flow-tests-v1 document, optional'}, 'knownLists': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Path names of lists that exist, so the flow using any other list is warned about'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'diagnostics'], 'properties': {'ok': {'type': 'boolean'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
check_write_rules
Check write rules
Compile 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rules'], 'properties': {'rules': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'The rule text, or its lines as an array (as in a schema sync document)'}, 'tests': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'string'}], 'description': 'The rule tests: a rules-tests-v1 document ({ "tests": [...] }), optional'}, 'knownLists': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Path names of lists that exist, so lookups into any other list are warned about, as the API does when rules are saved'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'diagnostics'], 'properties': {'ok': {'type': 'boolean'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
eval_write_rule
Try a write against write rules
Check 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rules', 'write'], 'properties': {'items': {'type': 'object', 'description': 'Items for lookups to find: { "<list>": { "<item id or alias>": { "data": ... } } }', 'additionalProperties': {}}, 'rules': {'anyOf': [{'type': 'string'}, {'type': 'array', 'items': {'type': 'string'}}], 'description': 'The rule text, or its lines as an array (as in a schema sync document)'}, 'trace': {'type': 'boolean', 'default': False, 'description': 'Include the value of every expression'}, 'write': {'type': 'object', 'required': ['action'], 'properties': {'new': {'description': 'The item data after the write'}, 'now': {'type': 'string', 'description': 'The time of the write, ISO 8601'}, 'old': {'description': 'The item data before the write (not for create)'}, 'merge': {'description': 'A merge applied to old, instead of new'}, 'patch': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}, 'description': 'A JSON Patch applied to old, instead of new'}, 'token': {'type': 'object', 'description': 'The API token, e.g. { "id": "t1", "tags": ["writer"] }', 'additionalProperties': {}}, 'action': {'enum': ['create', 'update', 'delete', 'restore'], 'type': 'string'}, 'identity': {'description': 'The identity making the write: { "id": "..." }, a key into identities, or null'}}, 'description': 'The write to check', 'additionalProperties': True}, 'identities': {'type': 'object', 'description': 'Named identities the write can refer to', 'additionalProperties': {}}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}}, 'additionalProperties': True}
get_api_endpoint
Get a JSONPad API endpoint contract
The 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string', 'description': 'The endpoint id, from list_api_endpoints'}, 'path': {'type': 'string', 'description': 'The path, e.g. /lists/{listId}/items'}, 'query': {'type': 'string', 'description': 'What the endpoint does, e.g. "restore a deleted item"'}, 'method': {'enum': ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'ANY'], 'type': 'string', 'description': 'The HTTP method'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['endpoint'], 'properties': {'endpoint': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
get_cli_command
Get a JSONPad CLI command
The 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'The command, e.g. "sync-schema" or "jsonpad rules test"'}, 'query': {'type': 'string', 'description': 'What the command does, e.g. "export items to a file"'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['command'], 'properties': {'command': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
get_plan_limits
Get JSONPad plan limits
The 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'plan': {'type': 'string', 'description': 'One plan, by id or name, e.g. "free"'}, 'limit': {'enum': ['maxRequestsPerMonth', 'overdraftPercent', 'maxRequestsPerMinute', 'rateLimit', 'maxStorageBytes', 'maxLists', 'maxItemsPerList', 'maxIndexesPerList', 'maxItemSize', 'maxItemVersions', 'maxTokens', 'maxIdentities', 'maxRealtimeConnections', 'maxWebhooks', 'maxFlows'], 'type': 'string', 'description': 'One limit, e.g. maxItemSize'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['plans'], 'properties': {'plans': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
get_sdk_method
Get a JSONPad SDK method
The 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'name': {'type': 'string', 'description': 'The method name, e.g. restoreItem'}, 'query': {'type': 'string', 'description': 'What the method does, e.g. "wait for an index to build"'}, 'package': {'enum': ['jsonpad-sdk', 'jsonpad-realtime-sdk'], 'type': 'string', 'description': 'Only one package'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['method'], 'properties': {'method': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
list_api_endpoints
List the JSONPad API endpoints
List the REST API endpoints an API token can use, as method, path and title. Get one in full with get_api_endpoint.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'resource': {'enum': ['lists', 'items', 'indexes', 'identities', 'tokens', 'flows', 'schema-sync'], 'type': 'string', 'description': 'Only one resource'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['endpoints'], 'properties': {'endpoints': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
list_docs
List the JSONPad docs pages
List the documentation pages by section, with a description of each: the table of contents.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'section': {'enum': ['guides', 'api-reference', 'lists', 'items', 'indexes', 'identities', 'tokens', 'flows', 'schema-sync', 'sdk', 'cli'], 'type': 'string', 'description': 'Only list one section'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['sections'], 'properties': {'sections': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
lookup_error
Look up a JSONPad error
What 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".
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'code': {'type': 'integer', 'description': 'The numeric code, e.g. 10013'}, 'name': {'type': 'string', 'description': 'The name, e.g. QUOTA_EXCEEDED'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['error'], 'properties': {'error': {'type': 'object', 'additionalProperties': {}}}, 'additionalProperties': True}
read_doc
Read a JSONPad docs page
Read 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['page'], 'properties': {'page': {'type': 'string', 'minLength': 1, 'description': 'The page: a slug, path or URL'}, 'section': {'type': 'string', 'description': 'A heading anchor ("filtering-items") or heading text; overrides a #anchor in page'}, 'maxChars': {'type': 'integer', 'default': 20000, 'maximum': 100000, 'minimum': 1000, 'description': 'The most characters of markdown to return'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['title', 'url', 'markdown', 'truncated'], 'properties': {'url': {'type': 'string'}, 'title': {'type': 'string'}, 'markdown': {'type': 'string'}, 'truncated': {'type': 'boolean'}}, 'additionalProperties': True}
search_docs
Search the JSONPad docs
Search 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".
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['query'], 'properties': {'limit': {'type': 'integer', 'default': 5, 'maximum': 10, 'minimum': 1, 'description': 'How many results (1-10)'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 2, 'description': 'What to look for'}, 'section': {'enum': ['guides', 'api-reference', 'lists', 'items', 'indexes', 'identities', 'tokens', 'flows', 'schema-sync', 'sdk', 'cli'], 'type': 'string', 'description': 'Only search one section: guides, api-reference (every API reference section), lists, items, indexes, identities, tokens, flows, schema-sync, sdk or cli'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['results'], 'properties': {'results': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
validate_sync_document
Validate a schema sync document
Check 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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['document'], 'properties': {'files': {'type': 'object', 'description': 'The contents of files the document references, keyed by the path written in the document, e.g. { "rules/games.rules": "allow ..." }', 'additionalProperties': {'type': 'string'}}, 'document': {'anyOf': [{'type': 'object', 'additionalProperties': {}}, {'type': 'string'}], 'description': 'The schema sync document'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok', 'problems'], 'properties': {'ok': {'type': 'boolean'}, 'problems': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}}, 'additionalProperties': True}
validate_token_permissions
Validate token permissions
Check 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 "*").
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['permissions'], 'properties': {'permissions': {'anyOf': [{'type': 'array', 'items': {'type': 'object', 'additionalProperties': {}}}, {'type': 'string'}], 'description': 'The permission rules, e.g. [{ "mode": "allow", "action": "view", "resourceType": "item", "listIds": ["*"], "itemIds": ["*"] }]'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}}, 'additionalProperties': True}
Hinzugefügt
validate_token_permissions
2. October 2026 02:40
Hinzugefügt
validate_sync_document
2. October 2026 02:40
Hinzugefügt
check_flow
2. October 2026 02:40
Hinzugefügt
eval_write_rule
2. October 2026 02:40
Hinzugefügt
check_write_rules
2. October 2026 02:40
Hinzugefügt
get_plan_limits
2. October 2026 02:40
Hinzugefügt
lookup_error
2. October 2026 02:40
Hinzugefügt
get_cli_command
2. October 2026 02:40
Hinzugefügt
get_sdk_method
2. October 2026 02:40
Hinzugefügt
get_api_endpoint
2. October 2026 02:40
Hinzugefügt
list_api_endpoints
2. October 2026 02:40
Hinzugefügt
list_docs
2. October 2026 02:40
Hinzugefügt
read_doc
2. October 2026 02:40
Hinzugefügt
search_docs
2. October 2026 02:40