JSONPad documentation
JSONPad docs, API, SDK and CLI references, and offline checkers for write rules and flows.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"docs": {
"command": "npx",
"args": [
"@basementuniverse/jsonpad-docs-mcp"
]
}
}
}実行可能なパッケージ
0.1.0stdioリモートエンドポイント
https://mcp.jsonpad.io/docsstreamable-httpできること
ツール一覧
ツール(14)
🟢search_docs(query, limit, section)
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",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"maxLength": 200,
"description": "What to look for"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "How many results (1-10)"
},
"section": {
"type": "string",
"enum": [
"guides",
"api-reference",
"lists",
"items",
"indexes",
"identities",
"tokens",
"flows",
"schema-sync",
"sdk",
"cli"
],
"description": "Only search one section: guides, api-reference (every API reference section), lists, items, indexes, identities, tokens, flows, schema-sync, sdk or cli"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢read_doc(page, section, maxChars)
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",
"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",
"minimum": 1000,
"maximum": 100000,
"default": 20000,
"description": "The most characters of markdown to return"
}
},
"required": [
"page"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"markdown": {
"type": "string"
},
"truncated": {
"type": "boolean"
}
},
"required": [
"title",
"url",
"markdown",
"truncated"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_docs(section)
List the documentation pages by section, with a description of each: the table of contents.
入力スキーマ
{
"type": "object",
"properties": {
"section": {
"type": "string",
"enum": [
"guides",
"api-reference",
"lists",
"items",
"indexes",
"identities",
"tokens",
"flows",
"schema-sync",
"sdk",
"cli"
],
"description": "Only list one section"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"sections": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"sections"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢list_api_endpoints(resource)
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",
"properties": {
"resource": {
"type": "string",
"enum": [
"lists",
"items",
"indexes",
"identities",
"tokens",
"flows",
"schema-sync"
],
"description": "Only one resource"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"endpoints": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"endpoints"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_api_endpoint(id, method, path, query)
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",
"properties": {
"id": {
"type": "string",
"description": "The endpoint id, from list_api_endpoints"
},
"method": {
"type": "string",
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE",
"ANY"
],
"description": "The HTTP method"
},
"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\""
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"endpoint": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"endpoint"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_sdk_method(name, query, package)
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",
"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": {
"type": "string",
"enum": [
"jsonpad-sdk",
"jsonpad-realtime-sdk"
],
"description": "Only one package"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"method": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"method"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_cli_command(name, query)
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",
"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,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"command": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"command"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢lookup_error(code, name)
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",
"properties": {
"code": {
"type": "integer",
"description": "The numeric code, e.g. 10013"
},
"name": {
"type": "string",
"description": "The name, e.g. QUOTA_EXCEEDED"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"error": {
"type": "object",
"additionalProperties": {}
}
},
"required": [
"error"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_plan_limits(plan, limit)
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",
"properties": {
"plan": {
"type": "string",
"description": "One plan, by id or name, e.g. \"free\""
},
"limit": {
"type": "string",
"enum": [
"maxRequestsPerMonth",
"overdraftPercent",
"maxRequestsPerMinute",
"rateLimit",
"maxStorageBytes",
"maxLists",
"maxItemsPerList",
"maxIndexesPerList",
"maxItemSize",
"maxItemVersions",
"maxTokens",
"maxIdentities",
"maxRealtimeConnections",
"maxWebhooks",
"maxFlows"
],
"description": "One limit, e.g. maxItemSize"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"plans": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"plans"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_write_rules(rules, tests, knownLists)
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",
"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"
}
},
"required": [
"rules"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"diagnostics": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"ok",
"diagnostics"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢eval_write_rule(rules, write, items, identities, trace)
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",
"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)"
},
"write": {
"type": "object",
"properties": {
"action": {
"type": "string",
"enum": [
"create",
"update",
"delete",
"restore"
]
},
"identity": {
"description": "The identity making the write: { \"id\": \"...\" }, a key into identities, or null"
},
"token": {
"type": "object",
"additionalProperties": {},
"description": "The API token, e.g. { \"id\": \"t1\", \"tags\": [\"writer\"] }"
},
"old": {
"description": "The item data before the write (not for create)"
},
"new": {
"description": "The item data after the write"
},
"patch": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
},
"description": "A JSON Patch applied to old, instead of new"
},
"merge": {
"description": "A merge applied to old, instead of new"
},
"now": {
"type": "string",
"description": "The time of the write, ISO 8601"
}
},
"required": [
"action"
],
"additionalProperties": true,
"description": "The write to check"
},
"items": {
"type": "object",
"additionalProperties": {},
"description": "Items for lookups to find: { \"<list>\": { \"<item id or alias>\": { \"data\": ... } } }"
},
"identities": {
"type": "object",
"additionalProperties": {},
"description": "Named identities the write can refer to"
},
"trace": {
"type": "boolean",
"default": false,
"description": "Include the value of every expression"
}
},
"required": [
"rules",
"write"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
}
},
"required": [
"ok"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_flow(flow, tests, knownLists)
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",
"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"
}
},
"required": [
"flow"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"diagnostics": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"ok",
"diagnostics"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢validate_sync_document(document, files)
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",
"properties": {
"document": {
"anyOf": [
{
"type": "object",
"additionalProperties": {}
},
{
"type": "string"
}
],
"description": "The schema sync document"
},
"files": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "The contents of files the document references, keyed by the path written in the document, e.g. { \"rules/games.rules\": \"allow ...\" }"
}
},
"required": [
"document"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"problems": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": {}
}
}
},
"required": [
"ok",
"problems"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢validate_token_permissions(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",
"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\": [\"*\"] }]"
}
},
"required": [
"permissions"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}出力スキーマ
{
"type": "object",
"properties": {
"ok": {
"type": "boolean"
}
},
"required": [
"ok"
],
"additionalProperties": true,
"$schema": "http://json-schema.org/draft-07/schema#"
}コミュニティ
エビデンス