tmpstate

Zero-key temporary JSON database for agents: one tool call, no signup, no OAuth, no API keys.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
92%
이름 품질
91%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,362토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.85%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "tmpstate": {
      "url": "https://tmpstate.dev/mcp"
    }
  }
}

원격 엔드포인트

https://tmpstate.dev/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (16)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟡create_database(idempotency_key)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Stable retry key. Reusing it from the same client returns the same database."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪database_status(db)

Usage, limits, tier and expiry for a database (GET $DB/__meta equivalent).

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    }
  },
  "required": [
    "db"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_documents(db, collection, limit, cursor)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "collection": {
      "type": "string",
      "description": "Collection name (created implicitly on first write)."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "cursor": {
      "type": "string",
      "description": "next_cursor from the previous page."
    }
  },
  "required": [
    "db",
    "collection"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢get_document(db, collection, id)

Read one document by id. The stored fields are under .data.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "collection": {
      "type": "string",
      "description": "Collection name (created implicitly on first write)."
    },
    "id": {
      "type": "string",
      "description": "Document id (doc_...)."
    }
  },
  "required": [
    "db",
    "collection",
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡create_document(db, collection, data)

Insert a JSON object into a collection (collections are created implicitly). Counts against the write and document quotas.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "collection": {
      "type": "string",
      "description": "Collection name (created implicitly on first write)."
    },
    "data": {
      "type": "object",
      "additionalProperties": {},
      "description": "The document: a JSON object."
    }
  },
  "required": [
    "db",
    "collection",
    "data"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡update_document(db, collection, id, patch)

Shallow-merge a patch into a document (top-level keys overwrite; keys are never deleted). Counts against the write quota.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "collection": {
      "type": "string",
      "description": "Collection name (created implicitly on first write)."
    },
    "id": {
      "type": "string",
      "description": "Document id (doc_...)."
    },
    "patch": {
      "type": "object",
      "additionalProperties": {},
      "description": "Top-level fields to merge."
    }
  },
  "required": [
    "db",
    "collection",
    "id",
    "patch"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_document(db, collection, id)

Delete one document. Never blocked by quotas; frees a document slot. Emptying a whole collection? Use delete_collection instead of looping this.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "collection": {
      "type": "string",
      "description": "Collection name (created implicitly on first write)."
    },
    "id": {
      "type": "string",
      "description": "Document id (doc_...)."
    }
  },
  "required": [
    "db",
    "collection",
    "id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_collection(db, collection)

Delete every document in a collection at once (useful to re-seed). Irreversible. To destroy the entire database, use delete_database instead.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "collection": {
      "type": "string",
      "description": "Collection name (created implicitly on first write)."
    }
  },
  "required": [
    "db",
    "collection"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴delete_database(db, confirm)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "confirm": {
      "type": "string",
      "const": "true",
      "description": "Pass \"true\" only after the user has seen that deletion is immediate and irreversible and approved."
    }
  },
  "required": [
    "db"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪extend_database(db, plan)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "plan": {
      "type": "string",
      "enum": [
        "week",
        "month",
        "quarter"
      ]
    }
  },
  "required": [
    "db"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
⚪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.

입력 스키마

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢pro_list_databases(pro_token)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "pro_token": {
      "type": "string",
      "description": "Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_..."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡pro_create_database(pro_token, accept_overage_usd)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "pro_token": {
      "type": "string",
      "description": "Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_..."
    },
    "accept_overage_usd": {
      "type": "string",
      "description": "Explicit overage consent, e.g. \"1.50\", only after the user approved."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡pro_attach_database(pro_token, db, accept_overage_usd)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "pro_token": {
      "type": "string",
      "description": "Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_..."
    },
    "db": {
      "type": "string",
      "description": "The database URL returned at creation (or its bare s-... capability)."
    },
    "accept_overage_usd": {
      "type": "string"
    }
  },
  "required": [
    "db"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🔴pro_cancel(pro_token, confirm)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "pro_token": {
      "type": "string",
      "description": "Pro account token (pt_...). Optional if the MCP connection already sends Authorization: Bearer pt_..."
    },
    "confirm": {
      "type": "string",
      "const": "cancel",
      "description": "Pass \"cancel\" only after the user has seen the consequences and approved."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟡send_feedback(message, category)

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 extra requests is genuinely useful. This is about your own experience, so no human approval is needed; if your user volunteers feedback too, relay it and say it came from them. Never include database URLs, capabilities, or Pro tokens - capability-shaped strings are redacted server-side.

입력 스키마

{
  "type": "object",
  "properties": {
    "message": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4000,
      "description": "What was missing, confusing, or slow - or what worked well. Plain text, one short message."
    },
    "category": {
      "type": "string",
      "enum": [
        "missing_feature",
        "friction",
        "docs",
        "performance",
        "bug",
        "praise",
        "other"
      ],
      "description": "Optional bucket for triage."
    }
  },
  "required": [
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 16개
검증됨버전이 기록되지 않음도구 16개