Invoice Preflight x402 MCP

Checks UBL invoices against purchase details and recalculates totals. $0.05 USDC per call on Base.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
70%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,948Tokens (tool definitions)
~7.1 KBTypical response size
Moderate attention impact (1.52% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "invoice-preflight": {
      "url": "https://mcp.dropenginehq.com/api/paid-mcp"
    }
  }
}

Remote endpoints

https://mcp.dropenginehq.com/api/paid-mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢invoice_preflight(document_xml, document_url, document_base64, mime_type, expected)

Paid invoice check ($0.065 USDC on Base): UBL XML or complete PDF/image invoices up to 3 pages. Returns evidence, amount checks and match/discrepancy/needs_review. No payment or bookkeeping action is taken.

Input Schema

{
  "type": "object",
  "properties": {
    "document_xml": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000000
    },
    "document_url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "document_base64": {
      "type": "string",
      "minLength": 4,
      "maxLength": 13500000
    },
    "mime_type": {
      "type": "string",
      "enum": [
        "application/pdf",
        "image/png",
        "image/jpeg"
      ]
    },
    "expected": {
      "type": "object",
      "properties": {
        "supplier_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purchase_order": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "subtotal": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        },
        "tax": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        },
        "total": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        }
      },
      "additionalProperties": false
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "decision": {
      "type": "string",
      "enum": [
        "match",
        "discrepancy",
        "needs_review"
      ]
    },
    "invoice": {
      "type": "object",
      "properties": {
        "number": {
          "type": [
            "string",
            "null"
          ]
        },
        "supplier_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "purchase_order": {
          "type": [
            "string",
            "null"
          ]
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "subtotal": {
          "type": [
            "string",
            "null"
          ]
        },
        "tax": {
          "type": [
            "string",
            "null"
          ]
        },
        "total": {
          "type": [
            "string",
            "null"
          ]
        },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "amount": {
                "type": "string"
              }
            },
            "required": [
              "description",
              "amount"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "number",
        "supplier_name",
        "purchase_order",
        "currency",
        "subtotal",
        "tax",
        "total",
        "line_items"
      ],
      "additionalProperties": false
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "match",
              "discrepancy",
              "needs_review"
            ]
          },
          "expected": {
            "type": "string"
          },
          "actual": {
            "type": "string"
          },
          "calculated": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "status"
        ],
        "additionalProperties": false
      }
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "source",
          "text"
        ],
        "additionalProperties": false
      }
    },
    "source_sha256": {
      "type": "string"
    },
    "pages_processed": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "decision",
    "invoice",
    "checks",
    "evidence",
    "source_sha256",
    "warnings"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
invoice_preflight_10_pages(document_url, document_base64, mime_type, expected)

Paid invoice OCR ($0.09 USDC on Base): process complete PDF/image invoices up to 10 pages. Oversized PDFs are rejected before OCR.

Input Schema

{
  "type": "object",
  "properties": {
    "document_url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "document_base64": {
      "type": "string",
      "minLength": 4,
      "maxLength": 13500000
    },
    "mime_type": {
      "type": "string",
      "enum": [
        "application/pdf",
        "image/png",
        "image/jpeg"
      ]
    },
    "expected": {
      "type": "object",
      "properties": {
        "supplier_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purchase_order": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "subtotal": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        },
        "tax": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        },
        "total": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        }
      },
      "additionalProperties": false
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "decision": {
      "type": "string",
      "enum": [
        "match",
        "discrepancy",
        "needs_review"
      ]
    },
    "invoice": {
      "type": "object",
      "properties": {
        "number": {
          "type": [
            "string",
            "null"
          ]
        },
        "supplier_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "purchase_order": {
          "type": [
            "string",
            "null"
          ]
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "subtotal": {
          "type": [
            "string",
            "null"
          ]
        },
        "tax": {
          "type": [
            "string",
            "null"
          ]
        },
        "total": {
          "type": [
            "string",
            "null"
          ]
        },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "amount": {
                "type": "string"
              }
            },
            "required": [
              "description",
              "amount"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "number",
        "supplier_name",
        "purchase_order",
        "currency",
        "subtotal",
        "tax",
        "total",
        "line_items"
      ],
      "additionalProperties": false
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "match",
              "discrepancy",
              "needs_review"
            ]
          },
          "expected": {
            "type": "string"
          },
          "actual": {
            "type": "string"
          },
          "calculated": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "status"
        ],
        "additionalProperties": false
      }
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "source",
          "text"
        ],
        "additionalProperties": false
      }
    },
    "source_sha256": {
      "type": "string"
    },
    "pages_processed": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "decision",
    "invoice",
    "checks",
    "evidence",
    "source_sha256",
    "warnings"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
invoice_preflight_50_pages(document_url, document_base64, mime_type, expected)

Paid invoice OCR ($0.275 USDC on Base): process complete PDF/image invoices up to 50 pages. Oversized PDFs are rejected before OCR.

Input Schema

{
  "type": "object",
  "properties": {
    "document_url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "document_base64": {
      "type": "string",
      "minLength": 4,
      "maxLength": 13500000
    },
    "mime_type": {
      "type": "string",
      "enum": [
        "application/pdf",
        "image/png",
        "image/jpeg"
      ]
    },
    "expected": {
      "type": "object",
      "properties": {
        "supplier_name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "purchase_order": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "currency": {
          "type": "string",
          "minLength": 3,
          "maxLength": 3
        },
        "subtotal": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        },
        "tax": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        },
        "total": {
          "type": "string",
          "pattern": "^-?\\d+(?:\\.\\d{1,2})?$"
        }
      },
      "additionalProperties": false
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "decision": {
      "type": "string",
      "enum": [
        "match",
        "discrepancy",
        "needs_review"
      ]
    },
    "invoice": {
      "type": "object",
      "properties": {
        "number": {
          "type": [
            "string",
            "null"
          ]
        },
        "supplier_name": {
          "type": [
            "string",
            "null"
          ]
        },
        "purchase_order": {
          "type": [
            "string",
            "null"
          ]
        },
        "currency": {
          "type": [
            "string",
            "null"
          ]
        },
        "subtotal": {
          "type": [
            "string",
            "null"
          ]
        },
        "tax": {
          "type": [
            "string",
            "null"
          ]
        },
        "total": {
          "type": [
            "string",
            "null"
          ]
        },
        "line_items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "description": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "amount": {
                "type": "string"
              }
            },
            "required": [
              "description",
              "amount"
            ],
            "additionalProperties": false
          }
        }
      },
      "required": [
        "number",
        "supplier_name",
        "purchase_order",
        "currency",
        "subtotal",
        "tax",
        "total",
        "line_items"
      ],
      "additionalProperties": false
    },
    "checks": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "match",
              "discrepancy",
              "needs_review"
            ]
          },
          "expected": {
            "type": "string"
          },
          "actual": {
            "type": "string"
          },
          "calculated": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "status"
        ],
        "additionalProperties": false
      }
    },
    "evidence": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "field": {
            "type": "string"
          },
          "source": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "field",
          "source",
          "text"
        ],
        "additionalProperties": false
      }
    },
    "source_sha256": {
      "type": "string"
    },
    "pages_processed": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "required": [
    "decision",
    "invoice",
    "checks",
    "evidence",
    "source_sha256",
    "warnings"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools