{"serverId":"mcp-registry/com.agenttoolworks/invoiceforge","tools":[{"name":"describe_coverage","fixed":{"name":"describe_coverage","description":"Returns the exact EN 16931 rules this server checks, the syntaxes it can produce and read, and the things it deliberately does not do, such as transmitting invoices over Peppol or acting as a French accredited platform. Light read: costs 0.2 credit.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"List what this server checks and what it does not do"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":118,"tokensAfter":118},{"name":"extract_invoice","fixed":{"name":"extract_invoice","description":"Reads an incoming UBL or CII (Factur-X) invoice XML and returns the data as structured JSON, listing any field the document did not contain rather than guessing it. Use it to ingest supplier invoices before booking them. Costs 1 credit.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["xml"],"properties":{"xml":{"type":"string","minLength":40,"description":"The invoice XML, UBL 2.1 or CII"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Read an invoice document into structured data"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":143,"tokensAfter":143},{"name":"get_usage","fixed":{"name":"get_usage","description":"Returns your current plan, remaining credit balance and call volume over the last 30 days. Free to call.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get usage and credit balance"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":67,"tokensAfter":67},{"name":"validate_invoice","fixed":{"name":"validate_invoice","description":"Checks invoice data against a documented subset of the EN 16931 business rules: mandatory fields, code lists, VAT category consistency and the arithmetic that most often gets invoices rejected. Accepts incomplete or malformed data on purpose, since that is what you want checked, and answers with each violation, its rule identifier and its business term, plus exactly which rules were checked. It never claims full compliance with the norm. Costs 1 credit.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["invoice"],"properties":{"invoice":{"type":"object","properties":{"buyer":{"type":"object","default":{"name":"","countryCode":""},"properties":{"city":{"type":"string"},"name":{"type":"string","default":""},"vatId":{"type":"string"},"legalId":{"type":"string"},"postalCode":{"type":"string"},"addressLine":{"type":"string"},"countryCode":{"type":"string","default":""}},"additionalProperties":{}},"lines":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","default":""},"name":{"type":"string","default":""},"vatRate":{"type":"number"},"quantity":{"type":"number","default":0},"unitCode":{"type":"string","default":"C62"},"netAmount":{"type":"number","default":0},"unitPrice":{"type":"number","default":0},"vatCategory":{"type":"string","default":"S"}},"additionalProperties":{}},"default":[]},"seller":{"type":"object","default":{"name":"","countryCode":""},"properties":{"city":{"type":"string"},"name":{"type":"string","default":""},"vatId":{"type":"string"},"legalId":{"type":"string"},"postalCode":{"type":"string"},"addressLine":{"type":"string"},"countryCode":{"type":"string","default":""}},"additionalProperties":{}},"dueDate":{"type":"string"},"currency":{"type":"string","default":""},"typeCode":{"type":"string","default":"380"},"issueDate":{"type":"string","default":""},"payeeIban":{"type":"string"},"paymentTerms":{"type":"string"},"invoiceNumber":{"type":"string","default":""},"prepaidAmount":{"type":"number"},"vatExemptions":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string","default":""},"reasonCode":{"type":"string"},"reasonText":{"type":"string"}},"additionalProperties":{}}},"buyerReference":{"type":"string"}},"description":"The invoice to check, however incomplete","additionalProperties":{}}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check an invoice against EN 16931 rules"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":669,"tokensAfter":669}],"toolsChanged":4,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}