Skip to main content
Glama

AICTIONBOT™ Werkbank

Find early-payment discounts (Skonto) that expire in the next days, and which payment run still catches them

check_discount_window
Read-onlyIdempotent

AICTIONBOT™ Skonto-Radar by KULIC Advisory. Takes an open-items list (invoices with discount terms) and optional clarification cases from other checks, and returns which discounts expire within the window, which are blocked by a payment hold or an open clarification, which are already lost, and the last payment run that still catches each one. Deterministic, no AI, nothing stored. Findings are written in German. Keys may be given in German (beleg, lieferant, bestellung, rechnungsdatum, eingang, betrag, skonto_pct, skonto_tage, netto_tage, skonto_bis, faellig, sperre) or English (document, supplier, order, invoice_date, received, amount, discount_percent, discount_days, net_days, discount_until, due, blocked).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "open_items": "<open_items>"
    },
    "name": "check_discount_window"
  }
}

Input Schema

NameRequiredDescriptionDefault
as_ofNoReference date, YYYY-MM-DD. Default today.
languageNo
open_itemsYesOpen invoices. Each item: document, supplier, order, invoice_date (YYYY-MM-DD or DD.MM.YYYY), received, amount (negative for credit notes), discount_percent, discount_days, net_days, discount_until, due, blocked (yes/no).
window_daysNoDays ahead that count as 'expiring soon'. Default 10.
clarificationsNoOptional open clarification cases from other checks: document, order, reason (grund), with (bei), result (ergebnis).
payment_run_weekdaysNoWeekdays of the payment runs, 1 = Monday. Default [2, 5] (Tuesday, Friday).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4/5.0
Behavior4/5

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

The annotations already mark it readOnly, idempotent, non-destructive, and closed-world, while the description adds that execution is deterministic, uses no AI, stores nothing, and reports expiring/blocked/lost discounts plus the last catching payment run. It is transparent about the analysis behavior and output categories, though not about response shape or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose and return categories are front-loaded after a branding line, and the alias list is information-dense. However, the marketing lead-in ('AICTIONBOT™ Skonto-Radar by KULIC Advisory') and long parenthetical enumeration weaken conciseness and structure without adding tool-selection value.

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 six-parameter, read-only analysis tool with no output schema, the description explains what is analyzed and the main categories returned: expiring, blocked, lost, and last payment run. Defaults and parameter details are largely covered by the schema, though output structure and the language behavior remain under-specified.

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?

With 83% schema description coverage the schema already documents most parameters, but the description adds useful meaning by spelling out German and English aliases for open-item keys (e.g., beleg/document, skonto_bis/discount_until) that are not in the schema. It does not clarify the language parameter and its statement that findings are in German sits awkwardly beside the de/en enum.

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?

The description states a specific verb and resource: it takes open-items and clarification data and returns expiring discounts, blocked/lost status, and the last payment run that catches each. That makes its scope clearly distinct from general invoice/payment checks in the sibling list, despite the branding lead-in.

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?

Use is implied by the input context (open-items list plus optional clarification cases from other checks) and by the return categories, but the description never states when to choose this tool over alternatives or when it is not appropriate. No explicit exclusions or sibling routing are provided.

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