Supplier Identity and VAT Verification
Verify a supplier's identity and VAT via Irish CRO and EU VIES before paying. Pay per call, x402.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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": {
"supplier-payment-verifier": {
"url": "https://supplier-payment-verifier-production.up.railway.app/mcp/"
}
}
}Remote endpoints
https://supplier-payment-verifier-production.up.railway.app/mcp/streamable-httpWhat it can do
Tool inventory
Tools (2)
⚪verify_supplier_payment(schema_version, request_id, policy_id, supplier, transaction, ...)
Verify a supplier's identity and VAT registration and return the advisory decision. Identity registry checks are routed to the Irish CRO for IE only. VAT is verified independently through EU VIES. Requires the verification.submit scope. transaction, customer_assertions and payment_destination are only evaluated when payment checks are enabled on the service; otherwise they may be omitted.
Input Schema
{
"type": "object",
"properties": {
"schema_version": {
"const": "1.0",
"title": "Schema Version",
"type": "string"
},
"request_id": {
"format": "uuid",
"title": "Request Id",
"type": "string"
},
"policy_id": {
"const": "eu-b2b-payment-v1",
"title": "Policy Id",
"type": "string"
},
"supplier": {
"$ref": "#/$defs/SupplierInput"
},
"transaction": {
"anyOf": [
{
"$ref": "#/$defs/TransactionInput"
},
{
"type": "null"
}
],
"default": null
},
"customer_assertions": {
"anyOf": [
{
"$ref": "#/$defs/AssertionsInput"
},
{
"type": "null"
}
],
"default": null
},
"payment_destination": {
"anyOf": [
{
"$ref": "#/$defs/PaymentDestinationInput"
},
{
"type": "null"
}
],
"default": null
},
"requested_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Requested At"
},
"evidence": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/EvidenceInput"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Evidence"
},
"callback": {
"anyOf": [
{
"$ref": "#/$defs/CallbackInput"
},
{
"type": "null"
}
],
"default": null
},
"metadata": {
"anyOf": [
{
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Metadata"
}
},
"required": [
"schema_version",
"request_id",
"policy_id",
"supplier"
],
"$defs": {
"AssertionsInput": {
"additionalProperties": false,
"properties": {
"supplier_approved": {
"title": "Supplier Approved",
"type": "boolean"
},
"po_matched": {
"title": "Po Matched",
"type": "boolean"
},
"amount_within_po": {
"title": "Amount Within Po",
"type": "boolean"
},
"currency_matched": {
"title": "Currency Matched",
"type": "boolean"
},
"invoice_supplier_matched": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Invoice Supplier Matched"
},
"assertion_source": {
"anyOf": [
{
"enum": [
"SAP",
"D365",
"ORACLE",
"NETSUITE",
"OTHER"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Assertion Source"
}
},
"required": [
"supplier_approved",
"po_matched",
"amount_within_po",
"currency_matched"
],
"title": "AssertionsInput",
"type": "object"
},
"CallbackInput": {
"additionalProperties": false,
"properties": {
"url": {
"title": "Url",
"type": "string"
},
"authentication_reference": {
"anyOf": [
{
"maxLength": 200,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Authentication Reference"
}
},
"required": [
"url"
],
"title": "CallbackInput",
"type": "object"
},
"EvidenceInput": {
"additionalProperties": false,
"properties": {
"type": {
"enum": [
"INVOICE",
"PURCHASE_ORDER",
"SUPPLIER_MASTER",
"BANK_CHANGE_REQUEST",
"OTHER"
],
"title": "Type",
"type": "string"
},
"sha256": {
"pattern": "^[a-f0-9]{64}$",
"title": "Sha256",
"type": "string"
},
"observed_at": {
"title": "Observed At",
"type": "string"
},
"content_uri": {
"anyOf": [
{
"maxLength": 2048,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Content Uri"
},
"media_type": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Media Type"
}
},
"required": [
"type",
"sha256",
"observed_at"
],
"title": "EvidenceInput",
"type": "object"
},
"PaymentDestinationInput": {
"additionalProperties": false,
"properties": {
"fingerprint": {
"maxLength": 256,
"minLength": 32,
"title": "Fingerprint",
"type": "string"
},
"fingerprint_algorithm": {
"const": "HMAC-SHA-256",
"title": "Fingerprint Algorithm",
"type": "string"
},
"country_code": {
"pattern": "^[A-Z]{2}$",
"title": "Country Code",
"type": "string"
},
"beneficiary_name": {
"anyOf": [
{
"maxLength": 300,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Beneficiary Name"
},
"is_declared_change": {
"default": false,
"title": "Is Declared Change",
"type": "boolean"
}
},
"required": [
"fingerprint",
"fingerprint_algorithm",
"country_code"
],
"title": "PaymentDestinationInput",
"type": "object"
},
"SupplierInput": {
"additionalProperties": false,
"properties": {
"customer_supplier_id": {
"anyOf": [
{
"maxLength": 128,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Customer Supplier Id"
},
"claimed_legal_name": {
"maxLength": 300,
"minLength": 1,
"title": "Claimed Legal Name",
"type": "string"
},
"country_code": {
"pattern": "^[A-Z]{2}$",
"title": "Country Code",
"type": "string"
},
"company_registration_number": {
"anyOf": [
{
"maxLength": 100,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Company Registration Number"
},
"vat_number": {
"anyOf": [
{
"maxLength": 64,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Vat Number"
},
"lei": {
"anyOf": [
{
"pattern": "^[A-Z0-9]{20}$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Lei"
},
"claimed_address": {
"anyOf": [
{
"maxLength": 500,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Claimed Address"
}
},
"required": [
"claimed_legal_name",
"country_code"
],
"title": "SupplierInput",
"type": "object"
},
"TransactionInput": {
"additionalProperties": false,
"properties": {
"invoice_id": {
"maxLength": 128,
"minLength": 1,
"title": "Invoice Id",
"type": "string"
},
"purchase_order_id": {
"anyOf": [
{
"maxLength": 128,
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Purchase Order Id"
},
"amount": {
"pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,4})?$",
"title": "Amount",
"type": "string"
},
"currency": {
"pattern": "^[A-Z]{3}$",
"title": "Currency",
"type": "string"
},
"invoice_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Invoice Date"
},
"due_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Due Date"
}
},
"required": [
"invoice_id",
"amount",
"currency"
],
"title": "TransactionInput",
"type": "object"
}
},
"title": "verify_supplier_paymentArguments"
}🟢get_verification(verification_id)
Retrieve a verification result belonging to the authenticated tenant. Requires the verification.read scope.
Input Schema
{
"type": "object",
"properties": {
"verification_id": {
"format": "uuid",
"title": "Verification Id",
"type": "string"
}
},
"required": [
"verification_id"
],
"title": "get_verificationArguments"
}Community
Evidence