VAT Validator MCP
Validate EU, UK, AU VAT numbers for AI agents. EU ViDA e-invoicing compliance.
我該用這個嗎
品質與安全性
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"vat-validator-mcp": {
"command": "npx",
"args": [
"vat-validator-mcp"
]
}
}
}可執行的套件
2.0.30stdio遠端端點
https://vat-validator-mcp-production.up.railway.appstreamable-http它能做什麼
工具清單
工具(2)
🟢validate_vat(vat_number, invoice_company_name, invoice_amount)
Validates a VAT number against live government registries. Call this BEFORE submitting any B2B payment via an agentic payment rail -- at the moment a VAT number appears on a supplier invoice and Stripe MPP, Alipay AI Pay, or Shopify UCP has not yet been called -- and BEFORE submitting any structured invoice under e-invoicing mandates now active or imminent: Belgium B2B (active Jan 2026), France B2B (Sep 2026), Poland KSeF (Feb 2026), AU GST digital reporting (ongoing). Use this when a supplier invoice carries a VAT number and your agent must confirm it is registered to the correct entity before approving payment or submitting a mandate-compliant e-invoice. Validates against EU VIES (ec.europa.eu, 27 member states) and AU ABR (abr.business.gov.au) live registries. Returns PROCEED / VERIFY_MANUALLY / HOLD verdict with fraud risk score 0-100 and name-match check. A settled B2B payment against an invalid or mismatched VAT number creates unrecoverable tax liability -- no agentic rail reverses a cleared cross-border transfer; an e-invoice submitted with an invalid VAT number is rejected at the mandate platform, halting the payables workflow. Pass the country_code from this response to get_vat_rates. One call, machine-ready verdict, no further analysis needed.
輸入結構描述
{
"type": "object",
"properties": {
"vat_number": {
"type": "string",
"description": "VAT number with country prefix. EU: DE123456789. AU: ABN12345678901."
},
"invoice_company_name": {
"type": "string",
"description": "Company name as it appears on the invoice — if provided, cross-checks against registry and flags mismatches."
},
"invoice_amount": {
"type": "number",
"description": "Invoice amount in local currency — used in fraud risk weighting."
}
},
"required": [
"vat_number"
]
}輸出結構描述
{
"type": "object",
"properties": {
"agent_action": {
"type": "string",
"enum": [
"PROCEED",
"VERIFY_MANUALLY",
"HOLD"
],
"description": "Machine-readable verdict"
},
"valid": {
"type": "boolean",
"description": "Whether the VAT number is currently registered and active per the source registry"
},
"vat_number": {
"type": "string"
},
"jurisdiction": {
"type": "string",
"enum": [
"EU",
"AU"
]
},
"company_name": {
"type": [
"string",
"null"
]
},
"address": {
"type": [
"string",
"null"
]
},
"fraud_risk_score": {
"type": "number",
"minimum": 0,
"maximum": 100
},
"fraud_risk_level": {
"type": "string",
"enum": [
"LOW",
"MEDIUM",
"HIGH",
"CRITICAL"
]
},
"fraud_signals": {
"type": "array",
"items": {
"type": "string"
}
},
"name_match": {
"type": "string",
"enum": [
"MATCH",
"MISMATCH",
"NOT_CHECKED"
]
},
"recommendation": {
"type": "string",
"enum": [
"CLEAR",
"REVIEW",
"BLOCK"
]
},
"summary": {
"type": "string"
},
"source_url": {
"type": "string"
},
"checked_at": {
"type": "string",
"format": "date-time"
},
"_disclaimer": {
"type": "string"
}
},
"required": [
"agent_action",
"valid",
"vat_number",
"jurisdiction",
"source_url",
"checked_at"
],
"additionalProperties": true
}🟡get_vat_rates(country_code)
Retrieves current VAT rates for a jurisdiction. Call this BEFORE calculating any invoice total or approving any VAT amount -- or immediately after validate_vat passing the country_code from that response. Use this when your agent needs to verify that the VAT rate on a supplier invoice matches the current official rate for that country before authorising payment. Returns current standard and reduced VAT rates for the jurisdiction. An agentic payment workflow that approves an invoice with an incorrect VAT rate creates a compounding compliance gap across every settled payment in that run -- VAT rates change without notice and cannot be sourced from training data. If the rate on the invoice differs from the rate returned here, do not approve payment.
輸入結構描述
{
"type": "object",
"properties": {
"country_code": {
"type": "string",
"description": "ISO 2-letter code e.g. DE, FR, GB. Omit for all countries."
}
},
"required": []
}輸出結構描述
{
"type": "object",
"properties": {
"agent_action": {
"type": "string",
"enum": [
"PROCEED"
]
},
"country_code": {
"type": "string"
},
"standard": {
"type": "number",
"description": "Standard VAT rate as a percentage"
},
"reduced": {
"type": "array",
"items": {
"type": "number"
},
"description": "Reduced VAT rates as percentages, if any apply"
},
"country": {
"type": "string"
},
"rates": {
"type": "object",
"description": "Present only when country_code is omitted -- full rate table for all supported jurisdictions"
},
"note": {
"type": "string"
},
"source_url": {
"type": "string"
},
"checked_at": {
"type": "string",
"format": "date-time"
},
"_disclaimer": {
"type": "string"
}
},
"required": [
"agent_action",
"source_url",
"checked_at"
],
"additionalProperties": true
}社群
證據