Use case · VerifyDesk
Verify an EU VAT number via API, from an agent
Check that an EU VAT number is valid before invoicing or paying, and read back the registered name and address, with one tool call against VIES.
The job
Before an invoice goes out without VAT under the reverse charge, or before a new supplier is paid, someone has to confirm that the customer or supplier VAT number is real and currently valid. In the EU the authority for that answer is VIES, the European Commission service that relays the question to the member state that issued the number.
The answer that matters is short: valid or not, and when the member state publishes it, the name and address registered against the number, so you can compare them with what the counterparty told you.
Why an agent needs a tool for it
VIES answers through a SOAP service and a web form built for people. An agent processing invoices or onboarding customers needs the same check as a function it can call in the middle of a task, with an answer it can branch on without parsing a page.
verify_vat returns one flat JSON object: the normalized number, its country, valid true or false, the registered name and address when published, and when the check was made, which is what you keep as evidence.
The calls
One tool call.
{
"name": "verify_vat",
"arguments": {
"vat_number": "FR40303265045"
}
}{
"vatNumber": "FR40303265045",
"countryCode": "FR",
"valid": true,
"name": "SA SODIMAS",
"address": "11 RUE AMPERE\n26600 PONT DE L ISERE",
"checkedAt": "2026-10-01T17:54:38.086Z",
"source": "VIES (European Commission)"
}valid is the decision; name and address are what to compare with the counterparty's own details; checkedAt is the timestamp to store with the record.
Limits worth knowing
- Some member states do not publish the name or address through VIES. The number can still come back valid with those fields absent, so do not treat a missing name as a failed check.
- VIES relays each question to the member state's own system, and those systems have maintenance windows. When one is down the tool returns an error rather than guessing, and the right move for the agent is to retry later.
- A valid VAT number proves the number is registered, not that the person you are dealing with is entitled to use it. For a new counterparty, pair it with a registry check such as verify_company.
Pricing
0.2 credits for the calls on this page.
| Tool | Credits per call |
|---|---|
| verify_vat | 0.2 |
Credits are prepaid and shared across every server. Starter is $10 for 1,000 credits, packs never expire, and 100 credits are free without a card. Full pricing.
Install
Connect VerifyDesk to your agent.
A remote MCP server over Streamable HTTP. Get a free key, swap it in, and the calls above work as written, with answers reflecting the data on the day you call.
https://verifydesk.agenttoolworks.com/mcp
claude mcp add --transport http verifydesk \ https://verifydesk.agenttoolworks.com/mcp \ --header "Authorization: Bearer atw_live_your_key"
Setup for Claude Desktop, Cursor and Windsurf is in the docs.
Read next
- VerifyDesk: every tool, the data sources and measured reliability.
- Verifying a company from an AI agent, the long-form guide.
- Screen a company or person against sanctions lists from an agent
- Validate an IBAN via API before a payment goes out
- Look up a French company by SIREN or name, via API
- Supplier onboarding checks an agent can run on its own
- All use cases
Public data only, from the sources named on the product page. Not affiliated with any registry, list publisher, job board provider or store platform named here.