Invoice Preflight
Server Details
Evidence-backed UBL, PDF, and image invoice checks before approval or payment.
- Status
- Healthy
- Uptime
- 99.9% over 39 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
The three paid tools are tiered by page count, but the base tool also differs in functionality (check vs OCR) and format support (UBL XML). The free quote tool explicitly helps select the cheapest tier, reducing confusion, but an agent might still misjudge whether the 10/50-page tools perform the full comparison check.
All tools share the `invoice_preflight` prefix in snake_case, with suffixes indicating page limits or quote. The base tool lacks a page-limit suffix, a minor inconsistency, but the pattern is otherwise predictable and readable.
Four tools is well-scoped: three tiered processing options (3, 10, 50 pages) and one free selection helper. Each earns its place, and there is no redundancy or over-proliferation.
The server provides comparison check for up to 3 pages and OCR for up to 50 pages, but there is no tool to perform the full comparison check for PDF/image invoices larger than 3 pages. This is a notable gap that could cause agent failures for larger invoices needing preflight validation.
Available Tools
4 toolsinvoice_preflightAInspect
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.
Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
| Name | Required | Description | Default |
|---|---|---|---|
| expected | No | ||
| mime_type | No | ||
| document_url | No | ||
| document_xml | No | ||
| document_base64 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| next | No | |
| error | No | |
| checks | Yes | |
| result | No | |
| status | No | |
| invoice | Yes | |
| payment | No | |
| agent_ux | No | |
| decision | Yes | |
| evidence | Yes | |
| warnings | Yes | |
| source_sha256 | Yes | |
| pages_processed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations the description carries the full burden, and it does well: discloses the exact price ($0.065 USDC on Base), input formats and a page cap, the nature of the result, and explicitly states no payment or bookkeeping action is taken. It does not describe how payment is authorized/charged or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The opening paragraph is tight and front-loaded. The second paragraph is largely generic routing boilerplate that recurs across tools and is only partially specific to this tool, diluting the signal without adding invoice-specific value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. However, for a 5-parameter nested tool with zero schema documentation and a payment component, the description leaves the document-input alternatives, requiredness, and payment mechanics underspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 5 parameters including nested objects, so the description must compensate. It conveys meaning for the expected-fields object (purchase fields, line items) and the document input formats (XML vs complete PDF/image), but does not clarify that document_url/document_xml/document_base64 are alternative transports or how mime_type relates to them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (invoice check) with scope: UBL XML or PDF/image up to 3 pages, comparing expected fields and line items, returning match/discrepancy/needs_review. The 3-page limit and 'paid' qualifier cleanly separate it from the sibling invoice_preflight_10_pages and invoice_preflight_50_pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'Agent entry points' block explicitly routes: known single capability to the direct tool, unclear capability to /api/discover, constrained comparison to route_tool, combined safety assessment to Agent Action Gate, and multi-step to workflow recipes. It lacks a direct 'use this over the 10/50-page variants when the invoice is <=3 pages' statement, but alternatives and selection conditions are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice_preflight_10_pagesBInspect
Paid invoice OCR ($0.13 USDC on Base): process complete PDF/image invoices up to 10 pages. Oversized PDFs are rejected before OCR.
Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
| Name | Required | Description | Default |
|---|---|---|---|
| expected | No | ||
| mime_type | No | ||
| document_url | No | ||
| document_base64 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| next | No | |
| error | No | |
| checks | Yes | |
| result | No | |
| status | No | |
| invoice | Yes | |
| payment | No | |
| agent_ux | No | |
| decision | Yes | |
| evidence | Yes | |
| warnings | Yes | |
| source_sha256 | Yes | |
| pages_processed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it does disclose useful behavior: a paid operation at $0.13 USDC on Base and that oversized PDFs are rejected before OCR (implying no OCR work occurs on them). It stops short of covering payment/auth mechanics or whether rejected documents are charged, so it is partial rather than complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The tool-specific portion is two tight, front-loaded sentences that lead with the action and price. However, the large 'Agent entry points' boilerplate block is generic, largely irrelevant to this single tool, and dilutes the definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 described, and pricing/format/limits are present. But for a 4-parameter paid OCR tool with a nested 'expected' verification object and clear sibling tiers, the absence of any parameter explanation and of explicit tier-selection guidance leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it does not — none of document_url, document_base64, mime_type, or the nested 'expected' reconciliation object are explained. The 'expected' object in particular is non-obvious (it drives preflight verification against tax/total/subtotal/line_items) and is left entirely unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('process complete PDF/image invoices'), adds the exact scope limit ('up to 10 pages'), the input formats (PDF/image), and the pricing model. This clearly differentiates it from the tiered siblings invoice_preflight and invoice_preflight_50_pages without needing to open any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the 10-page ceiling, which implicitly routes larger documents to invoice_preflight_50_pages, and the appended 'Agent entry points' block gives generic routing (direct tool for known capability, route_tool for comparison). However, that block is boilerplate shared across tools and never explicitly contrasts this tier against its sibling tiers or states when it should not be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice_preflight_50_pagesBInspect
Paid invoice OCR ($0.475 USDC on Base): process complete PDF/image invoices up to 50 pages. Oversized PDFs are rejected before OCR.
Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
| Name | Required | Description | Default |
|---|---|---|---|
| expected | No | ||
| mime_type | No | ||
| document_url | No | ||
| document_base64 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| next | No | |
| error | No | |
| checks | Yes | |
| result | No | |
| status | No | |
| invoice | Yes | |
| payment | No | |
| agent_ux | No | |
| decision | Yes | |
| evidence | Yes | |
| warnings | Yes | |
| source_sha256 | Yes | |
| pages_processed | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It usefully discloses the cost and currency and the pre-OCR rejection behavior for oversized files, but says nothing about payment/refund handling on rejection, whether document_url or document_base64 is required (both are non-required), authentication needs, or what preflight validation actually does on mismatch.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first sentence is tightly front-loaded with scope, price, and the rejection rule. However, the multi-line entry-point paragraph is generic boilerplate that does not earn its place in a tool-specific definition and dilutes the signal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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. But for a 4-parameter tool with 0% schema coverage, nested objects, no annotations, and an unexplained 'expected' comparison argument, the description leaves essential calling information missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it largely does not. It hints at mime_type via 'PDF/image' but never explains the nested 'expected' object (tax, total, currency, subtotal, line_items, supplier_name, purchase_order), which is the core semantic of the tool, nor the exclusivity or size limits of document_url vs document_base64.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Paid invoice OCR'), the concrete scope ('up to 50 pages'), the price ($0.475 USDC on Base), and a distinguishing constraint ('Oversized PDFs are rejected before OCR'). This clearly separates it from smaller-tier siblings by page limit, though it never names invoice_preflight_10_pages or invoice_preflight_quote to make the choice explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The entry-point paragraph offers generic routing heuristics ('known single capability → call the direct tool'), but it is shared boilerplate that applies to every tool rather than guidance specific to choosing the 50-page tier over the 10-page tier or the quote variant. Usage is only implied by the page cap and price.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
invoice_preflight_quoteAInspect
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.
Agent entry points: risky external action → use Agent Action Gate when a combined action-specific safety assessment is needed; unclear capability/provider → use free /api/discover; constrained comparison between callable alternatives → use paid route_tool; known single capability → call the direct tool; multi-step objective → read the matching workflow recipe and call only relevant steps. Workflows are stateless recipes, not executors; calls are paid separately and are not bundle charged. Agent Action Gate does not approve payment, sign or broadcast transactions, evaluate seller reputation, replace transaction simulation, replace route_tool, or replace human approval.
| Name | Required | Description | Default |
|---|---|---|---|
| page_count | No | ||
| document_type | Yes | ||
| file_size_bytes | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| meta | No | |
| next | No | |
| error | No | |
| reason | Yes | |
| result | No | |
| status | No | |
| network | Yes | |
| payment | No | |
| agent_ux | No | |
| price_usdc | Yes | |
| no_payment_taken | Yes | |
| recommended_tool | Yes | |
| document_not_inspected | Yes | |
| final_validation_on_paid_call | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does well: it discloses that the operation is FREE, requires no wallet or document upload, performs no inspection/validation, and is not bundle charged. It does not state latency, caching, or rate limits, but for a stateless quote lookup the key behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The first two sentences are tight and front-loaded, but the long 'Agent entry points' paragraph is largely boilerplate about other tools (Agent Action Gate, route_tool, workflow recipes) and contributes little to selecting or invoking this specific quote tool. It inflates the definition without earning its length here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complexity is low, the schema is small and simple, and an output schema exists so return values need not be explained. Combined with the free/no-wallet disclosure, the description gives an agent enough to call it correctly; the off-topic routing paragraph is the only weak point.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description names all three inputs (document type, PDF page count, optional byte size), which compensates partially and matches the schema properties. It does not add format, units, or edge-case details beyond the parameter names and the 1–10000 bounds already in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence states a specific verb and resource — pick the lowest-priced Invoice Preflight tool — and explicitly scopes it as free with no wallet or document upload. It distinguishes itself cleanly from the paid invoice siblings (invoice_preflight, invoice_preflight_10_pages, invoice_preflight_50_pages) and disclaims that it does not inspect the document.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a direct when-to-use rule: 'Call this before a paid invoice tool when the tier is uncertain.' The entry-point block also routes among alternatives (Agent Action Gate, discover, route_tool, direct tool), giving clear context. It stops short of an explicit when-not-to-use for this specific tool.
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.
4 tool updates
- Changed
invoice_preflight7 fields changed- added
Output schema / properties / agent_uxAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "anyOf": [ + {}, + { + "type": "null" + } + ] + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "next": { + "items": {}, + "type": "array" + }, + "payment": { + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" + }, + "result": {}, + "status": { + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "result", + "error", + "meta", + "payment", + "next" + ], + "type": "object" +} - added
Output schema / properties / errorAdded value: +{ + "anyOf": [ + {}, + { + "type": "null" + } + ] +} - added
Output schema / properties / metaAdded value: +{ + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Output schema / properties / nextAdded value: +{ + "items": {}, + "type": "array" +} - added
Output schema / properties / paymentAdded value: +{ + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" +} - added
Output schema / properties / resultAdded value: +{} - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" +}
- Changed
invoice_preflight_10_pages7 fields changed- added
Output schema / properties / agent_uxAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "anyOf": [ + {}, + { + "type": "null" + } + ] + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "next": { + "items": {}, + "type": "array" + }, + "payment": { + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" + }, + "result": {}, + "status": { + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "result", + "error", + "meta", + "payment", + "next" + ], + "type": "object" +} - added
Output schema / properties / errorAdded value: +{ + "anyOf": [ + {}, + { + "type": "null" + } + ] +} - added
Output schema / properties / metaAdded value: +{ + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Output schema / properties / nextAdded value: +{ + "items": {}, + "type": "array" +} - added
Output schema / properties / paymentAdded value: +{ + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" +} - added
Output schema / properties / resultAdded value: +{} - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" +}
- Changed
invoice_preflight_50_pages7 fields changed- added
Output schema / properties / agent_uxAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "anyOf": [ + {}, + { + "type": "null" + } + ] + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "next": { + "items": {}, + "type": "array" + }, + "payment": { + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" + }, + "result": {}, + "status": { + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "result", + "error", + "meta", + "payment", + "next" + ], + "type": "object" +} - added
Output schema / properties / errorAdded value: +{ + "anyOf": [ + {}, + { + "type": "null" + } + ] +} - added
Output schema / properties / metaAdded value: +{ + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Output schema / properties / nextAdded value: +{ + "items": {}, + "type": "array" +} - added
Output schema / properties / paymentAdded value: +{ + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" +} - added
Output schema / properties / resultAdded value: +{} - added
Output schema / properties / statusAdded value: +{ + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" +}
- Changed
invoice_preflight_quote8 fields changed- added
Output schema / properties / agent_uxAdded value: +{ + "additionalProperties": false, + "properties": { + "error": { + "anyOf": [ + {}, + { + "type": "null" + } + ] + }, + "meta": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "next": { + "items": {}, + "type": "array" + }, + "payment": { + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" + }, + "result": {}, + "status": { + "enum": [ + "succeeded", + "failed", + "partial", + "outcome_unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "result", + "error", + "meta", + "payment", + "next" + ], + "type": "object" +} - added
Output schema / properties / errorAdded value: +{ + "anyOf": [ + {}, + { + "type": "null" + } + ] +} - added
Output schema / properties / metaAdded value: +{ + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Output schema / properties / nextAdded value: +{ + "items": {}, + "type": "array" +} - added
Output schema / properties / paymentAdded value: +{ + "additionalProperties": false, + "properties": { + "execution_status": { + "enum": [ + "not_started", + "succeeded", + "failed", + "unknown" + ], + "type": "string" + }, + "status": { + "enum": [ + "not_required", + "required", + "settled", + "failed", + "unknown" + ], + "type": "string" + } + }, + "required": [ + "status", + "execution_status" + ], + "type": "object" +} - added
Output schema / properties / resultAdded value: +{} - changed
Output schema / properties / status / enumPrevious value: -[ - "ready", - "needs_page_count", - "unsupported", - "temporarily_unavailable" -]New value: +[ + "succeeded", + "failed", + "partial", + "outcome_unknown" +] - changed
Output schema / requiredPrevious value: -[ - "status", - "recommended_tool", - "price_usdc", - "network", - "reason", - "no_payment_taken", - "document_not_inspected", - "final_validation_on_paid_call" -]New value: +[ + "recommended_tool", + "price_usdc", + "network", + "reason", + "no_payment_taken", + "document_not_inspected", + "final_validation_on_paid_call" +]
16 tool updates
- Removed
analyze_whale_activity - Removed
backtest_strategy - Removed
check_change - Removed
check_package - Removed
check_url - Removed
check_wallet - Removed
estimate_trade_execution - Removed
extract_structured - Removed
get_live_quote - Removed
mcp_server_inspect - Removed
route_tool - Removed
scan_arbitrage - Removed
scan_content - Removed
simulate_transaction - Removed
token_security_audit - Removed
verify_claim
5 tool updates
- Added
analyze_whale_activity - Added
backtest_strategy - Added
estimate_trade_execution - Added
scan_arbitrage - Added
token_security_audit
4 tool updates
- Added
check_change - Added
extract_structured - Added
get_live_quote - Added
verify_claim
1 tool update
- Added
route_tool
3 tool updates
- Added
check_package - Added
check_wallet - Added
simulate_transaction
1 tool update
- Added
scan_content
1 tool update
- Added
check_url
1 tool update
- Added
mcp_server_inspect
4 tool updates
- Changed
invoice_preflight1 field changed- added
Input schema / properties / expected / properties / line_itemsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "pattern": "^-?\\d+(?:\\.\\d{1,2})?$", + "type": "string" + }, + "description": { + "maxLength": 300, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "description", + "amount" + ], + "type": "object" + }, + "maxItems": 1000, + "minItems": 1, + "type": "array" +}
- Changed
invoice_preflight_10_pages1 field changed- added
Input schema / properties / expected / properties / line_itemsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "pattern": "^-?\\d+(?:\\.\\d{1,2})?$", + "type": "string" + }, + "description": { + "maxLength": 300, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "description", + "amount" + ], + "type": "object" + }, + "maxItems": 1000, + "minItems": 1, + "type": "array" +}
- Changed
invoice_preflight_50_pages1 field changed- added
Input schema / properties / expected / properties / line_itemsAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "pattern": "^-?\\d+(?:\\.\\d{1,2})?$", + "type": "string" + }, + "description": { + "maxLength": 300, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "description", + "amount" + ], + "type": "object" + }, + "maxItems": 1000, + "minItems": 1, + "type": "array" +}
- Added
invoice_preflight_quote
3 tool updates
- Changed
invoice_preflight1 field changed- changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "checks": { + "items": { + "additionalProperties": false, + "properties": { + "actual": { + "type": "string" + }, + "calculated": { + "type": "string" + }, + "expected": { + "type": "string" + }, + "field": { + "type": "string" + }, + "status": { + "enum": [ + "match", + "discrepancy", + "needs_review" + ], + "type": "string" + } + }, + "required": [ + "field", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "decision": { + "enum": [ + "match", + "discrepancy", + "needs_review" + ], + "type": "string" + }, + "evidence": { + "items": { + "additionalProperties": false, + "properties": { + "field": { + "type": "string" + }, + "source": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "field", + "source", + "text" + ], + "type": "object" + }, + "type": "array" + }, + "invoice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": [ + "string", + "null" + ] + }, + "line_items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "description", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "number": { + "type": [ + "string", + "null" + ] + }, + "purchase_order": { + "type": [ + "string", + "null" + ] + }, + "subtotal": { + "type": [ + "string", + "null" + ] + }, + "supplier_name": { + "type": [ + "string", + "null" + ] + }, + "tax": { + "type": [ + "string", + "null" + ] + }, + "total": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "number", + "supplier_name", + "purchase_order", + "currency", + "subtotal", + "tax", + "total", + "line_items" + ], + "type": "object" + }, + "pages_processed": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "source_sha256": { + "type": "string" + }, + "warnings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "decision", + "invoice", + "checks", + "evidence", + "source_sha256", + "warnings" + ], + "type": "object" +}
- Changed
invoice_preflight_10_pages2 fields changed- removed
Input schema / properties / document_xmlRemoved value: -{ - "maxLength": 1000000, - "minLength": 1, - "type": "string" -} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "checks": { + "items": { + "additionalProperties": false, + "properties": { + "actual": { + "type": "string" + }, + "calculated": { + "type": "string" + }, + "expected": { + "type": "string" + }, + "field": { + "type": "string" + }, + "status": { + "enum": [ + "match", + "discrepancy", + "needs_review" + ], + "type": "string" + } + }, + "required": [ + "field", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "decision": { + "enum": [ + "match", + "discrepancy", + "needs_review" + ], + "type": "string" + }, + "evidence": { + "items": { + "additionalProperties": false, + "properties": { + "field": { + "type": "string" + }, + "source": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "field", + "source", + "text" + ], + "type": "object" + }, + "type": "array" + }, + "invoice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": [ + "string", + "null" + ] + }, + "line_items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "description", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "number": { + "type": [ + "string", + "null" + ] + }, + "purchase_order": { + "type": [ + "string", + "null" + ] + }, + "subtotal": { + "type": [ + "string", + "null" + ] + }, + "supplier_name": { + "type": [ + "string", + "null" + ] + }, + "tax": { + "type": [ + "string", + "null" + ] + }, + "total": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "number", + "supplier_name", + "purchase_order", + "currency", + "subtotal", + "tax", + "total", + "line_items" + ], + "type": "object" + }, + "pages_processed": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "source_sha256": { + "type": "string" + }, + "warnings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "decision", + "invoice", + "checks", + "evidence", + "source_sha256", + "warnings" + ], + "type": "object" +}
- Changed
invoice_preflight_50_pages2 fields changed- removed
Input schema / properties / document_xmlRemoved value: -{ - "maxLength": 1000000, - "minLength": 1, - "type": "string" -} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": false, + "properties": { + "checks": { + "items": { + "additionalProperties": false, + "properties": { + "actual": { + "type": "string" + }, + "calculated": { + "type": "string" + }, + "expected": { + "type": "string" + }, + "field": { + "type": "string" + }, + "status": { + "enum": [ + "match", + "discrepancy", + "needs_review" + ], + "type": "string" + } + }, + "required": [ + "field", + "status" + ], + "type": "object" + }, + "type": "array" + }, + "decision": { + "enum": [ + "match", + "discrepancy", + "needs_review" + ], + "type": "string" + }, + "evidence": { + "items": { + "additionalProperties": false, + "properties": { + "field": { + "type": "string" + }, + "source": { + "type": "string" + }, + "text": { + "type": "string" + } + }, + "required": [ + "field", + "source", + "text" + ], + "type": "object" + }, + "type": "array" + }, + "invoice": { + "additionalProperties": false, + "properties": { + "currency": { + "type": [ + "string", + "null" + ] + }, + "line_items": { + "items": { + "additionalProperties": false, + "properties": { + "amount": { + "type": "string" + }, + "description": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "description", + "amount" + ], + "type": "object" + }, + "type": "array" + }, + "number": { + "type": [ + "string", + "null" + ] + }, + "purchase_order": { + "type": [ + "string", + "null" + ] + }, + "subtotal": { + "type": [ + "string", + "null" + ] + }, + "supplier_name": { + "type": [ + "string", + "null" + ] + }, + "tax": { + "type": [ + "string", + "null" + ] + }, + "total": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "number", + "supplier_name", + "purchase_order", + "currency", + "subtotal", + "tax", + "total", + "line_items" + ], + "type": "object" + }, + "pages_processed": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "source_sha256": { + "type": "string" + }, + "warnings": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "decision", + "invoice", + "checks", + "evidence", + "source_sha256", + "warnings" + ], + "type": "object" +}
2 tool updates
- Added
invoice_preflight_10_pages - Added
invoice_preflight_50_pages
1 tool update
- Changed
invoice_preflight4 fields changed- added
Input schema / properties / document_base64Added value: +{ + "maxLength": 13500000, + "minLength": 4, + "type": "string" +} - added
Input schema / properties / document_urlAdded value: +{ + "format": "uri", + "maxLength": 2048, + "type": "string" +} - added
Input schema / properties / mime_typeAdded value: +{ + "enum": [ + "application/pdf", + "image/png", + "image/jpeg" + ], + "type": "string" +} - removed
Input schema / requiredRemoved value: -[ - "document_xml" -]
1 tool update
- First observed
invoice_preflight
Related MCP Connectors
Validate, generate & convert EU e-invoices (UBL, CII, XRechnung, Factur-X) — EN 16931 pre-validated.
Check Peppol receivability (incl. Belgian client lists) and validate EU e-invoices. Free check.
Receipt extraction, invoice-to-PO quantity allocation, and free three-document discrepancy checks.
EN 16931/XRechnung e-invoice validate+create, Peppol routing, EU VAT/EORI, sanctions, KYB. Free tier
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables autonomous agents to validate, audit, and correct e-invoices against European standards (EN16931) and Peppol regulations.1MIT
- AlicenseNot gradedqualityBmaintenanceValidates EU, UK, and AU VAT numbers against live sources and uses AI pattern analysis to detect invoice fraud.124 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables AI-powered invoice analysis and reasoning: given invoice fields, it detects missing data, inconsistencies, duplicates, and proposes actions (register, request data, mark duplicate, review) using deterministic rules.-
- AlicenseAqualityAmaintenanceEnables UAE e-invoicing and PINT AE compliance checks, including TRN/TIN validation, a 51-field mandatory checklist, structural invoice review, and UBL XML stub generation.5289 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.