check_vat
Pack: vies-eu · Connect: https://pipeworx.io/mcp (see Connect below for a single-pack URL)
No MCP client? Call it directly: GET https://gateway.pipeworx.io/v1/tools/check_vat for the schema, then POST the same URL with its arguments for the data.
Validate an EU VAT number against VIES. Returns whether the number is a valid/registered EU VAT registration, plus the registered name and address when the member state publishes them (many states return ”---” or empty even for valid numbers). A false result means not registered/invalid. If the national service is temporarily down, userError is MS_UNAVAILABLE/MS_MAX_CONCURRENT_REQ etc. — treat that as “could not check”, not “invalid”.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
countryCode | string | yes | 2-letter EU member-state code = the VAT prefix, e.g. “DE”, “FR”, “IT”. Greece is “EL” (not “GR”). |
vatNumber | string | yes | The VAT number WITHOUT the country prefix, e.g. “811569869”. If you include the prefix (e.g. “DE811569869”) it is stripped automatically. |
Example call
Arguments
{
"countryCode": "DE",
"vatNumber": "811569869"
}
curl
curl -X POST https://gateway.pipeworx.io/vies-eu/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"check_vat","arguments":{"countryCode":"DE","vatNumber":"811569869"}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('check_vat', {
"countryCode": "DE",
"vatNumber": "811569869"
});
More examples
{
"countryCode": "FR",
"vatNumber": "75123456789"
}
Connect
Add this to your MCP client config — every tool in the catalog, including this one — or use one-click install buttons:
{
"mcpServers": {
"pipeworx": {
"url": "https://pipeworx.io/mcp"
}
}
}
Connect to just the vies-eu pack
{
"mcpServers": {
"vies-eu": {
"url": "https://gateway.pipeworx.io/vies-eu/mcp"
}
}
}
See Getting Started for client-specific install steps.