Supplier Payment Decision Agent (Ireland)

io.github.LKennedySharePublished by GitHub account LKennedySharev0.6.0Updated Oct 28, 2026

Free daily IBAN, VIES VAT and CRO checks; paid invoice decisions. x402. Never moves invoice money.

VerifiedStreamable HTTPWeb executableFinanceSecurity & MonitoringBusiness & Commerce

Overview

AI-generated overview

Remote MCP server that checks Irish supplier identity, VAT, IBAN and invoice documents and returns advisory payment decisions.

What you can do
  • Verify a supplier's legal name, company registration number and VAT number against Irish CRO and EU VIES, then read back a stored verification by its ID.
  • Validate an IBAN's syntax and country, and check an Irish VAT number's format and live VIES registration.
  • Look up an Irish company by CRO number and confirm its status is NORMAL.
  • Compare a purchase order, goods receipt and invoice for supplier, currency, amount, line items, prices and quantities.
  • Run a five-gate decision on an Irish supplier invoice and get EXECUTE_PAYMENT, REJECT_PAYMENT or FLAG_FOR_HUMAN_REVIEW with per-check results.
  • Register an RSA public key used to sign payment-decision requests.
When to use it
Useful when an assistant helps with Irish supplier onboarding or accounts-payable checks and needs independent evidence on company status, VAT registration, IBAN validity or three-way matching before a payment is approved. The free single checks suit quick pre-payment sanity checks; the full decision is for invoice-level approval workflows.
Requirements
A remote streamable HTTP endpoint; no local package, environment variables or headers are declared. Company and VAT checks rely on the Irish CRO open data and the EU VIES service, so network access to those sources is needed. The paid decision flow requires registering an RSA public key (2048-bit or larger, PEM) and using the same tenant/paying wallet for registration and decisions.
Before you install
The registry description states checks are free daily but invoice decisions are paid via x402, so calls may incur charges. The server never moves invoice money, and results are advisory rather than a guarantee. Three-way matching only checks documents you supply, not ERP records, and IBAN checks cover syntax and country only, not account ownership or Confirmation of Payee. Registering a public key is immutable per tenant; rotate by registering a new key_id.

Installation

In SourceWeft

  1. Open Supplier Payment Decision Agent (Ireland) in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.LKennedyShare%2Fsupplier-payment-verifier/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "supplier-payment-decision-agent-ireland": {
      "type": "http",
      "url": "https://supplier-payment-verifier-production.up.railway.app/mcp/"
    }
  }
}

Tools

8

verify_supplier_payment

Use for supplier identity and VAT reconciliation, not the full signed five-gate invoice decision. Reconciles the claimed legal name, company registration number and VAT number against the Irish Companies Registration Office (IE) and the EU VIES VAT service, and returns an advisory RELEASE, REVIEW, BLOCK or INSUFFICIENT_EVIDENCE decision with per-check results and reason codes plus verification_id. Use decide_supplier_payment for the signed invoice/PO/GRN workflow, individual check tools for one check, and get_verification only to retrieve this stored result. This creates a verification and may call external sources; it never executes or authorises a bank payment. Requires explicit x402 service-fee approval or an authorized bearer token; do not automatically retry paid calls.

Parameterscallbackevidencemetadatasupplierrequiredpolicy_idrequiredrequest_idrequiredtransactionrequested_atschema_versionrequiredcustomer_assertionspayment_destination

get_verification

Read an existing identity/VAT verification created by verify_supplier_payment (POST /v1/verifications). Supply its returned verification_id UUID, not a request_id, transaction_id, invoice number or A2A task ID. Returns the stored RELEASE/REVIEW/BLOCK/INSUFFICIENT_EVIDENCE result without rerunning registry checks. The same authenticated tenant must own the result: use the original paying wallet for x402, or an authorized bearer token with verification.read scope. Missing or other-tenant IDs return not found. This does not retrieve decide_supplier_payment decisions and does not create a verification. Retrieval has its own service fee; inspect terms and obtain spending approval before paying. Do not retry payment automatically or infer invoice-payment authorization from a stored advisory result.

Parametersverification_idrequired

check_iban

Cheapest call. Validates an IBAN (ISO 13616 mod-97 checksum, length and country) before you pay it. Returns PASSED or FAILED with a reason code. Irish (IE) IBANs pass by default. Use only for bank-account identifier syntax/country checks, not account ownership, bank Confirmation of Payee or supplier identity. Use check_vat for VAT registration, check_company for CRO status, and decide_supplier_payment for the complete signed invoice decision. No bank transfer occurs. Free: 10 attempts per UTC day per IP, shared REST/MCP; failures count. Then 0.005 USDC with explicit approval.

Parametersrequestrequired

check_vat

Validates the Irish VAT number format and check letter, then confirms registration live with EU VIES. Returns PASSED, FAILED or UNAVAILABLE (VIES outage) with a reason code and available consultation/audit evidence. Use for one VAT number, not company-name matching or invoice approval. check_company checks CRO status; verify_supplier_payment reconciles claimed supplier identity and VAT; decide_supplier_payment runs the full signed invoice workflow. An outage is uncertainty, not invalid registration; do not auto-pay to retry. Free: 10 attempts per UTC day per IP, shared REST/MCP; failures count. Then 0.01 USDC with explicit approval.

Parametersrequestrequired

check_company

Looks up an Irish company by CRO number in the Companies Registration Office open data. PASSED only if the company status is NORMAL; dissolved, liquidated or unknown companies FAIL. Returns the registered name. Use a CRO company number, not a company name or VAT number. Source uncertainty returns UNAVAILABLE, not a pass. Use check_vat for VIES registration, verify_supplier_payment for claimed-name/identity reconciliation, or decide_supplier_payment for a complete signed invoice decision. No invoice is approved here. Free: 10 attempts per UTC day per IP, shared REST/MCP; failures count. Then 0.01 USDC with explicit approval.

Parametersrequestrequired

check_three_way_match

Checks that a purchase order, goods receipt and invoice agree on supplier, currency, amount, line items, unit prices and quantities received. Stateless; you attach the documents. Checks caller-supplied documents, not independently verified ERP records. Returns PASSED or FAILED and a reason code; no CRO/VIES lookup, signature validation or bank transfer is performed by this tool. Use decide_supplier_payment when document matching must be combined with supplier identity, VAT, payee and signature checks. Requires an explicitly approved service fee.

Parametersrequestrequired

decide_supplier_payment

Flagship. Independent third-party decision for an Irish supplier invoice. Runs five gates (CRO status NORMAL, EU VIES VAT, payee-name and IBAN check, PO/GRN/invoice 3-way match, RSA signature) and returns exactly one of EXECUTE_PAYMENT, REJECT_PAYMENT or FLAG_FOR_HUMAN_REVIEW with per-check results, reason codes and a confidence score. The legacy CONFIRMATION_OF_PAYEE result means a payee-name comparison with the CRO legal name and IBAN validation, not bank Confirmation of Payee. ERP_THREE_WAY_MATCH compares caller-supplied documents, not independently verified ERP records. Decides only; never moves money. Register a signing key first via /v1/agent-keys. Use this for the complete signed invoice/PO/GRN workflow, not verify_supplier_payment's separate identity/VAT contract or get_verification retrieval. Provider uncertainty requires review, not execution; retain independent payment approval. Supply a stable transaction_id for retries and never automatically repay.

Parameterspayment_requestrequired

register_signing_key

Registers an RSA public key (2048-bit or larger, PEM) used to sign payment-decision requests. Keys are immutable per tenant; rotate by registering a new key_id. Returns key_id and registered=true. Use before decide_supplier_payment and use the same tenant/paying wallet for registration and decision. This is not a supplier check, API-key creation or payment authorization. Keep the RSA private key local; a conflicting existing key_id returns a conflict. Inspect and approve the registration fee before calling.

Parameterskey_idrequiredpublic_key_pemrequired

Version history

5
  1. v0.6.0LatestOct 17, 2026
  2. v0.5.0Oct 17, 2026
  3. v0.4.0Oct 16, 2026
  4. v0.3.0Oct 15, 2026
  5. v0.2.0Oct 14, 2026

Score

83% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts

    Declare a GitHub repository with a README, or serve resource_documentation in the OAuth protected-resource metadata.

  • LicenseNot applicable

    A hosted service is used under its provider's terms, so no license is expected here. This check is left out of the percentage.