mcpField
I
Invoice & Payment ID Validator

Invoice & Payment ID Validator

Remote
rapidapi.comFinance0Updated 1w ago

About Invoice & Payment ID Validator

A remote MCP server for accounts-payable and finance teams that checks supplier banking and tax identifiers before payment and returns a pay, review, or hold verdict. It focuses on risk signals such as individually valid identifiers that do not match each other.

Key features

  1. 01Combined pay, review, or hold verdict
  2. 02Validates IBAN, BIC, VAT, and EIN
  3. 03Flags supplier and bank country mismatches
  4. 04Optional live VAT lookup through VIES
  5. 05Single-ID and batch validation tools

Use cases

  1. 01Screen supplier details before invoice payment
  2. 02Verify bank and VAT details for payment runs
  3. 03Detect mismatches between IBAN and BIC countries
  4. 04Confirm EU VAT registration during onboarding

MCP support

This hosted remote MCP server uses Streamable HTTP and exposes payee checks and identifier-validation tools to MCP clients. It offers a keyless demo endpoint and a paid endpoint through RapidAPI.

Configuration

Remote servers need no local install. Pick your client, then copy the config or install in one click.

Endpointhttps://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcp
Copy install command
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.

All endpoints
Streamable HTTPhttps://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcp
Streamable HTTPhttps://invoice-payment-id-validator.p.rapidapi.com/mcpAuth required

Tools

Details

From the project README

Invoice & Payment ID Validator — remote MCP server

For accounts-payable and finance teams: before you pay an invoice, get a pay, review or hold verdict on the supplier's bank and tax details.

1. Connect (free, no key; works in Claude Desktop, Cursor, Cline, VS Code and any client that supports remote Streamable HTTP):

{
  "mcpServers": {
    "invoice-validator": {
      "url": "https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcp"
    }
  }
}

2. Ask: "Should I pay this Irish supplier's invoice? VAT IE6388047V, IBAN DE89370400440532013000, EUR." Your agent calls:

{"name":"check_invoice_payee","arguments":{"vat":"IE6388047V","iban":"DE89370400440532013000","supplier_country":"IE","currency":"EUR"}}

3. Get (real output from the free demo endpoint, trimmed):

{"verdict":"hold","risk_score":45,
 "summary":"Hold payment: Supplier is in IE but wants payment to a DE bank account: the classic changed-bank-details fraud pattern. Confirm by phone using a known number.",
 "reasons":[{"code":"iban_country_differs_from_supplier","severity":"high"}],
 "checks":{"iban":{"valid":true,"country":"DE","sepa":true},"vat":{"valid":true,"country":"IE"}}}

Both IDs are valid on their own. The mismatch between them is what triggers the hold.

What makes it different

Most IBAN/VAT APIs check each number on its own: "this IBAN is well-formed". That misses the real invoice-fraud signal, which is a mismatch between numbers that are each valid:

  • Changed bank details: your German supplier's invoice asks for payment to a Dutch or Lithuanian account. Every ID is valid; the verdict is hold.
  • BIC from a different country than the IBAN: the two don't belong to the same account.
  • VAT registered to someone else: with live=true, the VIES-registered company name is compared with the supplier name.
  • Unregistered VAT, test BICs, EUR invoices paid to non-SEPA accounts.

It is also MCP-native with a free, keyless demo endpoint, so an agent can try it in one config line. Single-ID validators are included too.

No-code version

Not building an agent? The same checks come in ready-made tools:

Try it free

  • No key, right now: point any MCP client at https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcp (10 tool calls per IP per day).
  • Free RapidAPI plan: 100 requests/month on the Basic plan, no card needed. Pro is $10 for 10,000.
  • Pay per call, no account (x402): agents with a USDC wallet on Base can pay $0.01 per call at https://invoice-validator.mohamed-bahaa53000.workers.dev/x402/v1/payee-check (also /x402/v1/iban, /bic, /vat/eu, /vat/gb, /ein). GET /x402 shows the terms; an unpaid call returns HTTP 402 with the payment requirements.

This is a hosted (remote) MCP server using Streamable HTTP. There is nothing to install or run locally, and this repository holds documentation and the MCP Registry manifest only. The server code is not open source.

EndpointAuthLimits
https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcpnonefree, 10 tool calls per IP per UTC day, no batch
https://invoice-payment-id-validator.p.rapidapi.com/mcpX-RapidAPI-Key + X-RapidAPI-Host headerspaid per request via RapidAPI (free Basic plan available)

Official MCP Registry name: dev.workers.mohamed-bahaa53000.invoice-validator/invoice-payment-id-validator

Tools

  • check_invoice_payee: pay / review / hold verdict, risk score, reasons, and per-ID results. Inputs (all optional, at least one ID): iban, bic, vat, ein, supplier_country, supplier_name, currency, live.
  • validate_iban: mod-97 checksum, length for its country (100+ countries), SEPA membership; returns normalized/formatted IBAN, country, BBAN, bank/branch/account parts where known, or machine-readable error codes.
  • validate_bic: BIC/SWIFT structure (8 or 11 chars), ISO country, test-BIC flag; pass iban to check the BIC country matches the IBAN country.
  • validate_eu_vat: EU VAT ID (27 member states + XI) format and check digit offline; live=true also queries EU VIES for registration status, name and address (VIES failures return vies.checked=false, never a false "invalid").
  • validate_gb_vat: UK VAT number format, types and HMRC mod-97 / 9755 checksum.
  • validate_ein: US EIN 9-digit format and valid IRS campus prefix (EINs have no check digit, so this catches typos and fake prefixes, not every invalid number).
  • validate_batch: many identifiers in one call (paid endpoint only).

Use cases

  • Accounts-payable agents: run check_invoice_payee on every invoice and only auto-pay pay verdicts.
  • Accounts-payable agents: verify supplier IBAN/BIC and VAT IDs before approving a payment run.
  • Catch IBAN typos and BIC/IBAN country mismatches (a common fraud signal).
  • Vendor onboarding: confirm an EU VAT ID is registered in VIES.

Connect

Claude Desktop / Cursor / Cline / VS Code (any client that supports remote Streamable HTTP servers):

{
  "mcpServers": {
    "invoice-validator": {
      "url": "https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcp"
    }
  }
}

Paid / production (RapidAPI):

{
  "mcpServers": {
    "invoice-validator": {
      "url": "https://invoice-payment-id-validator.p.rapidapi.com/mcp",
      "headers": {
        "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
        "X-RapidAPI-Host": "invoice-payment-id-validator.p.rapidapi.com"
      }
    }
  }
}

For clients that only support stdio: npx -y mcp-remote https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcp

Notes

  • Stateless. Inputs aren't stored beyond standard request logs.
  • Validation checks format and checksums (plus VIES when live=true). It doesn't prove an account belongs to a given company.
  • VIES has maintenance windows and per-country outages. When a live lookup fails you get vies.checked=false (and an info-level vies_unavailable flag in check_invoice_payee), never "invalid". Treat that as "not checked yet": keep the invoice on review and retry the lookup later (for example after 15 to 60 minutes) instead of rejecting it.
  • A valid IBAN can still belong to a fraudster. If a known vendor's bank details change, confirm the change by phoning them on a number you already had, not one printed on the new invoice.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.