MCP Tools
Every tool declares MCP annotations (readOnlyHint, destructiveHint, idempotentHint) so clients can gate confirmation UX correctly. Query tools are read-only and idempotent; action tools with destructiveHint: true accept a dry_run: true argument that fetches the target entity without mutating anything.
Query
Read-only tools that return raw business data. All support pagination vialimit and page.
Dates are
YYYY-MM-DD; the server validates format before hitting the engine.
Analytics
Reuse the merchant’s dashboard analytics.compute_metric and compare_periods share the same list of metric names.
Supported metric names:
mrr, arr, revenue / gross_revenue, net_revenue, platform_fees, arpu, arps, active_subscriptions, new_subscriptions, canceled_subscriptions, past_due_subscriptions, total_subscriptions, total_customers, churn_rate, retention_rate, payment_success_rate, payment_failure_rate, revenue_growth_percent, total_payment_attempts, successful_payments, failed_payments.
Action
Execute billing operations. Destructive tools supportdry_run: true.
Arguments are always the subscription or invoice UUID / code, plus
send_email on create_portal_link and dry_run on the destructive pair.
Report
Human-readable Markdown reports built on top of the analytics endpoint.
Both accept optional
from / to for the reporting window. Output is Markdown text so clients can render it directly in chats, Slack, or docs.