Skip to main content
Glama
Pletopay MCP Server

Pletopay MCP Server

Official
by pletopay

Generate a CSV report

create_report

Generate a CSV report for payments, transfers, refunds, settlements, customers, invoices, or subscriptions over up to 366 days; poll or wait for report.ready, then download before it expires.

Instructions

Generate a CSV report.

Generate a CSV report for a period of up to 366 days (period_end is exclusive). Reports run in the background: poll the report or listen for report.ready, then download it. Amounts in the CSV are exact decimal naira and times are UTC. The file is available until the report’s expires_at. At most two reports generate at once per mode (429 reports_in_progress).

Input Schema

NameRequiredDescriptionDefault
typeYes
period_endYesExclusive; at most 366 days after period_start
period_startYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.4/5.0
Behavior5/5

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

Adds substantial behavior beyond the annotations: background execution model, the report.ready event, file retention tied to expires_at, exact decimal naira amounts, UTC timestamps, and a concurrency cap with the concrete error code 429 reports_in_progress. These are exactly the operational facts an agent cannot infer from the schema or the readOnly/idempotent hints.

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 tight sentences, front-loaded with the purpose, then constraints, then operational notes. Nothing is repeated and every sentence carries information the caller needs.

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?

With no output schema, the description carries the return-handling burden and does so well: it explains that a report is produced asynchronously, must be polled or awaited via an event, then downloaded before expiry. The one gap is that it never says what the create call itself returns (a report id/object), which the agent needs to poll or fetch.

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 only 33%, so the description has to compensate; it does explain the 366-day cap and that period_end is exclusive, though the schema already repeats the exclusivity note. The type enum (payments, transfers, refunds, settlements, balance_statement, customers, invoices, subscriptions) is never discussed, so an agent gets no guidance on which report type to pick.

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 (generate) and resource (CSV report) and immediately frames the async lifecycle: 'poll the report or listen for report.ready, then download it.' That phrasing implicitly separates this from the sibling read/download tools (get_report, download_report, list_reports), so an agent can place it in the workflow without opening a schema.

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

Usage Guidelines4/5

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

Gives clear context for when this is the right call (period-bounded report generation) and how to proceed afterward (poll or listen for report.ready, then download). It never explicitly names the alternative tools or states when NOT to use it, e.g. a single payment lookup should use get_payment rather than a report.

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

Deploy Server

Other Tools