Skip to main content
Glama
joosthel

sevdesk-mcp

by joosthel

Overdue invoices (receivables aging)

sevdesk_invoice_aging
Read-only

Lists open and partially paid invoices by days overdue, with outstanding balances, unsent drafts, and open invoices missing a send mark for receivables follow-up.

Instructions

Who owes you money and for how long: open and partially paid invoices bucketed by days overdue (invoice date + payment terms), the outstanding remainder per invoice, drafts that were never sent, and open invoices missing a send mark. Read-only.

Input Schema

NameRequiredDescriptionDefault
toNoEnd of period, dd.mm.yyyy or yyyy-mm-dd.
fromNoStart of period (invoice date), dd.mm.yyyy or yyyy-mm-dd.
maxItemsNoSafety cap (default 2000).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv0.5.0
    • addedInput schema / properties / maxItems / maximum
      Added value: +20000
    • addedInput schema / properties / maxItems / minimum
      Added value: +1
  2. First observedv0.4.0

TDQS

A3.7/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false), and the added method detail — buckets computed from invoice date plus payment terms — is genuine behavioral context beyond the schema. It also discloses that drafts and send-mark-missing invoices are included, which is non-obvious scope. It stops short of 5 by omitting performance/volume characteristics for an openWorldHint endpooint and any ordering of returned rows.

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 the business question ('Who owes you money and for how long'), then the composition of the report, then the read-only marker. It is a single dense sentence-list with little waste, though the long comma chain makes the enumeration slightly harder to parse than separate clauses would.

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 must convey the shape of the result, and it does: bucket dimensions, per-invoice remainder, and the two edge categories. Missing details are secondary (currency/total handling, sort order, whether bucket thresholds like 30/60/90 are fixed), which keeps it below 5.

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 100%, so 'to' (period end), 'from' (invoice date), and maxItems are already documented with formats and the default cap. The description adds no parameter-level detail beyond what the schema carries. Baseline 3 applies 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.

Purpose4/5

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

The description states precisely what the tool produces: open and partially-paid invoices bucketed by days overdue, outstanding remainder per invoice, unsent drafts, and invoices missing a send mark. That is far more specific than a bare 'invoice aging' restatement. It never names a sibling (e.g. list_invoices vs this aging report), so it falls short of a 5 on sibling differentiation.

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 by the output it promises (aging/receivables reporting) rather than stated. There is no explicit 'use this when…, use list_invoices instead for…' routing, and no prerequisites or exclusions. An agent can infer the use case but must guess the boundary against sevdesk_list_invoices and sevdesk_summarize.

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