MCP 서버

JSONPad documentation

io.jsonpad/docs
개발자 도구 지식 및 문서 공개 · 연결 가능 MCP 2025-11-25

이 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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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".
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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".
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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.
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'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 "*").
읽기 전용 멱등성
입력 스키마
{'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}
출력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['ok'], 'properties': {'ok': {'type': 'boolean'}}, 'additionalProperties': True}
추가됨
validate_token_permissions
2026년 10월 2일 2:40 AM
추가됨
validate_sync_document
2026년 10월 2일 2:40 AM
추가됨
check_flow
2026년 10월 2일 2:40 AM
추가됨
eval_write_rule
2026년 10월 2일 2:40 AM
추가됨
check_write_rules
2026년 10월 2일 2:40 AM
추가됨
get_plan_limits
2026년 10월 2일 2:40 AM
추가됨
lookup_error
2026년 10월 2일 2:40 AM
추가됨
get_cli_command
2026년 10월 2일 2:40 AM
추가됨
get_sdk_method
2026년 10월 2일 2:40 AM
추가됨
get_api_endpoint
2026년 10월 2일 2:40 AM
추가됨
list_api_endpoints
2026년 10월 2일 2:40 AM
추가됨
list_docs
2026년 10월 2일 2:40 AM
추가됨
read_doc
2026년 10월 2일 2:40 AM
추가됨
search_docs
2026년 10월 2일 2:40 AM