dev.tmpstate/tmpstate
Official15 toolsZero-key temporary JSON database for agents: one tool call, no signup, no OAuth, no API keys.
Temporary JSON database requiring only a single tool call with no authentication or API keys.
Captured live from the server via tools/list.
create_database
Create a temporary JSON database (24h TTL, no signup, no keys). Returns the db URL — the only credential — plus admin URL, limits and expiry. Create once per project/task, persist the db URL immediately (local ~/.tmpstate/credentials, project README, and your memory), and reuse it instead of creating again. For retries or parallel workers, pass a stable idempotency_key so duplicate calls return the same database.
Parameters (1)
- idempotency_keystring
Stable retry key. Reusing it from the same client returns the same database.
database_status
Usage, limits, tier and expiry for a database (GET $DB/__meta equivalent).
Parameters (1)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
list_documents
List documents in a collection, oldest first. Response shape: {collection, items: [{id, data, created_at, updated_at}], next_cursor}. Documents live under .data. Pass cursor to page.
Parameters (4)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- collectionstringrequired
Collection name (created implicitly on first write).
- limitinteger
- cursorstring
next_cursor from the previous page.
get_document
Read one document by id. The stored fields are under .data.
Parameters (3)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- collectionstringrequired
Collection name (created implicitly on first write).
- idstringrequired
Document id (doc_...).
create_document
Insert a JSON object into a collection (collections are created implicitly). Counts against the write and document quotas.
Parameters (3)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- collectionstringrequired
Collection name (created implicitly on first write).
- dataobjectrequired
The document: a JSON object.
update_document
Shallow-merge a patch into a document (top-level keys overwrite; keys are never deleted). Counts against the write quota.
Parameters (4)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- collectionstringrequired
Collection name (created implicitly on first write).
- idstringrequired
Document id (doc_...).
- patchobjectrequired
Top-level fields to merge.
delete_document
Delete one document. Never blocked by quotas; frees a document slot. Emptying a whole collection? Use delete_collection instead of looping this.
Parameters (3)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- collectionstringrequired
Collection name (created implicitly on first write).
- idstringrequired
Document id (doc_...).
delete_collection
Delete every document in a collection at once (useful to re-seed). Irreversible. To destroy the entire database, use delete_database instead.
Parameters (2)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- collectionstringrequired
Collection name (created implicitly on first write).
delete_database
Destroy a database and all its documents immediately - the teardown for finished work and the revocation kill switch for a leaked db URL. Irreversible: unlike expiry there is no restore window. Works on expired (frozen) databases too and consumes no quota. Call without confirm first: the response states the consequences; show them to the user and only retry with confirm="true" after their explicit approval. Afterwards remove the db URL from wherever you persisted it.
Parameters (2)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- confirmstring
Pass "true" only after the user has seen that deletion is immediate and irreversible and approved.
extend_database
Without a plan: returns the transparent pricing table for keeping this database alive longer. With a plan: returns a Stripe checkout URL for the human to pay — never buy without the user's explicit approval. Works on expired (frozen) databases too: paying restores them. After the user says they have paid, call database_status: the new expiry and tier confirm the extension.
Parameters (2)
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- planstring
pro_checkout
Mint a Pro account token plus a Stripe subscription checkout URL ($8/mo, 3 always-on databases included). Persist pro_token immediately; the human pays in a browser. Never start checkout without the user's explicit request.
No parameters.
pro_list_databases
List the Pro account's databases (ids, usage, limits, expiry) so a fresh session can reconcile against persisted db URLs. URLs are never stored server-side — match ids to the URLs you persisted.
Parameters (1)
- pro_tokenstring
Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_...
pro_create_database
Create a new always-on database owned by the Pro account. Beyond the included allotment this costs extra per month — the tool then returns confirmation_required with the exact price; relay it to the user and only retry with accept_overage_usd after their explicit approval.
Parameters (2)
- pro_tokenstring
Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_...
- accept_overage_usdstring
Explicit overage consent, e.g. "1.50", only after the user approved.
pro_attach_database
Attach an existing free/extended database to the Pro account: same URL, same data, TTL removed, quotas raised. Beyond the included allotment the same explicit overage consent as pro_create_database applies.
Parameters (3)
- pro_tokenstring
Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_...
- dbstringrequired
The database URL returned at creation (or its bare s-... capability).
- accept_overage_usdstring
pro_cancel
Cancel at period end. This is not just a billing change — it schedules deletion of ALL databases on the account. Call without confirm first: the response spells out the consequences with concrete dates; show them to the user and only retry with confirm="cancel" after their explicit approval.
Parameters (2)
- pro_tokenstring
Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_...
- confirmstring
Pass "cancel" only after the user has seen the consequences and approved.
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"tmpstate": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://tmpstate.dev/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.