Skip to main content
Glama
Payware MCP Server

Payware MCP Server

Official
by payware

payware_data_generate_report

Generates asynchronous merchant data reports for analysis; resolve the report ID from payware_data_list_reports, since access is production-only and entitlement-checked.

Instructions

[Merchant] Generate an asynchronous data report for merchant data analysis and reporting. Production only - not supported in sandbox.

⚠️ Running a report is entitlement-checked as of 2026-08-22. Naming a report answers 403 ERR_REPORT_NOT_AVAILABLE when that report is not included in the caller's plan or partner type. Until that date only the menu was filtered - the door was not - so a caller that hard-coded a report id it had never been offered could still run it, and may now start failing.

Always resolve the id from payware_data_list_reports rather than hard-coding one. That call and this check share a single rule, so the menu and the door cannot drift apart: if a report is in that list, this call will accept it.

Distinguish the two failures:

  • 403 ERR_REPORT_NOT_AVAILABLE - the report exists, this caller may not run it. Not retryable; it is a plan boundary, not a transient error.

  • 404 ERR_REPORT_UNIT_ID_NOT_FOUND - no report is registered under that id at all. Usually a typo or a stale id.

For an ISV acting on behalf of a merchant, the plan that applies is the merchant's, and reports are outside the Basic plan entirely.

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": {
      "reportUnitId": "<reportUnitId>"
    },
    "name": "payware_data_generate_report"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateToNoEnd date (YYYY-MM-DD). Optional: defaults to today.
localeNoLocale for the reporten_US
dateFromNoStart date (YYYY-MM-DD). Optional: defaults to today; the WTD, MTD and YTD reports compute their own start.
timeZoneNoTimezone for date calculations (e.g., 'Europe/Sofia', 'America/New_York')GMT
partnerIdNoPartner ID from payware dashboard. Uses PAYWARE_PARTNER_ID env var as default.partner_12345
privateKeyNoRSA private key for authentication. Uses production private key as default (Data API is production-only).
reportUnitIdYesThe ID of the report to generateprocessedTransactions
ignorePaginationNoIf true, return report as single continuous document. If false, paginate results.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.2.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations only declare readOnly=false, openWorld=true, idempotent=false, destructive=false; the description adds far more — asynchronous execution, entitlement gating, a dated behavior change, and the precise semantics of two failure modes. The 403 vs 404 distinction (plan boundary vs. bad id, one non-retryable) is exactly the kind of operational context structured fields cannot carry. It stops short of describing how the async result is later retrieved, which is the one remaining behavioral gap.

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?

The directive and environment constraint are front-loaded, and the error taxonomy is cleanly bulleted rather than buried in prose. It is on the long side, with a migration-era warning and heavy bold formatting that a caller only needs once, but nearly every sentence carries actionable content.

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?

For an 8-parameter, no-output-schema, asynchronous tool, the definition covers environment, auth defaults implied by the privateKey parameter, id sourcing, and error handling well. The notable omission is the follow-up path — nothing tells the agent that an async report must subsequently be polled or fetched via the status/export siblings — leaving the post-call flow to inference.

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; the description earns a step up by constraining reportUnitId in a way the schema cannot — that valid values are plan-dependent and must be sourced from payware_data_list_reports. It adds nothing for dateFrom/dateTo/locale/timeZone/partnerId/privateKey, but those are already documented in the schema.

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?

The first sentence names a specific verb and resource — 'Generate an asynchronous data report' — and scopes it to merchant data analysis, plus a production-only constraint. An agent can immediately tell this apart from payware_data_list_reports (menu) and the cancel/get/download siblings (lifecycle), without opening any schema.

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?

It gives an explicit directive — always resolve the id from payware_data_list_reports rather than hard-coding — and explains why the two share a rule. It also states the environment restriction (production only, not sandbox), the entitlement precondition, and that an ISV is bound by the merchant's plan, so the agent knows both when to use this and when the call will legitimately fail.

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