MCP-Server

Invoice Preflight

io.github.Ahmet11159/invoice-preflight
Business & Betrieb Sicherheit Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Preflights invoices, URLs, packages, wallets, transactions, content, and MCP endpoints, and extracts structured webpage data using paid checks.

invoice_preflight
Paid invoice check ($0.065 USDC on Base): UBL XML or complete PDF/image invoices up to 3 pages. Compares expected purchase fields and line items; returns evidence, amount checks and match/discrepancy/needs_review. No payment or bookkeeping action is taken.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'expected': {'type': 'object', 'properties': {'tax': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'total': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'currency': {'type': 'string', 'maxLength': 3, 'minLength': 3}, 'subtotal': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'description': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 1000, 'minItems': 1}, 'supplier_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'purchase_order': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, 'mime_type': {'enum': ['application/pdf', 'image/png', 'image/jpeg'], 'type': 'string'}, 'document_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'document_xml': {'type': 'string', 'maxLength': 1000000, 'minLength': 1}, 'document_base64': {'type': 'string', 'maxLength': 13500000, 'minLength': 4}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['decision', 'invoice', 'checks', 'evidence', 'source_sha256', 'warnings'], 'properties': {'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'status'], 'properties': {'field': {'type': 'string'}, 'actual': {'type': 'string'}, 'status': {'enum': ['match', 'discrepancy', 'needs_review'], 'type': 'string'}, 'expected': {'type': 'string'}, 'calculated': {'type': 'string'}}, 'additionalProperties': False}}, 'invoice': {'type': 'object', 'required': ['number', 'supplier_name', 'purchase_order', 'currency', 'subtotal', 'tax', 'total', 'line_items'], 'properties': {'tax': {'type': ['string', 'null']}, 'total': {'type': ['string', 'null']}, 'number': {'type': ['string', 'null']}, 'currency': {'type': ['string', 'null']}, 'subtotal': {'type': ['string', 'null']}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'string'}, 'description': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'supplier_name': {'type': ['string', 'null']}, 'purchase_order': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'decision': {'enum': ['match', 'discrepancy', 'needs_review'], 'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'source', 'text'], 'properties': {'text': {'type': 'string'}, 'field': {'type': 'string'}, 'source': {'type': 'string'}}, 'additionalProperties': False}}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'source_sha256': {'type': 'string'}, 'pages_processed': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}
invoice_preflight_10_pages
Paid invoice OCR ($0.13 USDC on Base): process complete PDF/image invoices up to 10 pages. Oversized PDFs are rejected before OCR.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'expected': {'type': 'object', 'properties': {'tax': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'total': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'currency': {'type': 'string', 'maxLength': 3, 'minLength': 3}, 'subtotal': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'description': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 1000, 'minItems': 1}, 'supplier_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'purchase_order': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, 'mime_type': {'enum': ['application/pdf', 'image/png', 'image/jpeg'], 'type': 'string'}, 'document_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'document_base64': {'type': 'string', 'maxLength': 13500000, 'minLength': 4}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['decision', 'invoice', 'checks', 'evidence', 'source_sha256', 'warnings'], 'properties': {'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'status'], 'properties': {'field': {'type': 'string'}, 'actual': {'type': 'string'}, 'status': {'enum': ['match', 'discrepancy', 'needs_review'], 'type': 'string'}, 'expected': {'type': 'string'}, 'calculated': {'type': 'string'}}, 'additionalProperties': False}}, 'invoice': {'type': 'object', 'required': ['number', 'supplier_name', 'purchase_order', 'currency', 'subtotal', 'tax', 'total', 'line_items'], 'properties': {'tax': {'type': ['string', 'null']}, 'total': {'type': ['string', 'null']}, 'number': {'type': ['string', 'null']}, 'currency': {'type': ['string', 'null']}, 'subtotal': {'type': ['string', 'null']}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'string'}, 'description': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'supplier_name': {'type': ['string', 'null']}, 'purchase_order': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'decision': {'enum': ['match', 'discrepancy', 'needs_review'], 'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'source', 'text'], 'properties': {'text': {'type': 'string'}, 'field': {'type': 'string'}, 'source': {'type': 'string'}}, 'additionalProperties': False}}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'source_sha256': {'type': 'string'}, 'pages_processed': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}
invoice_preflight_50_pages
Paid invoice OCR ($0.475 USDC on Base): process complete PDF/image invoices up to 50 pages. Oversized PDFs are rejected before OCR.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'properties': {'expected': {'type': 'object', 'properties': {'tax': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'total': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'currency': {'type': 'string', 'maxLength': 3, 'minLength': 3}, 'subtotal': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'string', 'pattern': '^-?\\d+(?:\\.\\d{1,2})?$'}, 'description': {'type': 'string', 'maxLength': 300, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 1000, 'minItems': 1}, 'supplier_name': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'purchase_order': {'type': 'string', 'maxLength': 100, 'minLength': 1}}, 'additionalProperties': False}, 'mime_type': {'enum': ['application/pdf', 'image/png', 'image/jpeg'], 'type': 'string'}, 'document_url': {'type': 'string', 'format': 'uri', 'maxLength': 2048}, 'document_base64': {'type': 'string', 'maxLength': 13500000, 'minLength': 4}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['decision', 'invoice', 'checks', 'evidence', 'source_sha256', 'warnings'], 'properties': {'checks': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'status'], 'properties': {'field': {'type': 'string'}, 'actual': {'type': 'string'}, 'status': {'enum': ['match', 'discrepancy', 'needs_review'], 'type': 'string'}, 'expected': {'type': 'string'}, 'calculated': {'type': 'string'}}, 'additionalProperties': False}}, 'invoice': {'type': 'object', 'required': ['number', 'supplier_name', 'purchase_order', 'currency', 'subtotal', 'tax', 'total', 'line_items'], 'properties': {'tax': {'type': ['string', 'null']}, 'total': {'type': ['string', 'null']}, 'number': {'type': ['string', 'null']}, 'currency': {'type': ['string', 'null']}, 'subtotal': {'type': ['string', 'null']}, 'line_items': {'type': 'array', 'items': {'type': 'object', 'required': ['description', 'amount'], 'properties': {'amount': {'type': 'string'}, 'description': {'type': ['string', 'null']}}, 'additionalProperties': False}}, 'supplier_name': {'type': ['string', 'null']}, 'purchase_order': {'type': ['string', 'null']}}, 'additionalProperties': False}, 'decision': {'enum': ['match', 'discrepancy', 'needs_review'], 'type': 'string'}, 'evidence': {'type': 'array', 'items': {'type': 'object', 'required': ['field', 'source', 'text'], 'properties': {'text': {'type': 'string'}, 'field': {'type': 'string'}, 'source': {'type': 'string'}}, 'additionalProperties': False}}, 'warnings': {'type': 'array', 'items': {'type': 'string'}}, 'source_sha256': {'type': 'string'}, 'pages_processed': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}
invoice_preflight_quote
FREE, no wallet or document upload: choose the lowest priced Invoice Preflight tool from document type, PDF page count, and optional byte size. Call this before a paid invoice tool when the tier is uncertain. It does not inspect or validate the document.
Eingabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['document_type'], 'properties': {'page_count': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'document_type': {'enum': ['ubl_xml', 'pdf', 'image'], 'type': 'string'}, 'file_size_bytes': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 1}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', '$schema': 'https://json-schema.org/draft/2020-12/schema', 'required': ['status', 'recommended_tool', 'price_usdc', 'network', 'reason', 'no_payment_taken', 'document_not_inspected', 'final_validation_on_paid_call'], 'properties': {'reason': {'type': 'string'}, 'status': {'enum': ['ready', 'needs_page_count', 'unsupported', 'temporarily_unavailable'], 'type': 'string'}, 'network': {'enum': ['eip155:8453', 'eip155:84532'], 'type': 'string'}, 'price_usdc': {'type': ['string', 'null']}, 'no_payment_taken': {'type': 'boolean', 'const': True}, 'recommended_tool': {'anyOf': [{'enum': ['invoice_preflight', 'invoice_preflight_10_pages', 'invoice_preflight_50_pages'], 'type': 'string'}, {'type': 'null'}]}, 'document_not_inspected': {'type': 'boolean', 'const': True}, 'final_validation_on_paid_call': {'type': 'boolean', 'const': True}}, 'additionalProperties': False}
Entfernt
verify_claim
29. September 2026 02:49
Entfernt
simulate_transaction
29. September 2026 02:49
Entfernt
scan_content
29. September 2026 02:49
Entfernt
route_tool
29. September 2026 02:49
Entfernt
mcp_server_inspect
29. September 2026 02:49
Entfernt
get_live_quote
29. September 2026 02:49
Entfernt
extract_structured
29. September 2026 02:49
Entfernt
check_wallet
29. September 2026 02:49
Entfernt
check_url
29. September 2026 02:49
Entfernt
check_package
29. September 2026 02:49
Entfernt
check_change
29. September 2026 02:49
Geändert
invoice_preflight_50_pages
27. September 2026 02:40
Geändert
invoice_preflight_10_pages
27. September 2026 02:40
Geändert
invoice_preflight
27. September 2026 02:40
Hinzugefügt
verify_claim
27. September 2026 02:40
Hinzugefügt
check_change
27. September 2026 02:40
Hinzugefügt
extract_structured
27. September 2026 02:40
Hinzugefügt
get_live_quote
27. September 2026 02:40
Hinzugefügt
route_tool
27. September 2026 02:40
Hinzugefügt
check_package
27. September 2026 02:40
Hinzugefügt
check_wallet
27. September 2026 02:40
Hinzugefügt
simulate_transaction
27. September 2026 02:40
Hinzugefügt
scan_content
27. September 2026 02:40
Hinzugefügt
check_url
27. September 2026 02:40
Hinzugefügt
mcp_server_inspect
27. September 2026 02:40
Hinzugefügt
invoice_preflight_quote
27. September 2026 02:40
Hinzugefügt
invoice_preflight_50_pages
25. September 2026 02:40
Hinzugefügt
invoice_preflight_10_pages
25. September 2026 02:40
Hinzugefügt
invoice_preflight
25. September 2026 02:40