Skip to main content
Glama

Server Details

8 invoice/payment tools; 5 free, no login. IBAN, bank changes, Peppol. Paid VAT and invoice review.

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
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
victor-emmanuel-c/jithox-mcp
GitHub Stars
0
Server Listing
Jithox MCP

TDQS

A4.2/5.0

Scored across 8 tools

Disambiguation4/5

Most tools have clearly distinct purposes, and descriptions explicitly cross-reference alternatives such as kbo_company_search (one number) versus check_vat_list (up to 20 rows), and review_invoice versus check_peppol_ready. Minor overlap remains between check_payment_change and preflight_payment, and between Peppol readiness checks, but an agent can generally distinguish them from the documented boundaries.

Naming Consistency4/5

All names use snake_case and are mostly action-oriented (check_*, lookup_*, review_*, verify_*). Two names deviate slightly from a strict verb_noun pattern (kbo_company_search and preflight_payment), but the overall convention is predictable and readable.

Tool Count5/5

Eight tools is well-scoped for a payment and invoice compliance server, covering bank-change checks, VAT validation, Peppol readiness, participant lookup, invoice review, IBAN verification, and payment preflight. Each tool appears to earn its place without redundancy or triviality.

Completeness4/5

The surface covers the core compliance workflow: invoice review, VAT list and single-company checks, Peppol readiness and participant lookup, IBAN structure verification, supplier bank-change checks, and payment preflight. Some gaps remain, such as full official Peppol validation or bank-account ownership verification, but these limitations are explicitly documented and the main paths are supported.

Available Tools

8 tools
check_payment_changeCheck a supplier bank changeA
Read-only
Inspect

Check a supplier's bank-detail change before the vendor record is touched: returns no_change, verify_first, stop or invalid_new_account with call-back steps. It never says an account is safe. Free, no token.

ParametersJSON Schema
NameRequiredDescriptionDefault
newIbanYesThe account number in the change request, as written — spaces and dashes are fine, e.g. "DE89 3704 0044 0532 0130 00".
ibanOnFileNoThe account currently on the vendor record.
supplierCountryNoISO 3166-1 alpha-2 country where the supplier is established, e.g. BE.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes
evidenceNoSigned decision evidence, present when a signing key is configured.

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), and the description adds genuine context beyond that: the critical caveat that it 'never says an account is safe', plus cost/auth facts ('Free, no token') and the call-back-steps behavior. This is exactly the extra context the annotations cannot convey.

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 dense sentence, front-loaded with the action and scope, then the outputs, then the reassurance that it never certifies safety. No wasted words.

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

Completeness5/5

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

An output schema exists, so return values need not be spelled out — yet the description still names the four verdicts, which helps the agent interpret results. Combined with the safety caveat and cost note, an agent has everything needed to call this read-only check 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%, with each parameter (newIban, ibanOnFile, supplierCountry) fully documented including a format example, so the schema already carries the semantics. The description adds no parameter-level meaning beyond that, making the baseline 3 appropriate.

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?

States a specific verb and resource — check a supplier's bank-detail change — and scopes it with 'before the vendor record is touched', clearly separating it from sibling account-validation tools like verify_iban. It even enumerates the possible verdicts, so an agent knows exactly what the tool produces.

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

Usage Guidelines4/5

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

Gives a clear usage window ('before the vendor record is touched') and the verdict vocabulary tells the agent what each outcome means. However, it never names an alternative sibling (e.g. verify_iban or preflight_payment) or states when NOT to use it, so the routing guidance is contextual rather than explicit.

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

check_peppol_readyCheck Peppol invoice readinessA
Read-only
Inspect

Check your own invoice against 21 published Peppol BIS Billing 3.0 rules, and whether the customer's Peppol address is registered; each finding names the rule and the fix. A listed subset, not the official validator. Free, no token.

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNo
currencyNoThree-letter currency code (BT-5), e.g. EUR.
customerNoThe customer, the receiver.
supplierNoYou, the sender.
totalVatNoTotal VAT (BT-110).
issueDateNoThe issue date (BT-2).
totalWithVatNoInvoice total including VAT (BT-112).
invoiceNumberNoThe invoice number (BT-1).
buyerReferenceNoThe reference the customer asked you to put on the invoice (BT-10). Peppol requires this OR an order reference.
orderReferenceNoThe purchase order number (BT-13).
documentChargesNoCharges on the WHOLE invoice, e.g. freight (BG-21).
totalWithoutVatNoInvoice total excluding VAT (BT-109).
documentAllowancesNoDiscounts on the WHOLE invoice, not on one line (BG-20).

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes

TDQS

A4/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, openWorldHint true), so credit goes to what the text adds: the check covers only a listed subset ('not the official validator'), each finding names rule and fix, and it is 'Free, no token' — a cost/latency signal not derivable from annotations or schema. It does not disclose rate limits or partial-failure behavior.

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, front-loaded with what is checked and immediately qualified by its validation limit. Every clause earns its place; nothing is repeated from the schema or annotations.

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 13-parameter, nested-object tool with an output schema, the description supplies purpose, coverage bounds, and cost, and the output schema handles return format. The remaining gap is workflow context — that a Peppol address should be resolved via lookup_peppol_participant before calling this — which is only hinted at inside the schema.

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 92%, so the schema already carries per-field meaning (BT references, EAS codes, endpointId usage rules). The description contributes nothing field-specific, which is acceptable at this coverage level but not additive.

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?

States a specific verb (check) against a named, bounded standard (21 published Peppol BIS Billing 3.0 rules) plus a second concrete action (customer's Peppol address registration). This is clearly distinguishable from sibling lookup_peppol_participant, which only resolves a participant, and from review_invoice/check_vat_list.

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: an agent infers this is a pre-send readiness check on 'your own invoice'. There is no explicit when-to-use/when-not framing versus siblings such as review_invoice, and no stated prerequisite (e.g. run lookup_peppol_participant first) in the description itself.

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

check_vat_listCheck EU VAT numbersA
Read-only
Inspect

Check up to 20 rows of EU VAT numbers in EU VIES, row for row; a malformed or non-EU row is judged locally (not_covered, never invalid). UNKNOWN COSTS NOTHING, and the balance must cover the whole call (20 credits for 20 rows) before it runs. Optional requesterVatId adds a consultation number registered to you; a requester VIES refuses costs nothing. 1 credit (EUR 0.01) per answered row; needs a bearer token.

ParametersJSON Schema
NameRequiredDescriptionDefault
rowsYesThe list: 1 to 20 rows per call.
requesterVatIdNoYour OWN EU VAT number with country prefix (e.g. BE0403170701). Never stored.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes
billingYes

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the readOnlyHint/openWorldHint annotations: UNKNOWN results cost nothing, the balance must cover the whole call upfront (20 credits for 20 rows), a refused requester VIES costs nothing, billing is 1 credit per answered row, and a bearer token is required. This is exactly the cost/auth/failure-mode context an agent needs before calling.

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-loads the operation, then cost and auth constraints, with no filler sentences. The prose is very dense and crams pricing, auth, and requester behavior into a few long clauses, which costs a little readability but every sentence earns its place.

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

Completeness5/5

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

With an output schema present, return values need no explanation; the description still covers cost model, batch limits, auth, and the not_covered verdict rule. Nothing material is missing for an agent to call this correctly.

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 adds real meaning: requesterVatId attaches a consultation number registered to the requester, and a requester the VIES refuses is free. The row-level `counted-per-answered-row` semantics also clarify how the array size maps to cost.

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?

States a specific verb and resource ('Check up to 20 rows of EU VAT numbers in EU VIES, row for row') with the batch scope and the upstream registry named. An agent can immediately distinguish this from siblings like verify_iban or lookup_peppol_participant.

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

Usage Guidelines4/5

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

Explains the key behavioral rule for use — malformed or non-EU rows are judged locally as `not_covered` and never `invalid` — and when to pass requesterVatId (to get a consultation number registered to you). It does not explicitly route the agent away from or toward sibling tools, so it stops short of full when/when-not guidance.

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

lookup_peppol_participantLook up a Peppol receiverA
Read-only
Inspect

Ask live Peppol registers about e-invoice reception, document types and failure contacts; never guarantees delivery. Not a VAT or company-register check; use kbo_company_search (one company) or check_vat_list (a list). Free, no token.

ParametersJSON Schema
NameRequiredDescriptionDefault
schemeNoThe four-digit Peppol scheme the number is registered under, when you know it: "0208" for a Belgian enterprise number (the mandatory primary scheme for Belgian businesses), "9925" for a Belgian VAT number, "0192" for a Norwegian organisation number.
identifierYesEnterprise/VAT number ("BE 0403.170.701" or "0403170701"), <scheme>:<id>, or iso6523-actorid-upis::<scheme>:<id>.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false. The description adds meaningful non-structured context: it queries LIVE registers, it 'never guarantees delivery' (an important expectation-setting caveat), and it is free with no token/auth needed. Missing only depth on failure modes, but the coverage is strong.

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 dense sentences, front-loaded with purpose followed by the routing caveat. Every clause earns its place: reception/docs/contacts, the delivery caveat, and the sibling redirection.

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

Completeness5/5

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

Output schema exists (so return format needn't be described), annotations cover the safety profile, and the description supplies the remaining essentials: what it queries, the reliability caveat, cost/auth, and how it differs from the two sibling checks. Nothing needed to call it correctly is missing.

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%, so the schema already documents scheme codes and the accepted identifier formats in detail. The description adds no parameter-level syntax or format information beyond what the schema provides, making the baseline 3 appropriate.

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?

Names a specific verb+resource (ask live Peppol registers about a receiver), states exactly what it returns (e-invoice reception, document types, failure contacts), and explicitly distinguishes itself from register-check siblings. An agent can identify it immediately without opening the schema.

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

Usage Guidelines5/5

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

Explicitly says what it is NOT (a VAT or company-register check) and names the alternatives with their conditions: kbo_company_search for one company, check_vat_list for a list. The when-not/alternative guidance is fully spelled out.

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

preflight_paymentCheck before a paymentA
Read-only
Inspect

For a structured invoice, call review_invoice first. Before paying, compare the supplied human approval with the payment and run rail checks (invoice: IBAN, account change). Without approved: review_required or stop, never no_blockers_found. Returns checks and signed evidence. Never pays; unrun checks never pass. Free, no token.

ParametersJSON Schema
NameRequiredDescriptionDefault
railYesPayment fields are always required, approved fields only when approved is supplied: approved.amount and payment.amount/currency (not x402); invoice_bank also approved.payee.name, payment.iban/payeeName; card_or_giftcard approved.payee.merchant, payment.merchant/instrument; crypto_bridge approved.payee.merchant, payment.provider/merchant; x402 approved.amountAtomic/asset/network/payee.payTo, payment.challenge/resourceUrl.
checksNoOpt-in registers, run only on a connected door.
invoiceNoThe invoice as review_invoice takes it.
mandateNo
paymentYes
approvedNoOnly supply what a human explicitly approved in this conversation or a supplied approval record; NEVER construct it from the payment request itself; omit it when there is no approval.
ibanOnFileNoThe account on the vendor record.
instructionSourceNoOnly supply what a human explicitly approved in this conversation or a supplied approval record; NEVER construct it from the payment request itself; omit it when there is no approval.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes
evidenceNoSigned decision evidence, present when a signing key is configured.

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint, destructiveHint=false), yet the description adds substantial behavior: it never pays, unrun checks never pass, it returns signed evidence, it is free with no token, and it defines a forbidden success state when no approval is supplied. That is exactly the kind of context annotations cannot carry.

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?

Very compact and front-loaded with the prerequisite, and the cost note ('Free, no token') earns its place. The telegraphic style ('Without approved: review_required or stop') is dense enough to risk ambiguity for an unfamiliar reader.

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?

An output schema exists, so return values need not be explained, and the description still notes checks plus signed evidence. For a complex 8-parameter tool with nested objects, it covers prerequisites, failure states, and side-effect freedom well, though rail-specific input requirements are left entirely to the schema.

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 75% and the schema already documents rail-specific required fields and the approved/instructionSource rules. The description still adds the core relationship semantics: approval must be compared against the payment, and the invoice rail specifically checks IBAN and account change. This meaningfully supplements the schema without repeating it.

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 action (compare supplied approval with the payment and run rail checks) and a clear precondition (review_invoice first for structured invoices). It distinguishes itself from review_invoice by sequencing, but does not explicitly separate itself from the sibling check_payment_change, which overlaps with the 'account change' check it mentions.

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

Usage Guidelines5/5

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

Gives explicit ordering (call review_invoice first for a structured invoice), the condition for use (before paying), and the required outcome state without an approval (review_required or stop, never no_blockers_found). An agent knows both when to call it and what result to expect.

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

review_invoiceReview an invoiceA
Read-only
Inspect

Check a structured invoice: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. Never sends; unanswered VAT is unknown. No receiver lookup here. If the receiver has a Peppol address, next call check_peppol_ready with this invoice. 8 credits (EUR 0.08) per review the VAT register answered; needs a bearer token.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNo
linesYes
dueDateNo
paymentNoPayment instruction carried by the invoice, when it names an IBAN.
currencyNoISO 4217 currency code (uppercase).
customerYesBuyer / accounting customer party, including an optional draft e-mail recipient.
supplierYesSeller / accounting supplier party, including an optional IBAN for the payment check.
totalVatNoCaller-stated total VAT (BT-110), used by the arithmetic rule checks.
issueDateYes
totalWithVatNoCaller-stated invoice total including VAT (BT-112), used by the arithmetic rule checks.
invoiceNumberYesHuman-readable invoice number, e.g. "INV-2026-0001".
buyerReferenceNoBuyer reference (BT-10), e.g. a PO or cost-centre code.
orderReferenceNoPurchase order reference (BT-13). Peppol requires this OR a buyer reference.
totalWithoutVatNoCaller-stated invoice total excluding VAT (BT-109), used by the arithmetic rule checks.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes
billingYes

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true. The description adds value beyond them: 'Never sends', that unanswered VAT is reported as unknown, a rate limit/cost ('8 credits (EUR 0.08) per review the VAT register answered') and an auth requirement ('needs a bearer token'). This is meaningful behavioral context, though it stays terse about what a result contains beyond 'fixes and UBL XML'.

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?

Dense and front-loaded: purpose first, then constraints, then routing, then cost/auth. Every clause carries information, though the telegraphic style makes 'fixes' ambiguous and the cost clause is slightly awkwardly worded.

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 complex nested-schema tool with an output schema present, the description covers the essentials an agent needs: side-effect profile, cost model, auth prerequisite, and next-step routing. Only the exact meaning of 'fixes' and the shape of the review verdict are left implicit, which the output schema presumably carries.

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 71% with 14 parameters and rich field-level descriptions (BT codes, EAS schemes, unit codes), so the schema carries most of the semantic load. The description only groups them loosely ('Peppol fields, totals, EU VIES VAT'), adding no syntax or mapping detail, which is the expected baseline 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.

Purpose5/5

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

States a specific verb (check/review) on a specific resource (structured invoice) and enumerates the checks performed: Peppol fields, totals, EU VIES VAT, fixes and UBL XML. It also carves out the boundary against siblings by noting 'No receiver lookup here', so an agent can distinguish it from lookup_peppol_participant and check_peppol_ready without reading schemas.

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

Usage Guidelines5/5

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

Gives explicit when-to-use routing: 'If the receiver has a Peppol address, next call check_peppol_ready with this invoice.' It also states what not to expect ('No receiver lookup here') and the safety posture ('Never sends'), leaving little to inference.

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

verify_ibanCheck an IBANA
Read-only
Inspect

Check an IBAN's structure and check digits for 70+ countries, offline. It never claims the account exists or who owns it. Free, no token.

ParametersJSON Schema
NameRequiredDescriptionDefault
ibanYesThe account number to check, as written — spaces and dashes are fine, e.g. "BE68 5390 0754 7034".
expectedCountryNoOptional ISO 3166-1 alpha-2 country of the party being paid.

Output Schema

ParametersJSON Schema
NameRequiredDescription
dataYes
kindYes

TDQS

A4.5/5.0
Behavior5/5

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

Annotations cover the safety profile (readOnlyHint=true, destructiveHint=false, openWorldHint=false), and the description adds substantial context beyond them: the check is performed offline, requires no token, is free, and explicitly does not assert account existence or ownership. That tells the agent exactly what kind of answer to expect and what it cannot rely on.

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?

Three short sentences, front-loaded with the core action and scope, followed by the limitation and the cost/auth note. No filler, no repetition of the title.

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

Completeness5/5

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

With annotations covering safety and an output schema covering return values, the description only needs to add scope, environment (offline/no token), and result limits — all of which it does. Nothing an agent needs to call this correctly is missing.

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%, so both parameters (iban format tolerance, optional expectedCountry) are already documented in the schema. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.

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?

States a specific verb and resource (check an IBAN) plus the exact scope of the check: structure and check digits, 70+ countries, offline. This is unambiguous next to siblings like check_vat_list or lookup_peppol_participant, which operate on different identifiers.

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

Usage Guidelines4/5

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

The description draws a clear boundary on what the result means ('never claims the account exists or who owns it'), which tells the agent when this tool's answer is sufficient and when it is not. It does not, however, name an alternative tool to use for ownership/account existence checks, so it stops short of full routing guidance.

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. 2 tool updates
    • Changedcheck_peppol_ready2 fields changed
      • changedInput schema / properties / customer / properties / endpointId / description
        Previous value: -"The party's Peppol address — the identifier the network delivers to, e.g. a Belgian enterprise number."New value: +"The customer's literal UBL EndpointID value, e.g. \"0403170701\": from lookup_peppol_participant copy data.endpointId here, NEVER its whole participantId when endpointScheme is set. Checked as written, NEVER rewritten: another spelling is another address."
      • changedInput schema / properties / customer / properties / endpointScheme / description
        Previous value: -"The four-digit EAS code the address is stated under, e.g. \"0208\" for a Belgian enterprise number."New value: +"The four-digit EAS code the address is stated under, e.g. \"0208\" for a Belgian enterprise number: from lookup_peppol_participant copy data.endpointScheme here."
    • Changedlookup_peppol_participant1 field changed
      • changedInput schema / properties / identifier / description
        Previous value: -"The customer's enterprise or VAT number, as written on the invoice — \"BE 0403.170.701\", \"0403170701\" and \"BE0403170701\" are all accepted."New value: +"Enterprise/VAT number (\"BE 0403.170.701\" or \"0403170701\"), <scheme>:<id>, or iso6523-actorid-upis::<scheme>:<id>."
  2. 1 tool update
    • Changedpreflight_payment4 fields changed
      • addedInput schema / properties / approved / description
        Added value: +"Only supply what a human explicitly approved in this conversation or a supplied approval record; NEVER construct it from the payment request itself; omit it when there is no approval."
      • addedInput schema / properties / instructionSource / description
        Added value: +"Only supply what a human explicitly approved in this conversation or a supplied approval record; NEVER construct it from the payment request itself; omit it when there is no approval."
      • changedInput schema / properties / rail / description
        Previous value: -"Required: approved.amount and payment.amount/currency (not x402); invoice_bank also approved.payee.name, payment.iban/payeeName; card_or_giftcard approved.payee.merchant, payment.merchant/instrument; crypto_bridge approved.payee.merchant, payment.provider/merchant; x402 approved.amountAtomic/asset/network/payee.payTo, payment.challenge/resourceUrl."New value: +"Payment fields are always required, approved fields only when approved is supplied: approved.amount and payment.amount/currency (not x402); invoice_bank also approved.payee.name, payment.iban/payeeName; card_or_giftcard approved.payee.merchant, payment.merchant/instrument; crypto_bridge approved.payee.merchant, payment.provider/merchant; x402 approved.amountAtomic/asset/network/payee.payTo, payment.challenge/resourceUrl."
      • changedInput schema / required
        Previous value: -[
        -  "rail",
        -  "approved",
        -  "payment"
        -]New value: +[
        +  "rail",
        +  "payment"
        +]
  3. 1 tool update
    • Changedcheck_vat_list1 field changed
      • changedInput schema / properties / rows / maxItems
        Previous value: -200New value: +20
  4. 1 tool update
    • Changedcheck_peppol_ready2 fields changed
      • addedInput schema / properties / documentAllowances
        Added value: +{
        +  "description": "Discounts on the WHOLE invoice, not on one line (BG-20).",
        +  "items": {
        +    "properties": {
        +      "amount": {
        +        "description": "The amount, excluding VAT (BT-92 for an allowance, BT-99 for a charge).",
        +        "type": "number"
        +      },
        +      "reason": {
        +        "description": "Why, e.g. \"Discount\" or \"Freight\".",
        +        "type": "string"
        +      },
        +      "vatPercent": {
        +        "description": "The VAT rate it is taxed at, e.g. 21 (BT-96 / BT-103).",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 100,
        +  "type": "array"
        +}
      • addedInput schema / properties / documentCharges
        Added value: +{
        +  "description": "Charges on the WHOLE invoice, e.g. freight (BG-21).",
        +  "items": {
        +    "properties": {
        +      "amount": {
        +        "description": "The amount, excluding VAT (BT-92 for an allowance, BT-99 for a charge).",
        +        "type": "number"
        +      },
        +      "reason": {
        +        "description": "Why, e.g. \"Discount\" or \"Freight\".",
        +        "type": "string"
        +      },
        +      "vatPercent": {
        +        "description": "The VAT rate it is taxed at, e.g. 21 (BT-96 / BT-103).",
        +        "type": "number"
        +      }
        +    },
        +    "type": "object"
        +  },
        +  "maxItems": 100,
        +  "type": "array"
        +}
  5. 12 tool updates
    • Removedanalyze_kbo_financials
    • Removedcheck_vat_list_format
    • Removedcore_condition
    • Removeddraft_social_content
    • Removedfetch_web_markdown
    • Removedfile_to_data_inspect
    • Removedfile_to_data_transform
    • Removedformat_peppol_invoice
    • Removedgenerate_pdf_invoice
    • Removedmonitor_sources
    • Removedparse_receipt_vision
    • Removedtranscribe_and_slice_audio
  6. 1 tool update
    • Changedreview_invoice16 fields changed
      • removedInput schema / properties / currency / default
        Removed value: -"EUR"
      • changedInput schema / properties / customer / description
        Previous value: -"Buyer / accounting customer party."New value: +"Buyer / accounting customer party, including an optional draft e-mail recipient."
      • addedInput schema / properties / customer / properties / email
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / customer / properties / endpointScheme / description
        Previous value: -"Endpoint scheme id (EAS code)."New value: +"Endpoint scheme id (EAS code), e.g. \"0208\" for a Belgian enterprise number or \"0088\" for a GLN."
      • addedInput schema / properties / lines / items / properties / lineNetAmount
        Added value: +{
        +  "description": "Caller-stated line total excluding VAT (BT-131), used by the shared Peppol arithmetic rules.",
        +  "type": "number"
        +}
      • addedInput schema / properties / lines / items / properties / lineTotal
        Added value: +{
        +  "description": "Caller-stated line total excluding VAT, compared with quantity × unit price by this review.",
        +  "type": "number"
        +}
      • removedInput schema / properties / lines / items / properties / unitCode / default
        Removed value: -"EA"
      • changedInput schema / properties / lines / items / properties / unitCode / description
        Previous value: -"UN/ECE Rec 20 unit code."New value: +"UN/ECE Rec 20 unit code, e.g. \"HUR\"."
      • removedInput schema / properties / lines / items / properties / vatPercent / default
        Removed value: -0
      • addedInput schema / properties / payment
        Added value: +{
        +  "description": "Payment instruction carried by the invoice, when it names an IBAN.",
        +  "properties": {
        +    "iban": {
        +      "description": "IBAN written on the invoice.",
        +      "type": "string"
        +    }
        +  },
        +  "type": "object"
        +}
      • changedInput schema / properties / supplier / description
        Previous value: -"Seller / accounting supplier party."New value: +"Seller / accounting supplier party, including an optional IBAN for the payment check."
      • changedInput schema / properties / supplier / properties / endpointScheme / description
        Previous value: -"Endpoint scheme id (EAS code)."New value: +"Endpoint scheme id (EAS code), e.g. \"0208\" for a Belgian enterprise number or \"0088\" for a GLN."
      • addedInput schema / properties / supplier / properties / iban
        Added value: +{
        +  "description": "IBAN written on the invoice.",
        +  "type": "string"
        +}
      • addedInput schema / properties / totalVat
        Added value: +{
        +  "description": "Caller-stated total VAT (BT-110), used by the arithmetic rule checks.",
        +  "type": "number"
        +}
      • addedInput schema / properties / totalWithVat
        Added value: +{
        +  "description": "Caller-stated invoice total including VAT (BT-112), used by the arithmetic rule checks.",
        +  "type": "number"
        +}
      • addedInput schema / properties / totalWithoutVat
        Added value: +{
        +  "description": "Caller-stated invoice total excluding VAT (BT-109), used by the arithmetic rule checks.",
        +  "type": "number"
        +}
  7. 1 tool update
    • Addedpreflight_payment
  8. 19 tool updates
    • Changedanalyze_kbo_financials3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / vatNumber / minLength
        Removed value: -1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_payment_change7 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / ibanOnFile / description
        Previous value: -"The account currently on the vendor record. Leave it out for a first registration; the answer then says nothing could be compared."New value: +"The account currently on the vendor record."
      • removedInput schema / properties / ibanOnFile / maxLength
        Removed value: -64
      • removedInput schema / properties / newIban / maxLength
        Removed value: -64
      • removedInput schema / properties / newIban / minLength
        Removed value: -1
      • changedInput schema / properties / supplierCountry / description
        Previous value: -"ISO 3166-1 alpha-2 country where the supplier is established, e.g. BE. When given, an account issued elsewhere is a red flag."New value: +"ISO 3166-1 alpha-2 country where the supplier is established, e.g. BE."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "evidence": {
        +      "description": "Signed decision evidence, present when a signing key is configured.",
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_peppol_ready16 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / buyerReference / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / endpointId / maxLength
        Removed value: -60
      • removedInput schema / properties / customer / properties / name / description
        Removed value: -"The party's name as it appears on the invoice."
      • removedInput schema / properties / customer / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / invoiceNumber / maxLength
        Removed value: -120
      • changedInput schema / properties / issueDate / description
        Previous value: -"The issue date (BT-2). Peppol requires YYYY-MM-DD."New value: +"The issue date (BT-2)."
      • removedInput schema / properties / lines / description
        Removed value: -"The invoice lines."
      • removedInput schema / properties / lines / items / properties / description / maxLength
        Removed value: -400
      • changedInput schema / properties / orderReference / description
        Previous value: -"The purchase order number (BT-13). The alternative to a buyer reference."New value: +"The purchase order number (BT-13)."
      • removedInput schema / properties / orderReference / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / endpointId / maxLength
        Removed value: -60
      • removedInput schema / properties / supplier / properties / name / description
        Removed value: -"The party's name as it appears on the invoice."
      • removedInput schema / properties / supplier / properties / name / maxLength
        Removed value: -200
      • changedInput schema / properties / totalWithoutVat / description
        Previous value: -"Invoice total excluding VAT (BT-109). Supply it and the arithmetic rules are checked."New value: +"Invoice total excluding VAT (BT-109)."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_vat_list8 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / requesterVatId / description
        Previous value: -"Your OWN EU VAT number with country prefix (e.g. BE0403170701). When given, the European Commission issues a consultation number per answered row, registered to you. Optional. Never stored."New value: +"Your OWN EU VAT number with country prefix (e.g. BE0403170701). Never stored."
      • changedInput schema / properties / rows / description
        Previous value: -"The list: 1 to 20 rows per call. A longer list is refused with the limit named — send it in parts of 20."New value: +"The list: 1 to 20 rows per call."
      • changedInput schema / properties / rows / items / properties / reference / description
        Previous value: -"Your own label for the row — a customer number, a name. Optional, at most 80 characters. It is echoed back, never interpreted."New value: +"Your own label for the row — a customer number, a name. It is echoed back, never interpreted."
      • removedInput schema / properties / rows / items / properties / reference / maxLength
        Removed value: -200
      • changedInput schema / properties / rows / items / properties / vatId / description
        Previous value: -"The VAT number as written, WITH its two-letter country prefix, e.g. \"BE0400378485\" or \"NL 8558.76.323.B01\". Spaces, dots and dashes are fine."New value: +"The VAT number as written, WITH its two-letter country prefix, e.g. \"BE0400378485\" or \"NL 8558.76.323.B01\"."
      • removedInput schema / properties / rows / items / properties / vatId / maxLength
        Removed value: -200
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedcheck_vat_list_format7 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / rows / description
        Previous value: -"The list: 1 to 20 rows per call. A longer list is refused with the limit named — send it in parts of 20."New value: +"The list: 1 to 20 rows per call."
      • changedInput schema / properties / rows / items / properties / reference / description
        Previous value: -"Your own label for the row — a customer number, a name. Optional, at most 80 characters. It is echoed back, never interpreted."New value: +"Your own label for the row — a customer number, a name. It is echoed back, never interpreted."
      • removedInput schema / properties / rows / items / properties / reference / maxLength
        Removed value: -200
      • changedInput schema / properties / rows / items / properties / vatId / description
        Previous value: -"The VAT number as written, WITH its two-letter country prefix, e.g. \"BE0400378485\" or \"NL 8558.76.323.B01\". Spaces, dots and dashes are fine."New value: +"The VAT number as written, WITH its two-letter country prefix, e.g. \"BE0400378485\" or \"NL 8558.76.323.B01\"."
      • removedInput schema / properties / rows / items / properties / vatId / maxLength
        Removed value: -200
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changedcore_condition6 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / label / description
        Removed value: -"Optional human label, e.g. \"High-value invoice?\"."
      • removedInput schema / properties / label / maxLength
        Removed value: -120
      • changedInput schema / properties / left / anyOf
        Previous value: -[
        -  {
        -    "maxLength": 2000,
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "number"
        +  }
        +]
      • changedInput schema / properties / right / anyOf
        Previous value: -[
        -  {
        -    "maxLength": 2000,
        -    "type": "string"
        -  },
        -  {
        -    "type": "number"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "type": "number"
        +  }
        +]
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changeddraft_social_content21 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / avoidSignatures
        Removed value: -{
        -  "description": "Compact signatures of this agent's recent posts — the deterministic anti-repetition gate drops any draft too similar to one of these.",
        -  "items": {
        -    "properties": {
        -      "at": {
        -        "maxLength": 40,
        -        "type": "string"
        -      },
        -      "excerpt": {
        -        "maxLength": 200,
        -        "type": "string"
        -      },
        -      "sig": {
        -        "items": {
        -          "maxLength": 12,
        -          "type": "string"
        -        },
        -        "maxItems": 40,
        -        "type": "array"
        -      }
        -    },
        -    "required": [
        -      "sig",
        -      "excerpt",
        -      "at"
        -    ],
        -    "type": "object"
        -  },
        -  "maxItems": 24,
        -  "type": "array"
        -}
      • removedInput schema / properties / bannedClaims / items / maxLength
        Removed value: -200
      • removedInput schema / properties / bannedClaims / items / minLength
        Removed value: -1
      • removedInput schema / properties / campaign
        Removed value: -{
        -  "description": "Active campaign goal + CTA policy, when one is running.",
        -  "maxLength": 200,
        -  "type": "string"
        -}
      • removedInput schema / properties / context / maxLength
        Removed value: -12000
      • removedInput schema / properties / contract
        Removed value: -{
        -  "description": "The agent's JOB CONTRACT (purpose/audience/outcome/done).",
        -  "maxLength": 700,
        -  "type": "string"
        -}
      • removedInput schema / properties / facts / maxLength
        Removed value: -600
      • removedInput schema / properties / feedbackNote
        Removed value: -{
        -  "description": "Real recorded owner behaviour on this agent's recent work.",
        -  "maxLength": 600,
        -  "type": "string"
        -}
      • removedInput schema / properties / format
        Removed value: -{
        -  "description": "The post shape to write in (e.g. how-to, story, question).",
        -  "maxLength": 24,
        -  "type": "string"
        -}
      • removedInput schema / properties / learnings
        Removed value: -{
        -  "description": "Real recorded outcomes (never invented) to improve on.",
        -  "maxLength": 800,
        -  "type": "string"
        -}
      • removedInput schema / properties / minAnchors
        Removed value: -{
        -  "description": "Concrete-detail floor per post (escalates on owner feedback).",
        -  "maximum": 2,
        -  "minimum": 1,
        -  "type": "integer"
        -}
      • removedInput schema / properties / ownerUpdate
        Removed value: -{
        -  "description": "The owner's own news ('we shipped X') — the post's core material when present.",
        -  "maxLength": 600,
        -  "type": "string"
        -}
      • removedInput schema / properties / pillar
        Removed value: -{
        -  "description": "Today's editorial pillar for these drafts.",
        -  "maxLength": 60,
        -  "type": "string"
        -}
      • removedInput schema / properties / recentNote
        Removed value: -{
        -  "description": "Prompt note listing recent posts the model must not repeat.",
        -  "maxLength": 1200,
        -  "type": "string"
        -}
      • removedInput schema / properties / requireFreshBasis
        Removed value: -{
        -  "description": "Currency-dependent agents: refuse (honestly, before any model spend) when no fresh signals exist to work from.",
        -  "type": "boolean"
        -}
      • removedInput schema / properties / signals
        Removed value: -{
        -  "description": "Recent signals from the tenant's APPROVED sources, with trust tiers. Posts that use one must cite its ref in their sources array.",
        -  "items": {
        -    "properties": {
        -      "date": {
        -        "maxLength": 12,
        -        "type": "string"
        -      },
        -      "label": {
        -        "maxLength": 60,
        -        "type": "string"
        -      },
        -      "ref": {
        -        "maxLength": 8,
        -        "minLength": 1,
        -        "type": "string"
        -      },
        -      "summary": {
        -        "maxLength": 240,
        -        "type": "string"
        -      },
        -      "tier": {
        -        "enum": [
        -          "approved_fact",
        -          "user_material",
        -          "observed_external"
        -        ],
        -        "type": "string"
        -      },
        -      "title": {
        -        "maxLength": 120,
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "ref",
        -      "label",
        -      "tier",
        -      "date",
        -      "title",
        -      "summary"
        -    ],
        -    "type": "object"
        -  },
        -  "maxItems": 6,
        -  "type": "array"
        -}
      • removedInput schema / properties / tone / maxLength
        Removed value: -80
      • removedInput schema / properties / topic / description
        Removed value: -"What the posts should be about, in one or two sentences."
      • removedInput schema / properties / topic / maxLength
        Removed value: -500
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedfetch_web_markdown3 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / url / maxLength
        Removed value: -2000
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedfile_to_data_inspect14 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / content / description
        Previous value: -"The file's TEXT, for CSV / delimited text / JSON / NDJSON. Give this OR contentBase64. At most 3 MiB."New value: +"The file's TEXT, for CSV / delimited text / JSON / NDJSON. Give this OR contentBase64."
      • removedInput schema / properties / content / maxLength
        Removed value: -3145728
      • changedInput schema / properties / contentBase64 / description
        Previous value: -"The file's BYTES, base64-encoded — required for .xlsx, fine for any format. Give this OR content. At most 3 MiB of file."New value: +"The file's BYTES, base64-encoded — required for .xlsx, fine for any format. Give this OR content."
      • removedInput schema / properties / contentBase64 / maxLength
        Removed value: -4259840
      • changedInput schema / properties / fileName / description
        Previous value: -"The file's name, e.g. \"prices.csv\". Only its extension is used (.csv .tsv .txt .xlsx .xlsm .json .ndjson); it is never stored or logged."New value: +"The file's name, e.g. \"prices.csv\"."
      • removedInput schema / properties / fileName / maxLength
        Removed value: -255
      • changedInput schema / properties / headerRow / description
        Previous value: -"The row number of the header row, counted from 1. Default: the first row that holds anything."New value: +"The row number of the header row, counted from 1."
      • changedInput schema / properties / sheet / anyOf
        Previous value: -[
        -  {
        -    "maxLength": 255,
        -    "type": "string"
        -  },
        -  {
        -    "maximum": 999,
        -    "minimum": 0,
        -    "type": "integer"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "maximum": 999,
        +    "minimum": 0,
        +    "type": "integer"
        +  }
        +]
      • changedInput schema / properties / sheet / description
        Previous value: -"XLSX only: the sheet's name exactly as written, or its position starting at 0. Default: the first sheet."New value: +"XLSX only: the sheet's name exactly as written, or its position starting at 0."
      • removedInput schema / properties / targetSchema / additionalProperties
        Removed value: -{}
      • removedInput schema / properties / targetSchema / properties
        Removed value: -{}
      • removedInput schema / properties / targetSchemaId / maxLength
        Removed value: -64
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changedfile_to_data_transform19 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / content / description
        Previous value: -"The file's TEXT, for CSV / delimited text / JSON / NDJSON. Give this OR contentBase64. At most 3 MiB."New value: +"The file's TEXT, for CSV / delimited text / JSON / NDJSON. Give this OR contentBase64."
      • removedInput schema / properties / content / maxLength
        Removed value: -3145728
      • changedInput schema / properties / contentBase64 / description
        Previous value: -"The file's BYTES, base64-encoded — required for .xlsx, fine for any format. Give this OR content. At most 3 MiB of file."New value: +"The file's BYTES, base64-encoded — required for .xlsx, fine for any format. Give this OR content."
      • removedInput schema / properties / contentBase64 / maxLength
        Removed value: -4259840
      • changedInput schema / properties / fileName / description
        Previous value: -"The file's name, e.g. \"prices.csv\". Only its extension is used (.csv .tsv .txt .xlsx .xlsm .json .ndjson); it is never stored or logged."New value: +"The file's name, e.g. \"prices.csv\"."
      • removedInput schema / properties / fileName / maxLength
        Removed value: -255
      • changedInput schema / properties / headerRow / description
        Previous value: -"The row number of the header row, counted from 1. Default: the first row that holds anything."New value: +"The row number of the header row, counted from 1."
      • changedInput schema / properties / limit / description
        Previous value: -"Rows in this page. Default 100; an answer never carries more than about 400 kB of rows, so a page may be shorter than asked."New value: +"Rows in this page."
      • removedInput schema / properties / mapping / additionalProperties
        Removed value: -{}
      • removedInput schema / properties / mapping / properties
        Removed value: -{}
      • changedInput schema / properties / offset / description
        Previous value: -"First row of the page, starting at 0. Use page.nextOffset of the previous answer."New value: +"First row of the page, starting at 0."
      • removedInput schema / properties / offset / maximum
        Removed value: -9007199254740991
      • changedInput schema / properties / sheet / anyOf
        Previous value: -[
        -  {
        -    "maxLength": 255,
        -    "type": "string"
        -  },
        -  {
        -    "maximum": 999,
        -    "minimum": 0,
        -    "type": "integer"
        -  }
        -]New value: +[
        +  {
        +    "type": "string"
        +  },
        +  {
        +    "maximum": 999,
        +    "minimum": 0,
        +    "type": "integer"
        +  }
        +]
      • changedInput schema / properties / sheet / description
        Previous value: -"XLSX only: the sheet's name exactly as written, or its position starting at 0. Default: the first sheet."New value: +"XLSX only: the sheet's name exactly as written, or its position starting at 0."
      • removedInput schema / properties / targetSchema / additionalProperties
        Removed value: -{}
      • removedInput schema / properties / targetSchema / properties
        Removed value: -{}
      • removedInput schema / properties / targetSchemaId / maxLength
        Removed value: -64
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changedformat_peppol_invoice72 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / buyerReference / maxLength
        Removed value: -120
      • removedInput schema / properties / buyerReference / minLength
        Removed value: -1
      • changedInput schema / properties / currency / description
        Previous value: -"ISO 4217 currency code (uppercase). Defaults to EUR."New value: +"ISO 4217 currency code (uppercase)."
      • removedInput schema / properties / currency / enum
        Removed value: -[
        -  "EUR",
        -  "USD",
        -  "GBP",
        -  "CHF",
        -  "DKK",
        -  "SEK",
        -  "NOK",
        -  "PLN",
        -  "CZK",
        -  "HUF",
        -  "RON",
        -  "BGN",
        -  "ISK",
        -  "JPY",
        -  "CNY",
        -  "INR",
        -  "CAD",
        -  "AUD",
        -  "NZD",
        -  "BRL",
        -  "MXN",
        -  "ZAR",
        -  "AED",
        -  "SAR",
        -  "SGD",
        -  "HKD",
        -  "KRW",
        -  "TRY",
        -  "ILS",
        -  "KWD",
        -  "BHD",
        -  "OMR"
        -]
      • removedInput schema / properties / customer / properties / city / description
        Removed value: -"City / town name."
      • removedInput schema / properties / customer / properties / city / maxLength
        Removed value: -100
      • removedInput schema / properties / customer / properties / city / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / countryCode / enum
        Removed value: -[
        -  "AT",
        -  "BE",
        -  "BG",
        -  "HR",
        -  "CY",
        -  "CZ",
        -  "DK",
        -  "EE",
        -  "FI",
        -  "FR",
        -  "DE",
        -  "GR",
        -  "HU",
        -  "IE",
        -  "IT",
        -  "LV",
        -  "LT",
        -  "LU",
        -  "MT",
        -  "NL",
        -  "PL",
        -  "PT",
        -  "RO",
        -  "SK",
        -  "SI",
        -  "ES",
        -  "SE",
        -  "IS",
        -  "LI",
        -  "NO",
        -  "GB",
        -  "CH",
        -  "US",
        -  "CA",
        -  "MX",
        -  "BR",
        -  "AU",
        -  "NZ",
        -  "JP",
        -  "CN",
        -  "IN",
        -  "KR",
        -  "SG",
        -  "HK",
        -  "AE",
        -  "SA",
        -  "ZA",
        -  "TR",
        -  "IL",
        -  "UA",
        -  "RS"
        -]
      • removedInput schema / properties / customer / properties / endpointId / maxLength
        Removed value: -60
      • removedInput schema / properties / customer / properties / endpointId / minLength
        Removed value: -1
      • changedInput schema / properties / customer / properties / endpointScheme / description
        Previous value: -"Endpoint scheme id (EAS code). Defaults to \"0088\" (GLN)."New value: +"Endpoint scheme id (EAS code)."
      • removedInput schema / properties / customer / properties / endpointScheme / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / name / description
        Removed value: -"Trading / display name of the party."
      • removedInput schema / properties / customer / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / name / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / postalZone / description
        Removed value: -"Postal / ZIP code."
      • removedInput schema / properties / customer / properties / postalZone / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / registrationName / description
        Removed value: -"Legal registration name. Defaults to the trading name."
      • removedInput schema / properties / customer / properties / registrationName / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / registrationName / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / street / description
        Removed value: -"Street name and number."
      • removedInput schema / properties / customer / properties / street / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / street / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / vatId / maxLength
        Removed value: -60
      • removedInput schema / properties / customer / properties / vatId / minLength
        Removed value: -1
      • removedInput schema / properties / dueDate / description
        Removed value: -"Optional payment due date (YYYY-MM-DD)."
      • addedInput schema / properties / dueDate / format
        Added value: +"date"
      • removedInput schema / properties / dueDate / pattern
        Removed value: -"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"
      • removedInput schema / properties / invoiceNumber / maxLength
        Removed value: -80
      • removedInput schema / properties / invoiceNumber / minLength
        Removed value: -1
      • removedInput schema / properties / issueDate / description
        Removed value: -"Issue date (YYYY-MM-DD)."
      • addedInput schema / properties / issueDate / format
        Added value: +"date"
      • removedInput schema / properties / issueDate / pattern
        Removed value: -"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"
      • removedInput schema / properties / lines / description
        Removed value: -"Invoice lines. Totals are computed from these."
      • removedInput schema / properties / lines / items / properties / description / description
        Removed value: -"Description of the goods or service for this line."
      • removedInput schema / properties / lines / items / properties / description / maxLength
        Removed value: -500
      • removedInput schema / properties / lines / items / properties / description / minLength
        Removed value: -1
      • removedInput schema / properties / lines / items / properties / quantity / description
        Removed value: -"Quantity invoiced for this line."
      • removedInput schema / properties / lines / items / properties / quantity / maximum
        Removed value: -1000000
      • changedInput schema / properties / lines / items / properties / taxCategory / description
        Previous value: -"Override the derived UNCL5305 VAT category. Omit to derive S (rated) or Z (zero-rated) automatically from vatPercent."New value: +"Override the derived UNCL5305 VAT category."
      • changedInput schema / properties / lines / items / properties / unitCode / description
        Previous value: -"UN/ECE Rec 20 unit code. Defaults to \"EA\" (each)."New value: +"UN/ECE Rec 20 unit code."
      • removedInput schema / properties / lines / items / properties / unitCode / minLength
        Removed value: -1
      • removedInput schema / properties / lines / items / properties / unitPrice / maximum
        Removed value: -100000000
      • changedInput schema / properties / lines / items / properties / vatPercent / description
        Previous value: -"VAT rate as a percentage (0–100). Defaults to 0 (zero-rated)."New value: +"VAT rate as a percentage (0–100)."
      • removedInput schema / properties / note / description
        Removed value: -"Free-text invoice note."
      • removedInput schema / properties / note / maxLength
        Removed value: -1000
      • removedInput schema / properties / note / minLength
        Removed value: -1
      • removedInput schema / properties / orderReference / maxLength
        Removed value: -120
      • removedInput schema / properties / orderReference / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / city / description
        Removed value: -"City / town name."
      • removedInput schema / properties / supplier / properties / city / maxLength
        Removed value: -100
      • removedInput schema / properties / supplier / properties / city / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / countryCode / enum
        Removed value: -[
        -  "AT",
        -  "BE",
        -  "BG",
        -  "HR",
        -  "CY",
        -  "CZ",
        -  "DK",
        -  "EE",
        -  "FI",
        -  "FR",
        -  "DE",
        -  "GR",
        -  "HU",
        -  "IE",
        -  "IT",
        -  "LV",
        -  "LT",
        -  "LU",
        -  "MT",
        -  "NL",
        -  "PL",
        -  "PT",
        -  "RO",
        -  "SK",
        -  "SI",
        -  "ES",
        -  "SE",
        -  "IS",
        -  "LI",
        -  "NO",
        -  "GB",
        -  "CH",
        -  "US",
        -  "CA",
        -  "MX",
        -  "BR",
        -  "AU",
        -  "NZ",
        -  "JP",
        -  "CN",
        -  "IN",
        -  "KR",
        -  "SG",
        -  "HK",
        -  "AE",
        -  "SA",
        -  "ZA",
        -  "TR",
        -  "IL",
        -  "UA",
        -  "RS"
        -]
      • removedInput schema / properties / supplier / properties / endpointId / maxLength
        Removed value: -60
      • removedInput schema / properties / supplier / properties / endpointId / minLength
        Removed value: -1
      • changedInput schema / properties / supplier / properties / endpointScheme / description
        Previous value: -"Endpoint scheme id (EAS code). Defaults to \"0088\" (GLN)."New value: +"Endpoint scheme id (EAS code)."
      • removedInput schema / properties / supplier / properties / endpointScheme / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / name / description
        Removed value: -"Trading / display name of the party."
      • removedInput schema / properties / supplier / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / name / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / postalZone / description
        Removed value: -"Postal / ZIP code."
      • removedInput schema / properties / supplier / properties / postalZone / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / registrationName / description
        Removed value: -"Legal registration name. Defaults to the trading name."
      • removedInput schema / properties / supplier / properties / registrationName / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / registrationName / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / street / description
        Removed value: -"Street name and number."
      • removedInput schema / properties / supplier / properties / street / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / street / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / vatId / maxLength
        Removed value: -60
      • removedInput schema / properties / supplier / properties / vatId / minLength
        Removed value: -1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedgenerate_pdf_invoice35 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / currency / description
        Previous value: -"ISO 4217 currency code (uppercase). Defaults to EUR."New value: +"ISO 4217 currency code (uppercase)."
      • removedInput schema / properties / currency / enum
        Removed value: -[
        -  "EUR",
        -  "USD",
        -  "GBP",
        -  "CHF",
        -  "DKK",
        -  "SEK",
        -  "NOK",
        -  "PLN",
        -  "CZK",
        -  "HUF",
        -  "RON",
        -  "BGN",
        -  "ISK",
        -  "JPY",
        -  "CNY",
        -  "INR",
        -  "CAD",
        -  "AUD",
        -  "NZD",
        -  "BRL",
        -  "MXN",
        -  "ZAR",
        -  "AED",
        -  "SAR",
        -  "SGD",
        -  "HKD",
        -  "KRW",
        -  "TRY",
        -  "ILS",
        -  "KWD",
        -  "BHD",
        -  "OMR"
        -]
      • removedInput schema / properties / customer / properties / address / description
        Removed value: -"Postal address (free text; newlines allowed)."
      • removedInput schema / properties / customer / properties / address / maxLength
        Removed value: -400
      • removedInput schema / properties / customer / properties / email / description
        Removed value: -"Contact email."
      • removedInput schema / properties / customer / properties / email / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / name / description
        Removed value: -"Legal / display name."
      • removedInput schema / properties / customer / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / name / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / phone / description
        Removed value: -"Contact phone."
      • removedInput schema / properties / customer / properties / registrationNumber / maxLength
        Removed value: -60
      • removedInput schema / properties / customer / properties / vatId / maxLength
        Removed value: -60
      • removedInput schema / properties / dueDate / minLength
        Removed value: -1
      • removedInput schema / properties / invoiceNumber / maxLength
        Removed value: -60
      • removedInput schema / properties / invoiceNumber / minLength
        Removed value: -1
      • removedInput schema / properties / issueDate / minLength
        Removed value: -1
      • removedInput schema / properties / lines / description
        Removed value: -"One or more invoice line items."
      • removedInput schema / properties / lines / items / properties / description / description
        Removed value: -"Line item description."
      • removedInput schema / properties / lines / items / properties / description / maxLength
        Removed value: -300
      • removedInput schema / properties / lines / items / properties / description / minLength
        Removed value: -1
      • removedInput schema / properties / lines / items / properties / quantity / description
        Removed value: -"Quantity."
      • removedInput schema / properties / notes / description
        Removed value: -"Optional footer notes / payment terms."
      • removedInput schema / properties / notes / maxLength
        Removed value: -1000
      • removedInput schema / properties / supplier / properties / address / description
        Removed value: -"Postal address (free text; newlines allowed)."
      • removedInput schema / properties / supplier / properties / address / maxLength
        Removed value: -400
      • removedInput schema / properties / supplier / properties / email / description
        Removed value: -"Contact email."
      • removedInput schema / properties / supplier / properties / email / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / name / description
        Removed value: -"Legal / display name."
      • removedInput schema / properties / supplier / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / name / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / phone / description
        Removed value: -"Contact phone."
      • removedInput schema / properties / supplier / properties / registrationNumber / maxLength
        Removed value: -60
      • removedInput schema / properties / supplier / properties / vatId / maxLength
        Removed value: -60
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedkbo_company_search5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / countryCode / description
        Previous value: -"ISO 3166-1 alpha-2 country code of the issuing EU member state (uppercase), e.g. BE, NL, DE, FR. Defaults to BE; inferred from the VAT prefix when present."New value: +"ISO 3166-1 alpha-2 country code of the issuing EU member state (uppercase), e.g. BE, NL, DE, FR."
      • removedInput schema / properties / countryCode / enum
        Removed value: -[
        -  "AT",
        -  "BE",
        -  "BG",
        -  "HR",
        -  "CY",
        -  "CZ",
        -  "DK",
        -  "EE",
        -  "FI",
        -  "FR",
        -  "DE",
        -  "GR",
        -  "HU",
        -  "IE",
        -  "IT",
        -  "LV",
        -  "LT",
        -  "LU",
        -  "MT",
        -  "NL",
        -  "PL",
        -  "PT",
        -  "RO",
        -  "SK",
        -  "SI",
        -  "ES",
        -  "SE",
        -  "IS",
        -  "LI",
        -  "NO",
        -  "GB",
        -  "CH",
        -  "US",
        -  "CA",
        -  "MX",
        -  "BR",
        -  "AU",
        -  "NZ",
        -  "JP",
        -  "CN",
        -  "IN",
        -  "KR",
        -  "SG",
        -  "HK",
        -  "AE",
        -  "SA",
        -  "ZA",
        -  "TR",
        -  "IL",
        -  "UA",
        -  "RS"
        -]
      • removedInput schema / properties / vatNumber / minLength
        Removed value: -1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedlookup_peppol_participant5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / identifier / maxLength
        Removed value: -60
      • removedInput schema / properties / identifier / minLength
        Removed value: -1
      • changedInput schema / properties / scheme / description
        Previous value: -"The four-digit Peppol scheme the number is registered under, when you know it: \"0208\" for a Belgian enterprise number (the mandatory primary scheme for Belgian businesses), \"9925\" for a Belgian VAT number, \"0192\" for a Norwegian organisation number. Left out, a Belgian enterprise number is assumed."New value: +"The four-digit Peppol scheme the number is registered under, when you know it: \"0208\" for a Belgian enterprise number (the mandatory primary scheme for Belgian businesses), \"9925\" for a Belgian VAT number, \"0192\" for a Norwegian organisation number."
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
    • Changedmonitor_sources2 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedparse_receipt_vision4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / imageBase64 / maxLength
        Removed value: -7000000
      • removedInput schema / properties / imageUrl / maxLength
        Removed value: -2000
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedreview_invoice72 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / buyerReference / maxLength
        Removed value: -120
      • removedInput schema / properties / buyerReference / minLength
        Removed value: -1
      • changedInput schema / properties / currency / description
        Previous value: -"ISO 4217 currency code (uppercase). Defaults to EUR."New value: +"ISO 4217 currency code (uppercase)."
      • removedInput schema / properties / currency / enum
        Removed value: -[
        -  "EUR",
        -  "USD",
        -  "GBP",
        -  "CHF",
        -  "DKK",
        -  "SEK",
        -  "NOK",
        -  "PLN",
        -  "CZK",
        -  "HUF",
        -  "RON",
        -  "BGN",
        -  "ISK",
        -  "JPY",
        -  "CNY",
        -  "INR",
        -  "CAD",
        -  "AUD",
        -  "NZD",
        -  "BRL",
        -  "MXN",
        -  "ZAR",
        -  "AED",
        -  "SAR",
        -  "SGD",
        -  "HKD",
        -  "KRW",
        -  "TRY",
        -  "ILS",
        -  "KWD",
        -  "BHD",
        -  "OMR"
        -]
      • removedInput schema / properties / customer / properties / city / description
        Removed value: -"City / town name."
      • removedInput schema / properties / customer / properties / city / maxLength
        Removed value: -100
      • removedInput schema / properties / customer / properties / city / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / countryCode / enum
        Removed value: -[
        -  "AT",
        -  "BE",
        -  "BG",
        -  "HR",
        -  "CY",
        -  "CZ",
        -  "DK",
        -  "EE",
        -  "FI",
        -  "FR",
        -  "DE",
        -  "GR",
        -  "HU",
        -  "IE",
        -  "IT",
        -  "LV",
        -  "LT",
        -  "LU",
        -  "MT",
        -  "NL",
        -  "PL",
        -  "PT",
        -  "RO",
        -  "SK",
        -  "SI",
        -  "ES",
        -  "SE",
        -  "IS",
        -  "LI",
        -  "NO",
        -  "GB",
        -  "CH",
        -  "US",
        -  "CA",
        -  "MX",
        -  "BR",
        -  "AU",
        -  "NZ",
        -  "JP",
        -  "CN",
        -  "IN",
        -  "KR",
        -  "SG",
        -  "HK",
        -  "AE",
        -  "SA",
        -  "ZA",
        -  "TR",
        -  "IL",
        -  "UA",
        -  "RS"
        -]
      • removedInput schema / properties / customer / properties / endpointId / maxLength
        Removed value: -60
      • removedInput schema / properties / customer / properties / endpointId / minLength
        Removed value: -1
      • changedInput schema / properties / customer / properties / endpointScheme / description
        Previous value: -"Endpoint scheme id (EAS code). Defaults to \"0088\" (GLN)."New value: +"Endpoint scheme id (EAS code)."
      • removedInput schema / properties / customer / properties / endpointScheme / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / name / description
        Removed value: -"Trading / display name of the party."
      • removedInput schema / properties / customer / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / name / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / postalZone / description
        Removed value: -"Postal / ZIP code."
      • removedInput schema / properties / customer / properties / postalZone / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / registrationName / description
        Removed value: -"Legal registration name. Defaults to the trading name."
      • removedInput schema / properties / customer / properties / registrationName / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / registrationName / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / street / description
        Removed value: -"Street name and number."
      • removedInput schema / properties / customer / properties / street / maxLength
        Removed value: -200
      • removedInput schema / properties / customer / properties / street / minLength
        Removed value: -1
      • removedInput schema / properties / customer / properties / vatId / maxLength
        Removed value: -60
      • removedInput schema / properties / customer / properties / vatId / minLength
        Removed value: -1
      • removedInput schema / properties / dueDate / description
        Removed value: -"Optional payment due date (YYYY-MM-DD)."
      • addedInput schema / properties / dueDate / format
        Added value: +"date"
      • removedInput schema / properties / dueDate / pattern
        Removed value: -"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"
      • removedInput schema / properties / invoiceNumber / maxLength
        Removed value: -80
      • removedInput schema / properties / invoiceNumber / minLength
        Removed value: -1
      • removedInput schema / properties / issueDate / description
        Removed value: -"Issue date (YYYY-MM-DD)."
      • addedInput schema / properties / issueDate / format
        Added value: +"date"
      • removedInput schema / properties / issueDate / pattern
        Removed value: -"^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$"
      • removedInput schema / properties / lines / description
        Removed value: -"Invoice lines. Totals are computed from these."
      • removedInput schema / properties / lines / items / properties / description / description
        Removed value: -"Description of the goods or service for this line."
      • removedInput schema / properties / lines / items / properties / description / maxLength
        Removed value: -500
      • removedInput schema / properties / lines / items / properties / description / minLength
        Removed value: -1
      • removedInput schema / properties / lines / items / properties / quantity / description
        Removed value: -"Quantity invoiced for this line."
      • removedInput schema / properties / lines / items / properties / quantity / maximum
        Removed value: -1000000
      • changedInput schema / properties / lines / items / properties / taxCategory / description
        Previous value: -"Override the derived UNCL5305 VAT category. Omit to derive S (rated) or Z (zero-rated) automatically from vatPercent."New value: +"Override the derived UNCL5305 VAT category."
      • changedInput schema / properties / lines / items / properties / unitCode / description
        Previous value: -"UN/ECE Rec 20 unit code. Defaults to \"EA\" (each)."New value: +"UN/ECE Rec 20 unit code."
      • removedInput schema / properties / lines / items / properties / unitCode / minLength
        Removed value: -1
      • removedInput schema / properties / lines / items / properties / unitPrice / maximum
        Removed value: -100000000
      • changedInput schema / properties / lines / items / properties / vatPercent / description
        Previous value: -"VAT rate as a percentage (0–100). Defaults to 0 (zero-rated)."New value: +"VAT rate as a percentage (0–100)."
      • removedInput schema / properties / note / description
        Removed value: -"Free-text invoice note."
      • removedInput schema / properties / note / maxLength
        Removed value: -1000
      • removedInput schema / properties / note / minLength
        Removed value: -1
      • removedInput schema / properties / orderReference / maxLength
        Removed value: -120
      • removedInput schema / properties / orderReference / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / city / description
        Removed value: -"City / town name."
      • removedInput schema / properties / supplier / properties / city / maxLength
        Removed value: -100
      • removedInput schema / properties / supplier / properties / city / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / countryCode / enum
        Removed value: -[
        -  "AT",
        -  "BE",
        -  "BG",
        -  "HR",
        -  "CY",
        -  "CZ",
        -  "DK",
        -  "EE",
        -  "FI",
        -  "FR",
        -  "DE",
        -  "GR",
        -  "HU",
        -  "IE",
        -  "IT",
        -  "LV",
        -  "LT",
        -  "LU",
        -  "MT",
        -  "NL",
        -  "PL",
        -  "PT",
        -  "RO",
        -  "SK",
        -  "SI",
        -  "ES",
        -  "SE",
        -  "IS",
        -  "LI",
        -  "NO",
        -  "GB",
        -  "CH",
        -  "US",
        -  "CA",
        -  "MX",
        -  "BR",
        -  "AU",
        -  "NZ",
        -  "JP",
        -  "CN",
        -  "IN",
        -  "KR",
        -  "SG",
        -  "HK",
        -  "AE",
        -  "SA",
        -  "ZA",
        -  "TR",
        -  "IL",
        -  "UA",
        -  "RS"
        -]
      • removedInput schema / properties / supplier / properties / endpointId / maxLength
        Removed value: -60
      • removedInput schema / properties / supplier / properties / endpointId / minLength
        Removed value: -1
      • changedInput schema / properties / supplier / properties / endpointScheme / description
        Previous value: -"Endpoint scheme id (EAS code). Defaults to \"0088\" (GLN)."New value: +"Endpoint scheme id (EAS code)."
      • removedInput schema / properties / supplier / properties / endpointScheme / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / name / description
        Removed value: -"Trading / display name of the party."
      • removedInput schema / properties / supplier / properties / name / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / name / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / postalZone / description
        Removed value: -"Postal / ZIP code."
      • removedInput schema / properties / supplier / properties / postalZone / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / registrationName / description
        Removed value: -"Legal registration name. Defaults to the trading name."
      • removedInput schema / properties / supplier / properties / registrationName / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / registrationName / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / street / description
        Removed value: -"Street name and number."
      • removedInput schema / properties / supplier / properties / street / maxLength
        Removed value: -200
      • removedInput schema / properties / supplier / properties / street / minLength
        Removed value: -1
      • removedInput schema / properties / supplier / properties / vatId / maxLength
        Removed value: -60
      • removedInput schema / properties / supplier / properties / vatId / minLength
        Removed value: -1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedtranscribe_and_slice_audio4 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • removedInput schema / properties / audioBase64 / maxLength
        Removed value: -34000000
      • removedInput schema / properties / audioUrl / maxLength
        Removed value: -2000
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "billing": {
        +      "type": "object"
        +    },
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data",
        +    "billing"
        +  ],
        +  "type": "object"
        +}
    • Changedverify_iban5 fields changed
      • removedInput schema / $schema
        Removed value: -"http://json-schema.org/draft-07/schema#"
      • changedInput schema / properties / expectedCountry / description
        Previous value: -"Optional ISO 3166-1 alpha-2 country of the party being paid. When given, the answer reports whether the account is issued in that country — as an observation with both countries named, never as a fraud verdict."New value: +"Optional ISO 3166-1 alpha-2 country of the party being paid."
      • removedInput schema / properties / iban / maxLength
        Removed value: -64
      • removedInput schema / properties / iban / minLength
        Removed value: -1
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "data": {
        +      "type": "object"
        +    },
        +    "kind": {
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "kind",
        +    "data"
        +  ],
        +  "type": "object"
        +}
  9. 1 tool update
    • Changedcheck_payment_change1 field changed
      • addedInput schema / properties / supplierCountry / pattern
        Added value: +"^[A-Za-z]{2}$"
  10. 2 tool updates
    • Changedformat_peppol_invoice1 field changed
      • addedInput schema / properties / orderReference
        Added value: +{
        +  "description": "Purchase order reference (BT-13). Peppol requires this OR a buyer reference.",
        +  "maxLength": 120,
        +  "minLength": 1,
        +  "type": "string"
        +}
    • Changedreview_invoice1 field changed
      • addedInput schema / properties / orderReference
        Added value: +{
        +  "description": "Purchase order reference (BT-13). Peppol requires this OR a buyer reference.",
        +  "maxLength": 120,
        +  "minLength": 1,
        +  "type": "string"
        +}
  11. 19 tool updates
    • First observedanalyze_kbo_financials
    • First observedcheck_payment_change
    • First observedcheck_peppol_ready
    • First observedcheck_vat_list
    • First observedcheck_vat_list_format
    • First observedcore_condition
    • First observeddraft_social_content
    • First observedfetch_web_markdown
    • First observedfile_to_data_inspect
    • First observedfile_to_data_transform
    • First observedformat_peppol_invoice
    • First observedgenerate_pdf_invoice
    • First observedkbo_company_search
    • First observedlookup_peppol_participant
    • First observedmonitor_sources
    • First observedparse_receipt_vision
    • First observedreview_invoice
    • First observedtranscribe_and_slice_audio
    • First observedverify_iban

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    European business compliance suite for AI agents — 28 tools covering tax ID validation (PT, ES, FR, DE, IT, UK, NL), IBAN verification, EU VAT rates, invoice requirements, e-invoicing rules, payment terms, labor calendar helpers, VAT breakdown calculations and invoice schema validation for 18+ European countries.
    28
    -
  • A
    license
    A
    quality
    D
    maintenance
    Validates EU electronic invoices (Peppol, XRechnung, FatturaPA, etc.) and explains validation error codes, enabling AI coding agents to check invoice validity and get fixes before rejection.
    3
    33 npm
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Reads and validates any European e-invoice a business receives — XRechnung, UBL, CII, ZUGFeRD/Factur-X PDF, Peppol BIS 3, FatturaPA, KSeF FA(3) — into canonical EN 16931 JSON with plain-language fix hints in EN/DE/PL/IT/FR, plus PDF, CSV and DATEV export. Nothing is stored; works without a key on a small daily quota.
    5
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Validates EU, UK, and AU VAT numbers against live sources and uses AI pattern analysis to detect invoice fraud.
    80 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.