Serveur MCP

JSONPad documentation

io.jsonpad/docs
Outils développeur Connaissance et documentation Public et accessible MCP 2025-11-25

Ce que fait ce MCP

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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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".
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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".
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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.
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'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 "*").
Lecture seule Idempotent
Schéma d’entrée
{'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}
Schéma de sortie
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}}, 'additionalProperties': True}
Ajouté
validate_token_permissions
2 October 2026 02:40
Ajouté
validate_sync_document
2 October 2026 02:40
Ajouté
check_flow
2 October 2026 02:40
Ajouté
eval_write_rule
2 October 2026 02:40
Ajouté
check_write_rules
2 October 2026 02:40
Ajouté
get_plan_limits
2 October 2026 02:40
Ajouté
lookup_error
2 October 2026 02:40
Ajouté
get_cli_command
2 October 2026 02:40
Ajouté
get_sdk_method
2 October 2026 02:40
Ajouté
get_api_endpoint
2 October 2026 02:40
Ajouté
list_api_endpoints
2 October 2026 02:40
Ajouté
list_docs
2 October 2026 02:40
Ajouté
read_doc
2 October 2026 02:40
Ajouté
search_docs
2 October 2026 02:40