Skip to main content
Glama

Dunn

Server Details

Free invoice tools: due dates from payment terms, late fees, days late, payment reminder emails.

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
ChatGPT
–
Claude
–

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct core job: due-date calculation, lateness/status, late-fee calculation, and reminder-email drafting. The main overlap is that how_late_is_this_invoice also recommends what to send, while payment_reminder_email actually writes the message, so an agent could occasionally hesitate between them.

Naming Consistency3/5

All names use snake_case, which is consistent at the casing level. However, the patterns are mixed: one is a question-like phrase, while the others are noun phrases rather than a predictable verb_noun convention.

Tool Count5/5

Four tools is well-scoped for a focused invoice-reminder assistant. Each tool covers a distinct step in the workflow and none feels redundant or excessive.

Completeness5/5

The surface covers the key lifecycle pieces for payment reminders: due-date calculation, lateness assessment, late-fee calculation, and reminder-email generation across before-due, due-today, late, and final-notice stages. No obvious workflow dead end is apparent for the stated purpose.

Available Tools

4 tools
how_late_is_this_invoiceHow late is this invoice?B
Read-onlyIdempotent
Inspect

How many days late an invoice is (or until it is due), and what to send the client now and next, following a proven reminder schedule.

NameRequiredDescriptionDefault
todayNoToday's date, YYYY-MM-DD (defaults to today in New York)
due_dateYesA calendar date, YYYY-MM-DD

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds that the result includes reminder recommendations ('what to send the client now and next') following a 'proven reminder schedule' — useful output-shape context that annotations don't carry. However, the schedule itself is never characterized, so the added context stays vague.

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?

A single front-loaded sentence that leads with the primary computation. It is slightly overloaded by the trailing 'following a proven reminder schedule' clause, which reads as promotional rather than informative, but nothing is redundant enough to cut wholesale.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only two simple parameters and no output schema, the description needs to convey the return shape, and it partly does (day count plus current/next reminder suggestion). It leaves the actual structure of the reminder recommendation and the schedule stages unexplained, which is a meaningful gap for an agent that must decide how to use the result.

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%, including the note that `today` defaults to New York time, so the schema does the heavy lifting. The description's parenthetical '(or until it is due)' clarifies that past and future due dates are both handled, but it adds no format or interpretation detail beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete computation ('how many days late an invoice is (or until it is due)') plus a second output ('what to send the client now and next'). That is specific enough for an agent to know what it gets back. It stops short of distinguishing itself from the sibling payment_reminder_email, which appears to overlap on the 'what to send' half.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use guidance, no prerequisites, and no exclusions. With three siblings (invoice_due_date, late_fee_calculator, payment_reminder_email) plausibly applicable to the same task, the description never says which situation selects this tool over them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

invoice_due_dateDue date from payment termsA
Read-onlyIdempotent
Inspect

Exact due date for an invoice from its date and payment terms ("net 30", "due on receipt", "EOM", "net 30 EOM", "2/10 net 30"), including any early-payment discount date.

NameRequiredDescriptionDefault
termsYesPayment terms, e.g. "net 30"
invoice_dateYesA calendar date, YYYY-MM-DD

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, openWorldHint=false and destructiveHint=false, so safety is covered. The description adds that early-payment discount dates are also produced, which is useful behavior beyond the annotations, but it says nothing about what happens with unrecognized or malformed terms, nor whether a discount term like '2/10 net 30' yields multiple computed dates.

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?

A single front-loaded sentence: purpose first, then the parenthetical of supported formats, then the discount-date caveat. No filler, no repetition of the title, and no restatement of schema fields.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter pure calculation this is mostly sufficient, and the supported-term list removes the main ambiguity. However, with no output schema present, the description never says what is returned (a single YYYY-MM-DD string? a separate discount date field?), which leaves an agent guessing at the response shape for the '2/10 net 30' cases it advertises.

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 genuinely extends the 'terms' parameter by listing accepted forms ('net 30', 'due on receipt', 'EOM', 'net 30 EOM', '2/10 net 30') that the schema only gestures at with 'e.g. "net 30"'. That enumeration is real added meaning an agent would otherwise have to guess at.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-and-resource pair ('Exact due date for an invoice') and enumerates the term formats it understands, so an agent can immediately tell this is a payment-terms date calculator rather than a lateness or fee tool. It stops short of naming a sibling such as how_late_is_this_invoice or late_fee_calculator to draw the boundary explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the calculation framing: an agent can infer this is the tool to call when it has an invoice date and terms and needs the due date. There is no explicit when-to-use vs. when-not guidance, nor any statement that lateness or fee calculation belongs to the sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

late_fee_calculatorLate fee calculatorA
Read-onlyIdempotent
Inspect

Works out a late fee: the amount, the new total, the exact day it applies, a ready-to-use line for the invoice, and whether the fee is in the usual range.

NameRequiredDescriptionDefault
amountYesInvoice amount in US dollars
due_dateYesA calendar date, YYYY-MM-DD
fee_kindYesflat = a dollar amount, percent = % of the invoice
fee_valueYesDollars for flat (e.g. 25) or the percent for percent (e.g. 1.5)
grace_daysYesDays after the due date before the fee applies; 0 = the day after the due date

TDQS

A3.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, and closed-world, so the safety profile is covered. The description adds meaningful behavioral context by spelling out the returned outputs, including a range sanity check, which matters since no output schema exists. It stops short of explaining rounding rules or how 'usual range' is determined.

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?

A single well-structured sentence with the purpose front-loaded and the output list following. Every clause carries information; no filler. Slightly list-like but efficient.

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 responsibly enumerates the returned values, and the input schema fully documents the parameters. Minor gaps remain around currency handling beyond USD and the definition of the 'usual range' check, but the definition is sufficient to invoke the tool correctly.

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% and each parameter is documented with units and examples (USD, YYYY-MM-DD, flat vs percent, grace-day semantics). The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource ('works out a late fee') and enumerates exactly what is produced (amount, new total, applicable day, invoice line, range check). An agent can tell this is a calculation tool rather than a date or email tool. It does not explicitly differentiate itself from siblings like how_late_is_this_invoice, which keeps it from a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit guidance on when to use this versus how_late_is_this_invoice or payment_reminder_email, nor any stated prerequisites or exclusions. Usage is only implied by the purpose statement.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

payment_reminder_emailPayment reminder emailA
Read-onlyIdempotent
Inspect

Writes the right payment reminder for where the invoice is now (before due, due today, late, or a final notice), with subject line. Polite by default; firm on request.

NameRequiredDescriptionDefault
toneNo
todayNoA calendar date, YYYY-MM-DD
amountYesInvoice amount in US dollars
due_dateYesA calendar date, YYYY-MM-DD
late_feeNoThe agreed late-fee terms, e.g. "a $25 late fee applies if unpaid 7 days after the due date."
pay_linkNoPayment link to include, if any
client_nameYesThe client's name, as you'd greet them
sender_nameYesYour name, to sign the email
business_nameNo
invoice_numberNo

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds that output is composed email text with a subject line and that tone defaults to polite — useful, but it never states explicitly that nothing is sent, nor does it disclose how stage selection interacts with missing dates.

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?

Two compact sentences with no filler: the stage logic comes first, the tone default second. Every clause conveys information an agent would otherwise have to guess.

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

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 10 parameters, no output schema, and several optional fields (late_fee, pay_link, business_name, invoice_number), the description leaves the agent to infer what each optional field does to the generated email and what form the return value takes. It is adequate for the core call but thin for a tool with this many optional inputs.

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 coverage is 70%, so the schema carries most of the load. The description contributes real meaning for two parameters: tone ('polite by default; firm on request') and the implicit role of today vs. due_date in determining the reminder stage. It says nothing about late_fee, pay_link, business_name, or invoice_number beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Writes the right payment reminder') and enumerates the four invoice stages it handles, plus the inclusion of a subject line. An agent can tell this generates reminder copy rather than computing dates or fees, so the sibling calculators are effectively differentiated even though none is named.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the stage is chosen from where the invoice sits ('before due, due today, late, or a final notice'), which suggests feeding in the current date, and 'polite by default; firm on request' hints at the tone parameter. There is no explicit when-to-use vs. when-not-to-use or reference to the sibling tools that supply due-date and late-fee data.

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. 4 tool updates
    • First observedhow_late_is_this_invoice
    • First observedinvoice_due_date
    • First observedlate_fee_calculator
    • First observedpayment_reminder_email

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
    80 npm
    MIT
  • A
    license
    A
    quality
    A
    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
    0
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Invoice by Ouroboros Apps (https://ouroborosapps.com). Freelance invoice records: approved invoice line items, quantities, agreed rates, due dates, and late terms; invoice changes need explicit approval. Connect by pasting https://invoice-continuity2.vercel.app/mcp into Claude, Cursor, Grok, or ChatGPT developer mode (OAuth). Docs: https://ouroborosapps.com/docs/invoice
    14 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Create free, no-signup invoices from your AI assistant — the create_invoice tool returns a link that opens blankinvoicemaker.com pre-filled, ready to download as a watermark-free PDF.
    2
    40 npm
    1
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources