accueil / serveurs / Finance & Paiement / io.paidpilot.api/invoice-tools
io.paidpilot.api/invoice-tools
serveur MCP (Model Context Protocol) · paidpilot-invoice-tools 1.2.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.paidpilot.api/invoice-tools est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.paidpilot.api/invoice-tools » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 7 outils
- invoice_from_timesheet≈ 1022 tokens
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.
Paramètres, retour & exemple (16)
Paramètresbuyer· object · requisnotes· string · optionnelterms· string · optionnel
e.g. "Net 15"; sets due_date from issue_date (early-pay discounts are not applied to the invoice)seller· object · requisentries· array · requiscurrency· string · optionneldiscount· number · optionneldue_date· string · optionnel
YYYY-MM-DD; or give terms insteadexpenses· array · optionnel
Reimbursable expenses, one line eachgroup_by· string · optionnel · entry | description
entry = one line per entry; description = merge entries with the same description and raterounding· object · optionneltax_rate· number · optionnelissue_date· string · requisdefault_rate· number · optionnel
Hourly rate for entries without their own rateinvoice_number· string · requispayment_instructions· string · optionnel
Exemple d'appel{"name": "invoice_from_timesheet", "arguments": {"buyer": {}, "seller": {}, "entries": [], "issue_date": "texte", "invoice_number": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - late_fee_calc≈ 548 tokens
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.
Paramètres, retour & exemple (10)
Paramètresas_of· string · optionnel
Date paid, or the date to calculate to, YYYY-MM-DD (default: today, UTC)state· string · optionnel
US state (2-letter) for the legal noteamount· number · requis
Unpaid invoice amountcurrency· string · optionnel
ISO-4217, default USDdue_date· string · requis
Invoice due date, YYYY-MM-DDfee_type· string · requis · flat | monthly_percent | annual_percent
flat = one fixed fee; monthly_percent e.g. 1.5; annual_percent e.g. 18flat_fee· number · optionnel
Flat fee; required for fee_type=flat, optional one-time add-on otherwisegrace_days· integer · optionnel
Days after the due date before any fee appliescompounding· boolean · optionnel
false = simple interest (default); true = compounds (monthly: per 30 days; annual: daily)rate_percent· number · optionnel
Rate for monthly_percent / annual_percent
Exemple d'appel{"name": "late_fee_calc", "arguments": {"amount": 1, "due_date": "texte", "fee_type": "flat"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - payment_reminder_draft≈ 531 tokens
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.
Paramètres, retour & exemple (11)
Paramètrestone· string · requis · friendly | polite | firm | final
"friendly" (alias "polite"), "firm", or "final"as_of· string · optionnel
Today's date for the days-overdue count, YYYY-MM-DD (default: today, UTC)amount· number · optionnel
Amount duecurrency· string · optionnel
ISO-4217, default USDdue_date· string · optionnel
YYYY-MM-DDfrom_name· string · requis
Your name or business, used in the sign-offclient_name· string · optionnel
Client's name for the greetingpayment_link· string · optionnelinvoice_number· string · optionnellate_fee_terms· string · optionnel
Your agreed late-fee terms, e.g. "1.5% per month"; mentioned in the final notice onlyfinal_deadline_days· integer · optionnel
Final notice: days the client has to pay
Exemple d'appel{"name": "payment_reminder_draft", "arguments": {"tone": "friendly", "from_name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - payment_terms_check≈ 373 tokens
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.
Paramètres, retour & exemple (5)
Paramètresas_of· string · optionnel
Date to compute status for, YYYY-MM-DD (default: today, UTC)terms· string · requis
Payment terms, e.g. "Net 30", "2/10 Net 30", "Due on receipt", "EOM", "Net 30 EOM"amount· number · optionnel
Invoice total (optional; enables the discount math)currency· string · optionnel
ISO-4217, default USDinvoice_date· string · requis
Invoice date, YYYY-MM-DD
Exemple d'appel{"name": "payment_terms_check", "arguments": {"terms": "texte", "invoice_date": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - pricing≈ 115 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "pricing", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - receivables_health_report≈ 700 tokens
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.
Paramètres, retour & exemple (6)
Paramètrescsv· string · optionnel
CSV 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_of· string · optionnel
Report date, default today (UTC)currency· string · optionnelinvoices· array · optionnel
Or JSON rows instead of CSVdefault_terms· string · optionnel
Used when a row has no due date and no termsrevenue_window_days· integer · optionnel
Window for DSO: invoiced amount in the last N days
Exemple d'appel{"name": "receivables_health_report", "arguments": {"csv": "texte", "as_of": "texte", "currency": "texte", "invoices": [], "default_terms": "texte", "revenue_window_days": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - validate_invoice≈ 205 tokens
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.
Paramètres, retour & exemple (1)
Paramètresinvoice· object · requis
Invoice object: from, to, number, issue_date, currency, line_items[{description, quantity, unit_price}], optional tax and discount
Exemple d'appel{"name": "validate_invoice", "arguments": {"invoice": {}}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».