Skip to main content
Glama

PaidPilot Invoice Tools

Server Details

Invoice tools: reminders, late fees, terms, timesheets and a receivables health report (x402).

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.4/5.0

Scored across 7 tools

Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

Seven tools is well-scoped for an invoice calculation/drafting toolkit. Each tool covers a distinct step in the invoicing/payment lifecycle without redundancy.

Completeness4/5

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 tools
invoice_from_timesheetA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
buyerYes
notesNo
termsNoe.g. "Net 15"; sets due_date from issue_date (early-pay discounts are not applied to the invoice)
sellerYes
entriesYes
currencyNoUSD
discountNo
due_dateNoYYYY-MM-DD; or give terms instead
expensesNoReimbursable expenses, one line each
group_byNoentry = one line per entry; description = merge entries with the same description and rateentry
roundingNo
tax_rateNo
issue_dateYes
default_rateNoHourly rate for entries without their own rate
invoice_numberYes
payment_instructionsNo

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_calcA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNoDate paid, or the date to calculate to, YYYY-MM-DD (default: today, UTC)
stateNoUS state (2-letter) for the legal note
amountYesUnpaid invoice amount
currencyNoISO-4217, default USDUSD
due_dateYesInvoice due date, YYYY-MM-DD
fee_typeYesflat = one fixed fee; monthly_percent e.g. 1.5; annual_percent e.g. 18
flat_feeNoFlat fee; required for fee_type=flat, optional one-time add-on otherwise
grace_daysNoDays after the due date before any fee applies
compoundingNofalse = simple interest (default); true = compounds (monthly: per 30 days; annual: daily)
rate_percentNoRate for monthly_percent / annual_percent

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_draftA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toneYes"friendly" (alias "polite"), "firm", or "final"
as_ofNoToday's date for the days-overdue count, YYYY-MM-DD (default: today, UTC)
amountNoAmount due
currencyNoISO-4217, default USDUSD
due_dateNoYYYY-MM-DD
from_nameYesYour name or business, used in the sign-off
client_nameNoClient's name for the greeting
payment_linkNo
invoice_numberNo
late_fee_termsNoYour agreed late-fee terms, e.g. "1.5% per month"; mentioned in the final notice only
final_deadline_daysNoFinal notice: days the client has to pay

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_checkA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
as_ofNoDate to compute status for, YYYY-MM-DD (default: today, UTC)
termsYesPayment terms, e.g. "Net 30", "2/10 Net 30", "Due on receipt", "EOM", "Net 30 EOM"
amountNoInvoice total (optional; enables the discount math)
currencyNoISO-4217, default USDUSD
invoice_dateYesInvoice date, YYYY-MM-DD

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

pricingA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/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 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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_reportA
Read-onlyIdempotent
Inspect

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.

ParametersJSON 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

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.

validate_invoiceA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoiceYesInvoice object: from, to, number, issue_date, currency, line_items[{description, quantity, unit_price}], optional tax and discount

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

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, 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.

Purpose5/5

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.

Usage Guidelines4/5

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. 1 tool update
    • Addedreceivables_health_report
  2. 1 tool update
    • Changedvalidate_invoice1 field changed
      • addedInput schema / properties / invoice / description
        Added value: +"Invoice object: from, to, number, issue_date, currency, line_items[{description, quantity, unit_price}], optional tax and discount"
  3. 6 tool updates
    • First observedinvoice_from_timesheet
    • First observedlate_fee_calc
    • First observedpayment_reminder_draft
    • First observedpayment_terms_check
    • First observedpricing
    • First observedvalidate_invoice

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    AI-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.
    10
    52 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables 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.
    11
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables 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.
    3
    8 npm
    2
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources