Read-only Stripe reporting MCP for finance, ops, and risk visibility.
Stripe-reporting-mcp has 9 well-named, read-only tools with consistent verb_noun patterns (get_*, list_*). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas are present with types and enums for constrained fields. However, parameter descriptions are sparse or missing entirely across most tools, list_payments, list_customers, list_payouts, and get_reconciliation_report have null descriptions for 5+ parameters each. Output schemas are not documented in the source. Error handling is not visible in the tool definitions. No evidence of pagination metadata (total_count, next_cursor) in responses. Tools are read-only (low risk), but lack the depth of documentation expected for production use.
Return current available and pending balances grouped by currency.
Return a customer summary and the customer payment history.
Return the normalized details for a single payment, including refunds and disputes.
Return payment, refund, fee, and payout totals for reconciliation.
Return gross, refund, and net revenue totals for a time window.
Return derived finance and payment risk alerts for the selected time window.
List normalized customer records with derived payment summaries.
Parameter descriptions missing or null across list_* and pagination tools. list_payments has 7 parameters with null descriptions; list_customers, list_payouts similarly affected. LLMs cannot infer parameter meaning from names alone (e.g., 'from', 'to', 'status' are ambiguous without context).
Output schemas not documented in source code. Tool definitions show input schemas but no return type documentation. Agents cannot plan downstream calls or extract required fields (e.g., does list_payments return payment_id, customer_id, amount?).
Pagination parameters (limit, starting_after) present but no documentation of pagination behavior. No evidence of total_count, next_cursor, or has_more fields in responses. Large result sets risk context window exhaustion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
List normalized payment records with optional filtering and pagination.
List normalized payout records with optional filtering and pagination.
Error handling not visible in tool definitions. No evidence of recovery guidance, error classification (retryable vs. fatal), or actionable error messages. Agents will not know how to respond to failures.
Enum descriptions missing. get_revenue_summary.group_by and list_payments.status have enum values but no description text explaining what each option means (e.g., does 'pending' mean awaiting settlement or awaiting capture?).