TypeScript implementation for Moneybird accounts receivable management: open invoices, payment registration with duplicate detection, and webhooks
This server has significant definition quality gaps. Tool names lack consistent verb-noun structure (e.g., 'filterInvoices', 'registerPayment' mix patterns). Most descriptions are present but very brief (10-40 chars), below the 50-200 char baseline for LLM optimization. Input schemas exist but are sparse: many tools have empty input objects (getOpenInvoices, generateInvoiceSummary, getLastWebhookEvent) with no parameters documented. Parameter descriptions are minimal or missing type details. Output schemas are not documented anywhere in the source. Error handling is minimal, most functions return generic success/failure without recovery guidance. The webhook handler functions (handlePaymentRegistered, etc.) are defined in code but tool registration is not visible, so their actual MCP exposure is unclear.
Clear webhook log
Filter invoices by various criteria (late, amount, date)
Filter webhook log op type
Samenvattingsrapport openstaande facturen
Klantanalyse - betaalgedrag per bedrijf
Specifieke factuur ophalen
Haal laatste webhook event op
Openstaande facturen ophalen (open + late)
Empty input schemas on 8 tools (getOpenInvoices, getOpenInvoicesWithDetails, generateInvoiceSummary, getLastWebhookEvent, clearWebhookLog, handlePaymentRegistered, handleInvoiceUpdated, handleInvoicePaid, handleInvoiceOverdue).
Descriptions are too brief (10-50 chars) and lack LLM-optimization guidance. Baseline is 50-200 chars. Examples: 'Openstaande facturen ophalen (open + late)' (41 chars), 'Specifieke factuur ophalen' (26 chars). No WHEN to use, no prerequisites, no recovery hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 31 | 2026-07-28+ | v2 |
Alle openstaande facturen met details
Haal webhook log op
Webhook stats - returns total events, events by type, and last event time
Factuur achterstallig - webhook handler for sales_invoice_state_changed_to_late events
Factuur betaald - webhook handler for sales_invoice_state_changed_to_paid events
Factuur bijgewerkt - webhook handler for sales_invoice_updated events
Betaling geregistreerd - webhook handler for payment_registered events
Main webhook endpoint - processes Moneybird webhook events (payment_registered, sales_invoice_updated, sales_invoice_state_changed_to_paid, sales_invoice_state_changed_to_late)
Webhooks registreren (eenmalig)
Betaling registreren met duplicaatcontrole
Simuleer webhook event (voor testing)
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. Tools return objects but structure is not declared in tool definitions.
Error handling is minimal. Functions return generic {success: true/false, message: string} without recovery guidance.
Webhook handler functions (handlePaymentRegistered, handleInvoiceUpdated, etc.) are defined in code but tool registration is not visible in source.