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日 02:40
已添加
validate_sync_document
2026年10月2日 02:40
已添加
check_flow
2026年10月2日 02:40
已添加
eval_write_rule
2026年10月2日 02:40
已添加
check_write_rules
2026年10月2日 02:40
已添加
get_plan_limits
2026年10月2日 02:40
已添加
lookup_error
2026年10月2日 02:40
已添加
get_cli_command
2026年10月2日 02:40
已添加
get_sdk_method
2026年10月2日 02:40
已添加
get_api_endpoint
2026年10月2日 02:40
已添加
list_api_endpoints
2026年10月2日 02:40
已添加
list_docs
2026年10月2日 02:40
已添加
read_doc
2026年10月2日 02:40
已添加
search_docs
2026年10月2日 02:40