Skip to content
Agentmart
Submit a tool

JSONPad

Build and run a JSONPad backend: lists, items, indexes, write rules, schema sync, history, flows.

Connector by jsonpad.ioOfficial · Domain verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/jsonpad-io-api

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://mcp.jsonpad.io/api Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Build and run a JSONPad backend: lists, items, indexes, write rules, schema sync, history, flows.

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
16 read · 16 write · 5 delete · 1 not yet classified
Secrets
2 (API keys, tokens or passwords)
Install scripts
None found
Runs as
Node.js package

Tools by what they do 38

Read from the source code; the running server may list different tools.

Read 16 · Look things up without changing anything.

  • get_event
  • get_identity
  • get_item
  • get_list
  • get_stats
  • get_token_info
  • list_events
  • list_identities
  • list_indexes
  • list_items
  • list_lists
  • list_rule_denials
Show 4 more tools
  • plan_schema_sync
  • search_items
  • test_list_rules
  • wait_for_index

Write 16 · Create, change, send or run things.

  • apply_schema_sync
  • create_identity
  • create_index
  • create_item
  • create_list
  • merge_item_data
  • move_lists
  • patch_item_data
  • rebuild_index
  • replace_item_data
  • restore_item
  • run_flow
Show 4 more tools
  • update_identity
  • update_index
  • update_item
  • update_list

Delete 5 · Delete, drop, revoke or wipe things.

  • delete_identity
  • delete_index
  • delete_item
  • delete_item_data
  • delete_list

Not yet classified 1 · We could not tell from the name and description.

  • export_schema

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • Authorization
  • JSONPAD_API_TOKEN

Other settings (environment variables or headers).

  • JSONPAD_READ_ONLY
  • JSONPAD_TOOLSETS

Network hosts it talks to 1

  • mcp.jsonpad.io · found in remote endpoint, install command

Tools (38)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • apply_schema_syncApply a schema sync

    Create and update lists, indexes, write rules and flows to match a schema sync document. All or nothing: if any change would be refused, nothing is written and the plan says why. Run plan_schema_sync first and show the user the plan. With prune, it can also delete lists and indexes, so it needs confirmDestructive: true. Needs sync-schema plus the permission for each change; flows need a token that is allowed everything. Index builds it starts run in the background (wait_for_index). Suggest the user commits the document, so it can be deployed with jsonpad sync-schema. 1 request.

  • create_identityCreate an identity

    Create an identity (an end user of the user's app) with a name and password. Good for test users. A group that requires an email refuses an identity without one (IDENTITY_EMAIL_REQUIRED). Don't make up passwords for real people: ask the user. 1 request.

  • create_indexCreate an index

    Index a value in a list's items, to find items by it (alias), order, filter or search by it, or hide it from tokens (guard). The index is built in the background: until its buildStatus is ready, anything that uses it fails with INDEX_BUILDING. With wait: true this polls until it's built, at 1 metered request per poll (the result says how many). 1 request, plus the polls.

  • create_itemCreate an item

    Add an item to a list. The data is checked against the list's schema and its write rules (rule lookups cost 1 request per item they read). Strings in the data can be $jsonpad-var: variables, substituted when the item is saved, e.g. "$jsonpad-var:now", "$jsonpad-var:now(+5m)", "$jsonpad-var:uuid", "$jsonpad-var:random-integer(1, 100)" (see the docs for the rest). Returns the new item's metadata (and data with returnData) and its etag. 1 request.

  • create_listCreate a list

    Create a list. To set up several lists with indexes and rules, a schema sync document (plan_schema_sync, apply_schema_sync) is usually better. Rules that don't compile, or whose tests fail, refuse the whole create, with diagnostics in details. 1 request.

  • delete_identityDelete an identity

    Permanently delete an identity: it can no longer log in, and it can't be restored. Confirm with the user first. 1 request.

  • delete_indexDelete an index

    Delete an index. Item data is untouched, but ordering, filtering, searching and alias lookups that used it stop working. Deleting a guard index makes its values readable by every token that can read the list, so that's refused unless confirmUnguard is true. 1 request (plus 1 to check for a guard, if the list hasn't been read with get_list).

  • delete_itemDelete an item

    Delete an item. It can be brought back: list_events for the item with restorable: true finds its item-deleted event, and restore_item re-creates it with the same id. Pass the etag you read as ifMatch to delete only if nobody has changed it since. 1 request.

  • delete_item_dataDelete part of an item's data

    Remove the value at a pointer from an item's data (an object field or an array element). To delete the whole item, use delete_item. Pass the etag you read as ifMatch. 1 request.

  • delete_listDelete a list

    Permanently delete a list, with all of its items and indexes. Unlike an item, a deleted list can't be restored. The list disappears at once (its pathName is free again) and its contents are purged in the background. A protected list that still has items is refused. Confirm with the user first. 1 request.

  • export_schemaExport lists as a schema sync document

    The account's lists, their indexes and write rules (and, for a token that is allowed everything, its flows) as a schema sync document, keyed by pathName. The easiest way to start managing an existing account with schema sync. Filter by scope, tags or lists on big accounts. Needs the sync-schema permission, which alone is enough to read structure. 1 request.

  • get_eventGet an event

    One event, with its snapshot: the state of the resource after it happened. This is how to read an item version too old to fetch with get_item's version. Guarded values are left out of snapshots, as they are from item data. 1 request.

  • get_identityGet an identity

    One identity: its group, name, display name, tags, last login and whether it's activated. Email addresses aren't returned to API tokens. 1 request.

  • get_itemGet an item

    An item's metadata and data, or part of its data (pointer or path), at its current or an older version. Returns the etag to pass as ifMatch when writing a change based on what you read, and the guarded pointers whose values this token can't see. A version older than the plan keeps fails with ITEM_VERSION_NOT_RETAINED: read it from its event with get_event instead. 1 request, plus 1 the first time a list is used in a session (unless get_list was called).

  • get_listGet a list

    A list's metadata, JSON schema, flags, tags and itemCount, its write rules and rule tests (only for a token that can update the list), and its indexes with their buildStatus and a usage hint for each: what they sort, filter, search, alias or guard. The recommended first call before reading or writing an unfamiliar list. 2 requests (1 without indexes).

Show 23 more tools
  • get_statsGet stats

    Activity counts for a list, item, index or identity over the last days. List stats include how many writes the list's rules refused. 1 request.

  • get_token_infoGet the API token's permissions and usage

    What this server's API token may do (its permission rules, without the token value), the plan's limits, and the account's usage this month (requestCount, requestsRemaining, credits, storageBytes, storageAllowance, degraded). Also checks the token works. Call it first when anything fails with an authentication or permission error, and before a large batch of writes. 1 request.

  • list_eventsList events

    A page of the history of a list, item, index or identity: what happened, when, and at which version, without snapshots (get_event has them). For an item, restorable: true lists only the events restore_item can go back to, including the item-deleted event of a deleted item; this is how to find restore points. 1 request.

  • list_identitiesList identities

    A page of the account's identities: the end users of the user's apps, who log in with a name (or email) and password. Email addresses aren't returned to API tokens. 1 request.

  • list_indexesList a list's indexes

    A page of a list's indexes, each with its buildStatus and a usage hint. Filter by pathName to find one index. get_list includes every index too. 1 request.

  • list_itemsList a list's items

    A page of a list's items. Data is left out unless includeData (or path) is set. filters use the list's filtering indexes (get_list shows them), by pathName: string indexes match partially, number indexes take lt:, lte:, gt:, gte: (e.g. "gte:10"), date indexes take before: and after: (e.g. "before:2026-01-01"). order takes createdAt, updatedAt, alias, readonly, activated, or a sorting index's pathName. An index that is still building fails with INDEX_BUILDING. 1 request, plus 1 the first time a list's data is read in a session, to find its guard indexes (unless get_list was called).

  • list_listsList the lists

    A page of the account's lists that this token can see, with their flags, tags and item counts. Schemas and write rules are left out: get_list has them. 1 request.

  • list_rule_denialsList writes a list's rules refused

    The last 50 writes the list's write rules refused, newest first: when, which operation, which identity and token, the stage (allow: no rule authorised it, 403; require: a check failed, 400), and the statement and line that refused it. A refusal can take a moment to appear. Replay one with test_list_rules to see why. The token needs update on the list. 1 request.

  • merge_item_dataMerge into an item's data

    Deep-merge a value into an item's data, or into the value at pointer: fields you don't mention are left alone, so this is the safe way to change some fields, including on lists with guard indexes. Arrays are concatenated, not replaced (use patch_item_data or replace_item_data at the array's pointer to replace one). Pass the etag you read as ifMatch. 1 request.

  • move_listsMove lists between schema sync scopes

    Move lists to another schema sync scope, assign unmanaged lists to one, or release them (scope: null), with the indexes the scope manages. Choose lists by id or pathName, or every list of fromScope (e.g. to rename a scope). All or nothing. dryRun defaults to true: show the user the plan, then call again with dryRun: false. Needs the sync-schema permission. 1 request.

  • patch_item_dataPatch an item's data

    Apply JSON Patch (RFC 6902) operations to an item's data, or to the value at pointer (operation paths are then relative to it). Best for surgical edits: replacing an array element, removing a field, appending with path "/list/-". All operations apply, or none. Operations that write over a guarded value (or one of its parents) are refused unless overwriteGuarded is set, and the API refuses test, copy and move from guarded values. Pass the etag you read as ifMatch. 1 request.

  • plan_schema_syncPlan a schema sync

    What applying a schema sync document would do, without changing anything: each list, index and flow it would create, update, adopt, delete or leave alone, field by field, with warnings and errors, and blockedBy if it would be refused. Always call this before apply_schema_sync, and show the user the plan. The document is checked against the sync document schema locally first, at no cost. Needs the sync-schema permission. 1 request.

  • rebuild_indexRebuild a failed index

    Start a new build of an index whose last build failed, once the cause is fixed (failed builds are never retried by themselves). An index that isn't failed is refused with INDEX_BUILD_NOT_FAILED. With wait: true this polls until it's built, 1 request per poll. 1 request, plus the polls.

  • replace_item_dataReplace an item's data

    Replace an item's whole data, or the value at pointer. On a list with guard indexes, a replace that covers a guarded value would delete it (this token can't see it), so it's refused unless overwriteGuarded is set: use merge_item_data, patch_item_data or a narrower pointer instead. Pass the etag you read as ifMatch. 1 request (plus 1 to find the list's guard indexes, the first time).

  • restore_itemRestore an item

    Put an item back as it was at an event (item-created, item-updated, item-restored or item-deleted; find them with list_events and restorable: true), as a new version: its data, description, tags, readonly and activated. A deleted item is re-created with its original id (give it by id). Needs the token's restore permission; checked against the list's current schema and its write rules. Restoring twice makes two versions; restoring to the current version fails with ITEM_UNABLE_TO_RESTORE. 1 request.

  • run_flowRun a flow

    Call one of the account's endpoint flows, e.g. flow "deal" for /flows/deal, and return its status, body, headers and runId. A flow can do anything its owner can: it can write to any list (bypassing write rules unless it opts in to them) and send webhooks, so treat every call as a real action, and only run flows the user asked for. Everything a run writes is kept together or not at all; a failed run returns the flow's code, node and message, and the runId that finds it in the dashboard's run log. The token needs the run permission for the flow (run-with-identity when acting as an identity). Cos…

  • search_itemsSearch a list

    Full-text search (BM25) over the values of a list's searching indexes; at most 10 results, best first. A list without a searching index always finds nothing. Tags aren't searched: filter by tag with list_items. 1 request.

  • test_list_rulesTest a write against a list's rules

    A dry run of one write against a list's write rules (or candidate rules), using the list's live data: whether it would be allowed, which statement decided, and what every statement evaluated to. Nothing is written. Describe the write with itemId (the existing item, for update, delete and restore) and new, patch or merge. The token needs update on the list. 1 request, plus 1 per item the rules look up. To check syntax and the stored tests without live data, the JSONPad docs server's check_write_rules costs nothing.

  • update_identityUpdate an identity

    Change an identity; fields left out are left as they are. Setting a password logs the identity out on every device. 1 request.

  • update_indexUpdate an index

    Change an index; fields left out are left as they are. A new pointer or valueType starts a rebuild (the index is unusable until it finishes). Turning alias on is refused if values aren't unique or are too long. Turning guard on hides existing values from token reads at once. 1 request.

  • update_itemUpdate an item

    Change an item's metadata (description, tags, version, readonly, activated) and, with data, replace all of its data. To change only some of the data, use merge_item_data or patch_item_data. On a list with guard indexes, replacing the whole data would delete the values this token can't see, so it's refused unless overwriteGuarded is set. Pass the etag you read as ifMatch. 1 request (plus 1 to find the list's guard indexes, the first time).

  • update_listUpdate a list

    Change a list's fields; fields left out are left as they are. A new schema doesn't re-check existing items, but applies to later writes and restores. New rules apply from the next write, and the stored tests must pass first; rules: null removes them. readonly: true blocks writes to the list, its items and its indexes. 1 request.

  • wait_for_indexWait for an index to build

    Poll an index until its build is ready or has failed. Every poll is a metered request (starting 1 second apart, slowing to 10 seconds); the result says how many were made. A failed build is an error; running out of time returns timedOut: true with buildStatus "building".

Signals

Weekly downloads
12
Last release
Oct 1, 2026 (28 days ago)
Last package publish
Oct 1, 2026 (28 days ago)

From the package registry.

Details

Registry name
io.jsonpad/api
Version
0.1.0
Auth
Bearer token, API key
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from jsonpad.io

Cite this page

JSONPad MCP server. Agent Mart. https://agentmart.dev/connectors/jsonpad-io-api (last updated 2026-10-24)