PaidPilot Invoice Tools
Server Details
Invoice tools: reminders, late fees, terms, timesheets and a receivables health report (x402).
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 7 tools
Each tool has a distinct, clearly stated purpose (invoice creation, validation, terms, late fees, reminders, AR health, pricing). Cross-references in descriptions ('use X instead') further clarify boundaries, leaving no apparent overlap.
All names use snake_case and are descriptive, with a predominantly noun-phrase pattern. Minor deviations (validate_invoice, invoice_from_timesheet) break a strict verb_noun convention but remain readable and predictable.
Seven tools is well-scoped for an invoice calculation/drafting toolkit. Each tool covers a distinct step in the invoicing/payment lifecycle without redundancy.
The set covers invoice creation from timesheets, validation, payment terms, late fees, reminder drafting, and AR health analysis. Minor gaps include manual invoice creation from line items and a direct PDF generation tool (only an HTTP route is referenced).
Available Tools
7 toolsinvoice_from_timesheetARead-onlyIdempotentInspect
Turn time entries (hours x rate, with optional rounding, grouping by task and expenses) into a validated invoice JSON with totals, ready for POST /v1/invoice.pdf. Use validate_invoice (free) instead if you already have an invoice. Pure calculation: no network request, nothing is sent or stored. Costs $0.02 USDC per call via x402 (payment goes in _meta["x402/payment"]); invalid input returns an error and is not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| buyer | Yes | ||
| notes | No | ||
| terms | No | e.g. "Net 15"; sets due_date from issue_date (early-pay discounts are not applied to the invoice) | |
| seller | Yes | ||
| entries | Yes | ||
| currency | No | USD | |
| discount | No | ||
| due_date | No | YYYY-MM-DD; or give terms instead | |
| expenses | No | Reimbursable expenses, one line each | |
| group_by | No | entry = one line per entry; description = merge entries with the same description and rate | entry |
| rounding | No | ||
| tax_rate | No | ||
| issue_date | Yes | ||
| default_rate | No | Hourly rate for entries without their own rate | |
| invoice_number | Yes | ||
| payment_instructions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (readOnly, idempotent, non-destructive, closed-world), yet the description adds genuinely new operational context: it is a pure calculation with no network request, nothing is stored, it costs $0.02 USDC via x402 with the payment key location, and invalid input is errored without charge. That payment and billing-failure behavior is not derivable from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences lead with the core transformation and then layer the alternative, the no-side-effect guarantee, and the pricing/error model. Every clause carries information an agent needs; nothing is redundant padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, nested, no-output-schema tool this covers the essentials: what it produces, that it is side-effect free, the cost, and error handling. It only gestures at the return shape ('validated invoice JSON with totals'), which is thin given the absence of an output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 31% across 16 parameters, so the description is expected to compensate, and it partially does by naming hours x rate, rounding, grouping and expenses. However, it adds no meaning for currency, discount, tax_rate, notes, terms, payment_instructions or the buyer/seller sub-objects, leaving the coverage gap only partly closed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+transformation: 'Turn time entries ... into a validated invoice JSON with totals.' It also names the sibling it is not ('Use validate_invoice ... instead if you already have an invoice'), so an agent can distinguish it from the other six siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to validate_invoice with the selecting condition ('if you already have an invoice'), which is clear alternative guidance. It does not address the other calculation/payment siblings (pricing, late_fee_calc), so some ambiguity remains, but the primary branch point is covered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
late_fee_calcARead-onlyIdempotentInspect
Calculate the late fee on one overdue invoice: flat fee, monthly % or annual %, simple or compounding, with optional grace days. Returns days late, the fee, the new total and a line to paste on the invoice. Use payment_terms_check instead to work out when an invoice is due. Not legal advice; it does not look up state caps. Pure calculation: no network request, nothing is sent or stored. Costs $0.01 USDC per call via x402 (payment goes in _meta["x402/payment"]); invalid input returns an error and is not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | Date paid, or the date to calculate to, YYYY-MM-DD (default: today, UTC) | |
| state | No | US state (2-letter) for the legal note | |
| amount | Yes | Unpaid invoice amount | |
| currency | No | ISO-4217, default USD | USD |
| due_date | Yes | Invoice due date, YYYY-MM-DD | |
| fee_type | Yes | flat = one fixed fee; monthly_percent e.g. 1.5; annual_percent e.g. 18 | |
| flat_fee | No | Flat fee; required for fee_type=flat, optional one-time add-on otherwise | |
| grace_days | No | Days after the due date before any fee applies | |
| compounding | No | false = simple interest (default); true = compounds (monthly: per 30 days; annual: daily) | |
| rate_percent | No | Rate for monthly_percent / annual_percent |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, and the description adds context those fields cannot carry: pure in-process calculation with no network request and nothing sent or stored, a $0.01 USDC x402 charge with the payment location (_meta["x402/payment"]), and the billing behavior on invalid input (error, not charged). This is exactly the kind of pricing and side-effect disclosure an agent needs before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads what the tool does, then return values, then the sibling alternative, then caveats and cost. Every sentence carries distinct information (outputs, alternative, legal scope, purity, price); no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even without an output schema, the description names the return payload (days late, fee, new total, invoice line), covers the payment requirement and error/billing behavior, and disclaims legal-cap lookup. Nothing needed to call a 10-parameter calculation tool correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all ten parameters including fee_type enum semantics, compounding behavior and grace_days. The description restates the fee-structure options but adds no syntax or format detail beyond what the schema provides; baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (calculate) and resource (late fee on one overdue invoice) and enumerates the supported fee structures (flat, monthly %, annual %, simple/compounding, grace days). It explicitly differentiates from the sibling payment_terms_check, so an agent can route correctly without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit alternative and the condition that selects it: 'Use payment_terms_check instead to work out when an invoice is due.' It also adds a when-not caveat ('Not legal advice; it does not look up state caps'), which prevents misuse for statutory-cap questions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment_reminder_draftARead-onlyIdempotentInspect
Draft a payment reminder email for one unpaid invoice in a friendly, firm or final-notice tone. Returns a subject, plain-text body, days overdue and a suggested next step. Use late_fee_calc first if you want the fee amount quoted in the email. Draft only: nothing is sent. Pure calculation: no network request, nothing is sent or stored. Costs $0.01 USDC per call via x402 (payment goes in _meta["x402/payment"]); invalid input returns an error and is not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| tone | Yes | "friendly" (alias "polite"), "firm", or "final" | |
| as_of | No | Today's date for the days-overdue count, YYYY-MM-DD (default: today, UTC) | |
| amount | No | Amount due | |
| currency | No | ISO-4217, default USD | USD |
| due_date | No | YYYY-MM-DD | |
| from_name | Yes | Your name or business, used in the sign-off | |
| client_name | No | Client's name for the greeting | |
| payment_link | No | ||
| invoice_number | No | ||
| late_fee_terms | No | Your agreed late-fee terms, e.g. "1.5% per month"; mentioned in the final notice only | |
| final_deadline_days | No | Final notice: days the client has to pay |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds genuinely new operational context: the cost ($0.01 USDC via x402 with payment in _meta["x402/payment"]), that invalid input errors without charge, and that no network request or storage occurs. These are the kinds of billing and failure semantics an agent must know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose, return shape, prerequisite, and cost are all front-loaded in an efficient run of sentences with no filler. Minor redundancy between "Draft only: nothing is sent" and "nothing is sent or stored" costs it a point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, no-output-schema tool, the description covers everything material: the returned fields (subject, body, days overdue, suggested next step), the prerequisite chaining, the side-effect guarantee, pricing, and error/charge behavior. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 82%, so the schema already documents nearly all 11 parameters (tone, as_of, amount, currency, due_date, etc.). The description adds only the tone concept and the invoice framing, contributing little syntax or format meaning beyond what structured data supplies. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (draft), resource (payment reminder email), and scope (one unpaid invoice, three tone modes). It also names the sibling tool late_fee_calc and the condition for chaining, so an agent can distinguish it from invoice_from_timesheet or receivables_health_report without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use late_fee_calc first if you want the fee amount quoted" gives explicit sequencing guidance, and "Draft only: nothing is sent" implicitly routes agents elsewhere if they need actual delivery. No explicit when-not-to-use statement or exclusion of other siblings, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payment_terms_checkARead-onlyIdempotentInspect
Work out the due date and status for payment terms such as Net 30, 2/10 Net 30, Due on receipt, EOM or Net 30 EOM. Returns the early-payment discount amount and deadline, the annualized cost of skipping the discount, and suggested reminder dates. Use late_fee_calc once the invoice is overdue. Pure calculation: no network request, nothing is sent or stored. Costs $0.01 USDC per call via x402 (payment goes in _meta["x402/payment"]); invalid input returns an error and is not charged.
| Name | Required | Description | Default |
|---|---|---|---|
| as_of | No | Date to compute status for, YYYY-MM-DD (default: today, UTC) | |
| terms | Yes | Payment terms, e.g. "Net 30", "2/10 Net 30", "Due on receipt", "EOM", "Net 30 EOM" | |
| amount | No | Invoice total (optional; enables the discount math) | |
| currency | No | ISO-4217, default USD | USD |
| invoice_date | Yes | Invoice date, YYYY-MM-DD |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds substantial context beyond them: pure local calculation, no network request, nothing sent or stored, a $0.01 USDC x402 charge with the payment field location, and that invalid input is not charged. That is exactly the kind of non-obvious cost and side-effect information an agent needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads purpose and supported formats, then return values, then the sibling hand-off, then cost/error semantics. Every sentence carries distinct information with no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description usefully enumerates what comes back (discount amount and deadline, annualized cost of skipping the discount, suggested reminder dates) and also covers billing and error behavior. Nothing needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented, including the terms examples. The description repeats the same example terms ('Net 30', '2/10 Net 30', 'EOM') rather than adding new meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('work out the due date and status for payment terms') and enumerates supported term formats. It explicitly distinguishes itself from late_fee_calc, so an agent can separate it from siblings without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear usage condition (computing due date/status from terms) and an explicit hand-off rule: 'Use late_fee_calc once the invoice is overdue.' This is a named alternative with the condition that selects it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pricingARead-onlyIdempotentInspect
Free. Return the price of every paid tool and of the HTTP invoice PDF route, the payment network (Base) and the receiving address. No input, no network request, no payment.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=true, idempotent=true, destructive=false and openWorldHint=false; the description reinforces this by stating no network request and no payment, and adds the concrete return content (tool prices, Base network, receiving address). It stops short of describing the response shape (currency, per-tool structure), so it adds value without being exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the 'Free' signal, and each sentence carries useful information about cost, output, and side effects. Slight redundancy between 'Free' and 'no payment' is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by enumerating what is returned. It is adequate for a zero-parameter read tool, though a hint about the price format/currency would make it fully self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4. The description confirms 'No input', which is consistent with the empty schema and leaves no parameter ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Return') and precisely enumerates the resource: the price of every paid tool, the HTTP invoice PDF route, the payment network (Base), and the receiving address. This is clearly distinguishable from the invoicing-focused siblings and an agent can tell exactly what it retrieves without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The framing 'Free. No input, no network request, no payment' tells the agent this is a zero-cost, side-effect-free lookup safe to call anytime, which is meaningful usage context. There are no alternative pricing tools among the siblings to exclude against, so the missing explicit 'use this when...' clause is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
receivables_health_reportARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| csv | No | CSV 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_of | No | Report date, default today (UTC) | |
| currency | No | USD | |
| invoices | No | Or JSON rows instead of CSV | |
| default_terms | No | Used when a row has no due date and no terms | Net 30 |
| revenue_window_days | No | Window for DSO: invoiced amount in the last N days |
TDQS
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.
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.
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.
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.
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.
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.
validate_invoiceARead-onlyIdempotentInspect
Free. Validate an invoice JSON (the body for POST /v1/invoice.pdf, or the output of invoice_from_timesheet) and return computed subtotal, discount, tax and total, or a list of field errors. Same checks as the paid PDF route. Offline, no payment.
| Name | Required | Description | Default |
|---|---|---|---|
| invoice | Yes | Invoice object: from, to, number, issue_date, currency, line_items[{description, quantity, unit_price}], optional tax and discount |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, but the description adds real value: it is free, offline, requires no payment, and performs the identical checks as the paid PDF route. It also discloses the two possible return shapes (computed totals vs. field errors), which is more than the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with 'Free.' and immediately stating the action, input source, and outcomes. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter validator with nested input, no output schema, and full annotation coverage, the description supplies everything needed: the input origin, the two return cases, and the offline/no-payment behavior. Nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description goes beyond it by explaining where the invoice object comes from (body for POST /v1/invoice.pdf, or output of invoice_from_timesheet), which tells the agent the required level of well-formedness. It adds meaningful context without restating the field list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (validate) and resource (an invoice JSON), and clarifies which shape of input it accepts — the body for POST /v1/invoice.pdf or the output of invoice_from_timesheet. This lets an agent distinguish it from the generation siblings 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It makes the when clear: use this to run the same checks as the paid PDF route before committing, offline and free. It does not explicitly name alternatives to avoid (e.g. that this returns errors rather than generating a PDF), but the comparison to the paid route implies the intended pre-flight role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
receivables_health_report
1 tool update
- Changed
validate_invoice1 field changed- added
Input schema / properties / invoice / descriptionAdded value: +"Invoice object: from, to, number, issue_date, currency, line_items[{description, quantity, unit_price}], optional tax and discount"
6 tool updates
- First observed
invoice_from_timesheet - First observed
late_fee_calc - First observed
payment_reminder_draft - First observed
payment_terms_check - First observed
pricing - First observed
validate_invoice
Related MCP Connectors
Create, send and track invoices for freelancers and small businesses.
Accounts receivable for Xero and QuickBooks Online: customer replies, contacts and invoices.
Free quote and late-fee calculators, paid reminder emails and a $1 small-business tool stack report.
Statements of account, aging buckets and dunning letters from your invoices.
Related MCP Servers
- AlicenseAqualityBmaintenanceAI-powered invoice automation. Create PDF invoices, predict late payment risk 0-100, auto-send reminders, reconcile Stripe/PayPal payments, track cash flow. 10 MCP tools, 4 resources.1052 npmMIT
- AlicenseBqualityAmaintenanceAI-native business management — invoices, expenses, clients, products, quotes, and webhooks. 31 tools for Claude, Cursor, Windsurf, and Cline.100356 npm12MIT
- AlicenseAqualityBmaintenanceEnables users to track unpaid invoices and generate an escalating ladder of payment-reminder letters — first reminder, second reminder, and final notice — anchored to the due date, plus overdue listings, aging buckets, and a daily chase list of what to send today. It records payments and letters sent, rendering each letter as Markdown or printable HTML without ever emailing anything itself.11MIT
- AlicenseBqualityDmaintenanceEnables the generation of professional PDF invoices and their distribution via email using customizable templates. It allows users to create, manage, and send invoices with standard business fields like tax rates and line items through natural language.38 npm2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.