Skip to main content
Glama

export_data

Export a complete copy of your account's data (GDPR Articles 15 and 20), or check on one. Owner only: sign in with start_login first (a connection with only an API key is refused user_session_required). The first call starts the export; it is prepared in the background, and the account owner is told by email (or on their login channel) with a link that downloads it only while they are signed in — this tool never returns the data itself. Call again to see whether it is ready: an export already preparing or ready is reported instead of starting another. One new export per 24 hours (no limit while the account is scheduled for deletion); the file is kept for 7 days. Pass export_id to read one export's status.

ACCESS: needs a Proof account. Authenticate this client (Claude Code: /mcp → Authenticate), or sign in with start_login — a session opens this tool — then call this tool again.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "export_data"
  }
}

Input Schema

NameRequiredDescriptionDefault
export_idNoRead this export's status instead of the latest one

Output Schema

NameRequiredDescriptionDefault
idNo
errorNo`too_large` — more than one download can carry (no partial file is ever produced; contact support); `internal` — a failure on our side (start a new export at once, the daily limit was given back)
countsNoRows per section of the file
latestNo
statusNo`preparing` while the job runs; `ready` once the file can be downloaded; `failed` with `error`
ready_atNo
receiptsNoReceipts of the account's downloads, newest first (the latest 20)
expires_atNoThe export and its file are deleted at this time — 7 days after the request
size_bytesNoSize of the compressed file as stored
requested_atNo
download_pathNoPath of the download route while `ready`, else null
downloaded_atNoThe first download, if any

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "counts": {
      +      "description": "Rows per section of the file"
      +    },
      +    "download_path": {
      +      "description": "Path of the download route while `ready`, else null"
      +    },
      +    "downloaded_at": {
      +      "description": "The first download, if any"
      +    },
      +    "error": {
      +      "description": "`too_large` — more than one download can carry (no partial file is ever produced; contact support); `internal` — a failure on our side (start a new export at once, the daily limit was given back)"
      +    },
      +    "expires_at": {
      +      "description": "The export and its file are deleted at this time — 7 days after the request"
      +    },
      +    "id": {},
      +    "latest": {},
      +    "ready_at": {},
      +    "receipts": {
      +      "description": "Receipts of the account's downloads, newest first (the latest 20)"
      +    },
      +    "requested_at": {},
      +    "size_bytes": {
      +      "description": "Size of the compressed file as stored"
      +    },
      +    "status": {
      +      "description": "`preparing` while the job runs; `ready` once the file can be downloaded; `failed` with `error`"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed1 schema field changed
    • removedInput schema / additionalProperties
      Removed value: -false
  3. Changed2 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / export_id
      Added value: +{
      +  "description": "Read this export's status instead of the latest one",
      +  "pattern": "^[a-f0-9]{24}$",
      +  "type": "string"
      +}
  4. First observed

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Goes far beyond the annotations: discloses that delivery happens by email/login channel, that the tool never returns the data itself, dedupe behavior (an in-flight or ready export is reported instead of starting another), a 24-hour rate limit lifted during account deletion, and a 7-day file retention. These are the exact constraints an agent would otherwise discover by failing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose, then constraints, then polling semantics; each sentence carries real information. The closing ACCESS paragraph partially repeats the start_login requirement already stated earlier, which is the only redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even though an output schema exists, the description clarifies the critical non-obvious return behavior (the file is delivered out-of-band, not returned by the tool) and covers auth, rate limits, and retention. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single optional parameter is already documented in the schema as 'Read this export's status instead of the latest one.' The description restates the same meaning ('Pass export_id to read one export's status') without adding format, validation, or defaulting behavior, so the schema does the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Export a complete copy of your account's data') plus the regulatory basis (GDPR Art. 15/20), and distinguishes itself from the sibling export_authorizations. An agent immediately knows this is the full-account export, not a scoped one.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the caller restriction (owner only), the prerequisite (sign in with start_login first; API-key-only connections are refused), and the two calling modes: first call starts, subsequent calls poll, and export_id selects a specific export. Alternatives and exclusion conditions are spelled out rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.