Skip to main content
Glama

PaidPilot Invoice Tools

receivables_health_report

Read-onlyIdempotent

Grade the health of a business's accounts receivable from its invoice list. Send a CSV export (QuickBooks, Xero, FreshBooks, Wave, Stripe or any CSV with customer and amount columns; columns are auto-detected) or JSON rows, up to 1000 invoices. Returns an A-F grade and 0-100 score with reasons, aging buckets (current, 1-30, 31-60, 61-90, 90+ days), overdue %, weighted days outstanding, DSO, average days to pay, customer concentration, a collection priority list with the next action per overdue invoice (pointing to payment_reminder_draft and late_fee_calc), and recommendations. Use it for a monthly AR review or before chasing payments. Not accounting or legal advice. Pure calculation: no network request, nothing is sent or stored. Costs $1 USDC per call via x402 (payment goes in _meta["x402/payment"]); invalid input returns an error and is not charged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
csvNoCSV export (QuickBooks, Xero, FreshBooks, Wave, Stripe or your own). Header row required. Recognized columns: invoice number, customer, amount/total, amount paid, balance/open balance, invoice date, due date, terms, paid date, status.
as_ofNoReport date, default today (UTC)
currencyNoUSD
invoicesNoOr JSON rows instead of CSV
default_termsNoUsed when a row has no due date and no termsNet 30
revenue_window_daysNoWindow for DSO: invoiced amount in the last N days

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare a safe read-only, idempotent, non-destructive profile, but the description adds substantial context beyond them: pure calculation with no network request, nothing sent or stored, an x402 cost of $1 USDC per call via _meta, and that invalid input returns an error without charging. That is a rich behavioral picture an agent cannot infer from structured fields alone.

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?

Front-loaded with purpose followed by outputs, usage, and pricing; every section is load-bearing. The long enumeration of return metrics is justified because there is no output schema, though it could be tightened slightly.

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

Completeness5/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 full burden of describing returns and does so thoroughly — grade, score, aging buckets, overdue %, DSO, concentration, collection priority list with next action, and recommendations. Pricing and error behavior are also covered, leaving no material gap for correct invocation.

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 high (83%), so the schema already documents most parameters. The description still adds value by naming supported CSV sources, noting that columns are auto-detected, capping input at 1000 invoices, and clarifying the CSV/JSON row duality — meaning beyond the raw field list.

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 and resource ('Grade the health of a business's accounts receivable from its invoice list') and names the source data (invoice list/CSV/JSON). It also distinguishes itself from siblings by pointing to payment_reminder_draft and late_fee_calc as downstream actions rather than duplicating them.

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?

'Use it for a monthly AR review or before chasing payments' gives explicit triggering contexts, and the description routes the agent to payment_reminder_draft and late_fee_calc for next actions. It stops short of stating when NOT to use it or how it differs from payment_terms_check/validate_invoice.

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