Skip to main content
Glama

Download a person report as PDF

export_report_pdf

Render a person report as a PDF and return a download link. Costs 1 credit. The document carries the same fields as the inline report — identity, match confidence, phones with carrier and DNC status, household and addresses — plus the compliance notice inside the file, because a PDF someone saves has no conversation attached to it. The link expires after one hour; re-exporting the same person within that window returns the same file and is NOT charged again.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "searchId": "<searchId>",
      "personId": "<personId>"
    },
    "name": "export_report_pdf"
  }
}

Input Schema

NameRequiredDescriptionDefault
formatNoRendering of the human-readable text channel. "prose" (default) is a compact summary an agent can reason over; "json" repeats the data verbatim; "report" is a formatted Markdown report to show a person; "html" is a standalone HTML document for saving, printing or PDF. Machine-readable structuredContent is always included either way.
personIdYespersonId of the subject to export.
searchIdYessearchId returned by search_person.
idempotencyKeyNoOptional. Pass the same value when retrying a call that may have already succeeded, and you will not be charged twice.

Output Schema

NameRequiredDescriptionDefault
reusedYes
fileNameYes
mimeTypeYes
expiresAtYes
sizeBytesYes
newBalanceNo
downloadUrlYes
creditsChargedNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.1/5.0
Behavior5/5

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

Annotations only declare readOnlyHint=false, openWorldHint=false and destructiveHint=false. The description goes well beyond that: it discloses that the call costs 1 credit, that the returned link expires after one hour, and that re-exporting the same person in that window returns the same file without a second charge. That is exactly the kind of billing and cache behavior an agent cannot infer from structured fields.

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

Conciseness5/5

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

Four short sentences, front-loaded with what the tool does and what it costs, followed by content, expiry and idempotency in that order. The rationale for the embedded compliance notice ('a PDF someone saves has no conversation attached to it') is behavioral justification, not padding.

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

Completeness4/5

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

An output schema exists, so return values need no explanation, and the description covers cost, contents, expiry and caching for a mutating, credit-consuming export. It stops short of error behavior, such as what happens with an expired or unknown searchId or a personId outside that search, which is the remaining ambiguity for a tool that spends credits.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3 and every parameter is already documented. The description still adds real meaning by explaining the dedupe window behind idempotencyKey in terms of person-level re-export within an hour, which the schema's generic retry wording does not cover. It adds nothing about the confusingly present format enum, which for a PDF-export tool is the one parameter an agent might misread.

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

Purpose4/5

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

States a specific verb, resource and output format: render a person report as a PDF, return a download link, and it carries the same fields as the inline report. The format-specific framing separates it implicitly from the markdown sibling, but it never names export_report_markdown or states the rule that chooses between them.

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

Usage Guidelines3/5

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

The credit cost, one-hour expiry and free re-export window give the agent strong operational context, and 'the same fields as the inline report' implies it is a richer alternative to the inline view. What is missing is explicit routing: no sentence tells the agent when to pick PDF over export_report_markdown or when a PDF is inappropriate, so the choice is left to inference.

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.

Resources