Validate emails, phones, IBAN, VAT; look up IPs and companies; rates, holidays, time via Abstract.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Work out the VAT-compliant price for an amount in a country: the amounts without and with VAT, the VAT amount and the rate. Set is_vat_incl to true for the reverse calculation (the amount already contains VAT). VAT Validation API. Spends 1 credit of your VAT Validation plan per request (a failed request counts too); needs the VAT Validation API key.
The amount to calculate from.
Two-letter country code of the transaction, e.g. DE.
True if the amount already includes VAT (default false).
A reduced-rate category from abstractapi_list_vat_rates (default: the standard rate).
Work out the VAT-compliant price for an amount in a country: the amounts without and with VAT, the VAT amount and the rate. Set is_vat_incl to true for the reverse calculation (the amount already contains VAT). VAT Validation API. Spends 1 credit of your VAT Validation plan per request (a failed request counts too); needs the VAT Validation API key.
| Argument | Type | Description |
|---|---|---|
| amount* | number | The amount to calculate from. |
| is_vat_incl | boolean | True if the amount already includes VAT (default false). |
| country_code* | string | Two-letter country code of the transaction, e.g. DE. |
| vat_category | string | A reduced-rate category from abstractapi_list_vat_rates (default: the standard rate). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"amount",
"country_code"
],
"properties": {
"amount": {
"type": "number",
"maximum": 1000000000000,
"description": "The amount to calculate from.",
"exclusiveMinimum": 0
},
"is_vat_incl": {
"type": "boolean",
"description": "True if the amount already includes VAT (default false)."
},
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter country code of the transaction, e.g. DE."
},
"vat_category": {
"type": "string",
"pattern": "^[A-Za-z0-9 _-]{1,60}$",
"description": "A reduced-rate category from abstractapi_list_vat_rates (default: the standard rate)."
}
}
}Convert an amount from a base currency to one target currency, at the latest rate or at the rate of a past date. Exchange Rates API. Spends 1 credit of your Exchange Rates plan per request (a failed request counts too); needs the Exchange Rates API key.
| Argument | Type | Description |
|---|---|---|
| base* | string | Currency to convert from, e.g. USD. |
| date | string | A past date, yyyy-mm-dd (default: the latest rate). |
| target* | string | Currency to convert to, e.g. EUR (one currency). |
| base_amount | number | Amount of the base currency (default 1). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"base",
"target"
],
"properties": {
"base": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,10}$",
"description": "Currency to convert from, e.g. USD."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A past date, yyyy-mm-dd (default: the latest rate)."
},
"target": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,10}$",
"description": "Currency to convert to, e.g. EUR (one currency)."
},
"base_amount": {
"type": "number",
"maximum": 1000000000000000,
"description": "Amount of the base currency (default 1).",
"exclusiveMinimum": 0
}
}
}Convert a date and time from one location to another (places, coordinates or IP addresses). Without base_datetime the current time is converted. Timezone API. Spends 1 credit of your Timezone plan per request (a failed request counts too); needs the Timezone API key.
| Argument | Type | Description |
|---|---|---|
| base_datetime | string | The time to convert, yyyy-mm-dd hh:mm:ss in the base location (default: now). |
| base_location* | string | The location the time belongs to. |
| target_location* | string | The location to convert the time into. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"base_location",
"target_location"
],
"properties": {
"base_datetime": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2}$",
"description": "The time to convert, yyyy-mm-dd hh:mm:ss in the base location (default: now)."
},
"base_location": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "The location the time belongs to."
},
"target_location": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "The location to convert the time into."
}
}
}Firmographic data for a company web domain: name, description, logo, address, industry (SIC/NAICS), employee and revenue ranges, contacts, social profiles, technologies. Company Enrichment API. Spends 1 credit of your Company Enrichment plan per request (a failed request counts too); needs the Company Enrichment API key.
| Argument | Type | Description |
|---|---|---|
| domain* | string | The company's domain, e.g. airbnb.com (a pasted URL is reduced to its domain). |
| fields | string | Only these top-level keys, e.g. company_name,industry,employee_range. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"description": "The company's domain, e.g. airbnb.com (a pasted URL is reduced to its domain)."
},
"fields": {
"type": "string",
"pattern": "^[A-Za-z_]+(\\s*,\\s*[A-Za-z_]+){0,19}$",
"description": "Only these top-level keys, e.g. company_name,industry,employee_range."
}
}
}The current local date, time and timezone (name, abbreviation, GMT offset, daylight saving) of a place, coordinates or IP address. Timezone API. Spends 1 credit of your Timezone plan per request (a failed request counts too); needs the Timezone API key.
| Argument | Type | Description |
|---|---|---|
| location* | string | A place name (e.g. Oxford, United Kingdom), latitude,longitude coordinates, or an IP address. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"location"
],
"properties": {
"location": {
"type": "string",
"maxLength": 200,
"minLength": 2,
"description": "A place name (e.g. Oxford, United Kingdom), latitude,longitude coordinates, or an IP address."
}
}
}Latest foreign-exchange and cryptocurrency rates for a base currency against one or more targets (all supported currencies if none is given). Exchange Rates API. Spends 1 credit of your Exchange Rates plan per request (a failed request counts too); needs the Exchange Rates API key.
| Argument | Type | Description |
|---|---|---|
| base* | string | Base currency, ISO 4217 code, e.g. USD. |
| target | string | Target currencies separated by commas, e.g. EUR,GBP,JPY. Omit for all. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"base"
],
"properties": {
"base": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,10}$",
"description": "Base currency, ISO 4217 code, e.g. USD."
},
"target": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,10}(\\s*,\\s*[A-Za-z0-9]{2,10}){0,99}$",
"description": "Target currencies separated by commas, e.g. EUR,GBP,JPY. Omit for all."
}
}
}Exchange rates of a base currency on a past date. Abstract lists this endpoint as closed beta: a key may be refused (HTTP 401/403) until Abstract enables it. Exchange Rates API. Spends 1 credit of your Exchange Rates plan per request (a failed request counts too); needs the Exchange Rates API key.
| Argument | Type | Description |
|---|---|---|
| base* | string | Base currency, e.g. USD. |
| date* | string | The past date, yyyy-mm-dd. |
| target | string | Target currencies separated by commas. Omit for all. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"base",
"date"
],
"properties": {
"base": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,10}$",
"description": "Base currency, e.g. USD."
},
"date": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The past date, yyyy-mm-dd."
},
"target": {
"type": "string",
"pattern": "^[A-Za-z0-9]{2,10}(\\s*,\\s*[A-Za-z0-9]{2,10}){0,99}$",
"description": "Target currencies separated by commas. Omit for all."
}
}
}Public, local and religious holidays of a country for a date, a month or a year. Free Abstract plans require year, month and day together; paid plans default missing values to today. Public Holidays API. Spends 1 credit of your Public Holidays plan per request (a failed request counts too); needs the Public Holidays API key.
| Argument | Type | Description |
|---|---|---|
| day | integer | Day of the month 1-31 (needs month and year). |
| year | integer | Year, e.g. 2026. |
| month | integer | Month 1-12. |
| country* | string | Two-letter country code, e.g. SG. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"country"
],
"properties": {
"day": {
"type": "integer",
"maximum": 31,
"minimum": 1,
"description": "Day of the month 1-31 (needs month and year)."
},
"year": {
"type": "integer",
"maximum": 2200,
"minimum": 1900,
"description": "Year, e.g. 2026."
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1,
"description": "Month 1-12."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter country code, e.g. SG."
}
}
}The latest VAT rates of one country: the standard rate and each reduced-rate category with its description. VAT Validation API. Abstract answers this endpoint without checking the key and may not count it as a credit; this tool still needs the VAT API key.
| Argument | Type | Description |
|---|---|---|
| country_code* | string | Two-letter country code, e.g. DE. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"country_code"
],
"properties": {
"country_code": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter country code, e.g. DE."
}
}
}Geolocation and security intelligence for one IPv4 or IPv6 address: VPN/proxy/Tor/hosting/abuse flags, ASN, company, location, timezone, flag and currency. IP Intelligence API. An explicit ip_address is required (without one Abstract would look up the caller's own address, which here is this server's). Spends 1 credit of your IP Intelligence plan per request (a failed request counts too); needs the IP Intelligence API key.
| Argument | Type | Description |
|---|---|---|
| fields | string | Only these top-level sections, e.g. location,security (security, asn, company, domains, location, timezone, flag, currency). |
| ip_address* | string | The IPv4 or IPv6 address to look up. Required. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"ip_address"
],
"properties": {
"fields": {
"type": "string",
"pattern": "^[A-Za-z_]+(\\s*,\\s*[A-Za-z_]+){0,19}$",
"description": "Only these top-level sections, e.g. location,security (security, asn, company, domains, location, timezone, flag, currency)."
},
"ip_address": {
"type": "string",
"description": "The IPv4 or IPv6 address to look up. Required."
}
}
}Validate and enrich one phone number: format, carrier, line type (mobile, landline, VoIP), location, line status, risk and known breaches. Phone Intelligence API. Spends 1 credit of your Phone Intelligence plan per request (a failed request counts too); needs the Phone Intelligence API key.
| Argument | Type | Description |
|---|---|---|
| phone* | string | The phone number, ideally with the international prefix, e.g. +14155550100. |
| country | string | Two-letter country code of the number, only needed when the number has no international prefix. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"phone"
],
"properties": {
"phone": {
"type": "string",
"pattern": "^\\+?[0-9 ().-]{4,32}$",
"maxLength": 32,
"minLength": 4,
"description": "The phone number, ideally with the international prefix, e.g. +14155550100."
},
"country": {
"type": "string",
"pattern": "^[A-Za-z]{2}$",
"description": "Two-letter country code of the number, only needed when the number has no international prefix."
}
}
}Check one email address: deliverability (format, MX, SMTP), quality score, free/disposable/role/catch-all flags, sender details and known data breaches. Email Reputation API. Spends 1 credit of your Email Reputation plan per request (a failed request counts too); needs the Email Reputation API key.
| Argument | Type | Description |
|---|---|---|
| email* | string | The email address to check, e.g. [email protected]. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"maxLength": 254,
"minLength": 3,
"description": "The email address to check, e.g. [email protected]."
}
}
}Check the structure and check digits of one International Bank Account Number. It does not prove that the account exists. IBAN Validation API. Spends 1 credit of your IBAN Validation plan per request (a failed request counts too); needs the IBAN Validation API key.
| Argument | Type | Description |
|---|---|---|
| iban* | string | The IBAN, with or without spaces. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"iban"
],
"properties": {
"iban": {
"type": "string",
"pattern": "^[A-Za-z0-9 ]{5,50}$",
"description": "The IBAN, with or without spaces."
}
}
}Check whether a VAT number is valid and, if it is, return the registered company name and address. VAT Validation API. Spends 1 credit of your VAT Validation plan per request (a failed request counts too); needs the VAT Validation API key.
| Argument | Type | Description |
|---|---|---|
| vat_number* | string | The VAT number including the two-letter country prefix, e.g. SE556656688001. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"vat_number"
],
"properties": {
"vat_number": {
"type": "string",
"pattern": "^[A-Za-z0-9 .-]{4,30}$",
"description": "The VAT number including the two-letter country prefix, e.g. SE556656688001."
}
}
}