Invoice & Payment ID Validator
by invoice-validator.mohamed-bahaa53000.workers.dev · remote · no sign-in to list tools · v1.2.1 · published by dev.workers.mohamed-bahaa53000.invoice-validator
Pay/review/hold verdict for invoice payees: cross-checks IBAN, BIC, VAT, EIN. Paid: RapidAPI
6 tools: 1 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http invoice-payment-id-validator https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcpTools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
6 tools
Changes things 1Claude Code: ask
check_invoice_payeeOne call before paying a supplier: validates the IBAN, BIC, VAT (EU or UK) and EIN on the invoice AND cross-checks them against each other and the supplier's country, then returns …No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One call before paying a supplier: validates the IBAN, BIC, VAT (EU or UK) and EIN on the invoice AND cross-checks them against each other and the supplier's country, then returns verdict pay / review / hold with plain-English reasons. Catches the changed-bank-details fraud pattern (e.g. a German supplier asking to be paid into a foreign account), BIC/IBAN country mismatches, unregistered VAT numbers, and (with live=true) a VIES-registered company name that doesn't match the supplier name. Pass whatever the invoice has; only one field is needed.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 5Claude Code: allow
validate_bicValidate a BIC/SWIFT code (8 or 11 chars): structure, ISO country, test-BIC flag.No findings
Why it is in this group
- The name "validate_bic" says "validate": a word for reading.
Description, as the server wrote it Validate a BIC/SWIFT code (8 or 11 chars): structure, ISO country, test-BIC flag. Pass the IBAN too and it checks that the BIC country matches the IBAN country (a common fraud/typo signal).
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
validate_einValidate a US Employer Identification Number: 9-digit format and a valid IRS campus prefix.No findings
Why it is in this group
- The name "validate_ein" says "validate": a word for reading.
Description, as the server wrote it Validate a US Employer Identification Number: 9-digit format and a valid IRS campus prefix. EINs have no check digit, so this catches typos and fake prefixes, not every invalid number.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
validate_eu_vatValidate an EU VAT ID (27 member states + XI): format and check digit offline.No findings
Why it is in this group
- The name "validate_eu_vat" says "validate": a word for reading.
Description, as the server wrote it Validate an EU VAT ID (27 member states + XI): format and check digit offline. Set live=true to also query the EU VIES registry for registration status, company name and address (slower, may be throttled; failures return vies.checked=false, never a false 'invalid').
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
validate_gb_vatValidate a UK (GB) VAT registration number: format, branch/government/health-authority types, and the HMRC mod-97 / 9755 checksum.No findings
Why it is in this group
- The name "validate_gb_vat" says "validate": a word for reading.
Description, as the server wrote it Validate a UK (GB) VAT registration number: format, branch/government/health-authority types, and the HMRC mod-97 / 9755 checksum.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
validate_ibanValidate an International Bank Account Number: mod-97 checksum, length for its country (100+ countries), SEPA membership.No findings
Why it is in this group
- The name "validate_iban" says "validate": a word for reading.
Description, as the server wrote it Validate an International Bank Account Number: mod-97 checksum, length for its country (100+ countries), SEPA membership. Returns the normalized and formatted IBAN, country and BBAN, or machine-readable error codes. Use before paying an invoice or saving supplier bank details.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.2.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http invoice-payment-id-validator https://invoice-validator.mohamed-bahaa53000.workers.dev/demo/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__invoice-payment-id-validator__validate_iban",
"mcp__invoice-payment-id-validator__validate_bic",
"mcp__invoice-payment-id-validator__validate_eu_vat",
"mcp__invoice-payment-id-validator__validate_gb_vat",
"mcp__invoice-payment-id-validator__validate_ein"
],
"ask": [
"mcp__invoice-payment-id-validator__check_invoice_payee"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as invoice-payment-id-validator. Review it before you use it.