Zero-key temporary JSON database for agents: one tool call, no signup, no OAuth, no API keys.
Inferred from the transports this listing declares (streamable-http). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read from a real MCP initialize → tools/list handshake against the declared endpoint. No tool was ever invoked — tools/list is the read-only introspection call the protocol defines for this. It reflects what the server advertised at that moment; a hosted endpoint is not pinned to any version and can change without notice.
https://tmpstate.dev/mcp16 tools · 309mscreate_databaseCreate 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 creati…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 creati…
| Parameter | Type | Description |
|---|---|---|
| idempotency_key | string | Stable retry key. Reusing it from the same client returns the same database. |
database_statusUsage, limits, tier and expiry for a database (GET $DB/__meta equivalent).Usage, limits, tier and expiry for a database (GET $DB/__meta equivalent).
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
list_documentsList 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.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.
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| collection* | string | Collection name (created implicitly on first write). |
| limit | integer | — |
| cursor | string | next_cursor from the previous page. |
get_documentRead one document by id. The stored fields are under .data.Read one document by id. The stored fields are under .data.
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| collection* | string | Collection name (created implicitly on first write). |
| id* | string | Document id (doc_...). |
create_documentInsert a JSON object into a collection (collections are created implicitly). Counts against the write and document quotas.Insert a JSON object into a collection (collections are created implicitly). Counts against the write and document quotas.
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| collection* | string | Collection name (created implicitly on first write). |
| data* | object | The document: a JSON object. |
update_documentShallow-merge a patch into a document (top-level keys overwrite; keys are never deleted). Counts against the write quota.Shallow-merge a patch into a document (top-level keys overwrite; keys are never deleted). Counts against the write quota.
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| collection* | string | Collection name (created implicitly on first write). |
| id* | string | Document id (doc_...). |
| patch* | object | Top-level fields to merge. |
delete_documentprivilegedDelete one document. Never blocked by quotas; frees a document slot. Emptying a whole collection? Use delete_collection instead of looping this.Delete one document. Never blocked by quotas; frees a document slot. Emptying a whole collection? Use delete_collection instead of looping this.
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| collection* | string | Collection name (created implicitly on first write). |
| id* | string | Document id (doc_...). |
delete_collectionprivilegedDelete every document in a collection at once (useful to re-seed). Irreversible. To destroy the entire database, use delete_database instead.Delete every document in a collection at once (useful to re-seed). Irreversible. To destroy the entire database, use delete_database instead.
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| collection* | string | Collection name (created implicitly on first write). |
delete_databaseprivilegedDestroy 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 s…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 s…
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| confirm | string | Pass "true" only after the user has seen that deletion is immediate and irreversible and approved. |
extend_databaseWithout 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 hav…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 hav…
| Parameter | Type | Description |
|---|---|---|
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| plan | string | — |
pro_checkoutMint 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.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 input schema was published for this tool.
pro_list_databasesList 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.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.
| Parameter | Type | Description |
|---|---|---|
| pro_token | string | Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_... |
pro_create_databaseCreate 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.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.
| Parameter | Type | Description |
|---|---|---|
| pro_token | string | Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_... |
| accept_overage_usd | string | Explicit overage consent, e.g. "1.50", only after the user approved. |
pro_attach_databaseAttach 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.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.
| Parameter | Type | Description |
|---|---|---|
| pro_token | string | Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_... |
| db* | string | The database URL returned at creation (or its bare s-... capability). |
| accept_overage_usd | string | — |
pro_cancelCancel 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.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.
| Parameter | Type | Description |
|---|---|---|
| pro_token | string | Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_... |
| confirm | string | Pass "cancel" only after the user has seen the consequences and approved. |
send_feedbackOptional and free-form. TmpState is built for agents and the free tier stays free by getting better - and you, the agent, are the user whose experience matters here. After real use of a database, one short message about what was missing, what feature would have helped, or what felt slow or took ext…Optional and free-form. TmpState is built for agents and the free tier stays free by getting better - and you, the agent, are the user whose experience matters here. After real use of a database, one short message about what was missing, what feature would have helped, or what felt slow or took ext…
| Parameter | Type | Description |
|---|---|---|
| message* | string | What was missing, confusing, or slow - or what worked well. Plain text, one short message. |
| category | string | Optional bucket for triage. |
16 of 16 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Zero-key temporary JSON database for agents: one tool call, no signup, no OAuth, no API keys.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.
This entry publishes no npm package, so Forge has no dependency tree for it. That is a gap in coverage — not a statement that it has no dependencies.