mcp-europe-business
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_TRANSPORT | No | stdio |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| validate_nifA | Validates a Portuguese NIF (Número de Identificação Fiscal) — the 9-digit tax identification number issued by the Portuguese Tax Authority (AT) to individuals and companies. Applies the official modulo-11 checksum algorithm to verify the check digit. Returns { valid: true, nif: string } for valid NIFs, or { valid: false, reason: string } for invalid format or failed checksum. First-digit rules are enforced: 1–3 for individuals, 5 for corporations, 6 for public entities, 7–8 for other entities, 9 for occasional taxpayers. Use when processing Portuguese invoices (faturas), onboarding suppliers, validating user registrations, or any fiscal compliance workflow. Does not query the AT database — offline format and checksum validation only. |
| validate_ibanA | Validates an IBAN (International Bank Account Number) using the ISO 13616 MOD-97 algorithm. Supports 18 European countries: PT, ES, FR, DE, IT, NL, BE, PL, SE, DK, FI, AT, IE, GR, HU, RO, CZ, HR. Returns { valid: boolean, country: string, iban: string } — country is extracted from the 2-letter prefix. Returns { valid: false, reason: string } for malformed input. Spaces are automatically stripped before validation. Use when validating supplier bank details for SEPA transfers, processing direct debit mandates, verifying payment data in e-commerce checkouts, or any workflow requiring a verified EU bank account number. Validates structure and checksum only — does not confirm account existence. |
| get_vat_rateA | Returns all VAT (Value Added Tax) rates for a given EU country — standard, reduced, intermediate, and super-reduced rates where applicable, as numeric percentages. Returns { country, standard, reduced?, intermediate?, superreduced? } for supported countries, or { error, available } listing all valid codes if the country is not found. Supports 18 EU member states: PT, ES, FR, DE, IT, NL, BE, PL, SE, DK, FI, AT, IE, GR, HU, RO, CZ, HR. Use when calculating EU cross-border invoice tax, determining correct rate for e-commerce checkout by customer country, generating compliant VAT breakdowns, or any workflow requiring accurate and current EU VAT rates per jurisdiction. |
| get_portugal_holidaysA | Returns all Portuguese national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Returns 10 mandatory national holidays defined by Portuguese law. Use when calculating business deadlines, delivery dates, payment due dates, SLA periods, or scheduling tasks that must avoid non-working days in Portugal. |
| get_spain_holidaysA | Returns all Spanish national public holidays for a given year as a structured list. Each holiday includes { date: 'YYYY-MM-DD', name: string, name_en: string }. Returns 9 mandatory national holidays defined by Spanish law. Does not include regional holidays that vary by autonomous community. |
| get_france_holidaysA | Returns all French national public holidays for a given year. Easter-dependent holidays (Easter Monday, Ascension, Whit Monday) are dynamically calculated using the Anonymous Gregorian algorithm. Returns 11 mandatory holidays defined by French law. |
| validate_nif_esA | Validates Spanish tax identification numbers — NIF (DNI, 8 digits + check letter, for Spanish citizens), NIE (Número de Identidad de Extranjero, starts with X/Y/Z, for foreign residents), and CIF (Código de Identificación Fiscal, letter + 7 digits + control, for companies). Automatically detects the document type. Returns { valid: boolean, type: 'NIF'|'NIE'|'CIF', id: string }. |
| validate_siretA | Validates a French SIRET (14-digit company establishment number) using the official Luhn algorithm. The first 9 digits are the SIREN (company identifier) and the last 5 identify the specific establishment. Returns { valid: boolean, siren: string, establishment: string, siret: string }. Handles the La Poste special case automatically. |
| validate_tva_frA | Validates a French TVA intracom (VAT) number — format 'FR' + 2 alphanumeric key characters + 9-digit SIREN. Returns { valid: boolean, key: string, siren: string, tva: string }. When the key is numeric, validates using the official formula: key = (12 + 3 × (SIREN mod 97)) mod 97. |
| calculate_working_daysA | Counts the number of working days between two dates (inclusive), excluding Saturdays, Sundays, and all 10 Portuguese national public holidays. Returns { start_date, end_date, working_days: number }. Use when calculating Portuguese invoice payment deadlines, legal notice periods, or SLA response times. |
| format_number_europeanA | Formats a number using the locale conventions of a specific European country — correct decimal and thousands separators. Returns { original, formatted, locale, country_code }. Supports PT, ES, FR, DE, IT, NL, BE, PL, SE, DK, FI, AT, IE, GR, HU, RO, UK. |
| validate_codice_fiscaleA | Validates an Italian Codice Fiscale (fiscal code) for individuals — a 16-character alphanumeric code issued by the Italian Revenue Agency (Agenzia delle Entrate). Applies the official odd/even position checksum algorithm. Returns { valid: boolean, codice_fiscale: string } or { valid: false, reason: string }. Use when processing Italian invoices, onboarding Italian individuals, or any Italian compliance workflow requiring a verified personal fiscal code. |
| validate_partita_ivaA | Validates an Italian Partita IVA (VAT number for companies and self-employed) — an 11-digit number issued by the Italian Revenue Agency. Applies the official Luhn-variant checksum algorithm used by Italian tax authorities. Returns { valid: boolean, partita_iva: string } or { valid: false, reason: string }. Use when processing Italian B2B invoices, validating Italian suppliers, or any Italian business compliance workflow. |
| validate_vat_deA | Validates a German VAT identification number (Umsatzsteuer-Identifikationsnummer, USt-IdNr) — format 'DE' followed by 9 digits. Verifies the format and applies the official ISO 7064 MOD-11-10 checksum algorithm. Returns { valid: boolean, vat_number: string, country: 'DE' } or { valid: false, reason: string }. Use when processing German invoices, validating German suppliers for intra-EU transactions, or any B2B workflow involving German companies. |
| validate_vat_ukA | Validates a UK VAT registration number — format 'GB' followed by 9 digits (standard), 12 digits (branch traders), or 'GD'/'HA' followed by 3 digits (government/health authorities). Applies the official HMRC modulo-97 algorithm for 9-digit numbers. Returns { valid: boolean, vat_number: string, type: string, country: 'GB' }. Use when processing UK invoices, validating UK suppliers post-Brexit, or any B2B workflow involving UK VAT numbers. |
| validate_kvk_nlA | Validates a Dutch KVK (Kamer van Koophandel) chamber of commerce number — an 8-digit registration number assigned to all businesses registered in the Netherlands. Verifies the format and applies the official weighted checksum algorithm. Returns { valid: boolean, kvk: string, country: 'NL' } or { valid: false, reason: string }. Use when processing Dutch invoices, validating Dutch suppliers, or onboarding Dutch business partners. |
| validate_postal_codeA | Validates a postal code format for a given European country using the official pattern for that country. Returns { valid: boolean, postal_code: string, country: string, format: string }. Supports PT (4+3 digit), ES (5 digit), FR (5 digit), DE (5 digit), IT (5 digit), NL (4 digits + 2 letters), BE (4 digit), PL (5+2 digit), SE (5 digit), AT (4 digit), IE (Eircode 3+4), GR (5 digit), HU (4 digit), RO (6 digit), UK (complex alphanumeric). Use in e-commerce checkout validation, address verification, or logistics workflows. |
| get_payment_termsA | Returns the legal B2B payment terms for a given European country — the default payment period, maximum allowed period, and late payment rules as defined by EU Directive 2011/7/EU and local implementations. Returns { country, default_days, max_days, late_payment_interest, notes }. Use when generating invoices, setting payment due dates, or automating accounts receivable workflows. Information provided as reference only — not legal advice. |
| get_invoice_requirementsA | Returns the mandatory fields required on a valid VAT invoice for a given European country, as defined by EU VAT Directive 2006/112/EC and local implementations. Returns { country, mandatory_fields: [], optional_fields: [], notes }. Use when generating invoices for EU customers, validating invoice templates, or building invoice compliance checks in agent workflows. Information provided as reference only — not legal advice. |
| get_vat_exemption_thresholdA | Returns the annual turnover threshold below which a business may be exempt from VAT registration in a given European country — the small business VAT exemption scheme. Returns { country, threshold_local_currency, currency, threshold_eur_approx, notes }. Use when determining if a small business needs to register for VAT, or when building onboarding flows for European freelancers and micro-enterprises. Information provided as reference only — not legal advice. |
| get_einvoicing_rulesA | Returns the current e-invoicing (electronic invoicing) obligations for a given European country — whether it is mandatory for B2G (business-to-government), B2B (business-to-business), or B2C transactions, the required formats, and implementation timeline. Returns { country, b2g_mandatory, b2b_mandatory, b2c_mandatory, formats, timeline, platform, notes }. Use when building invoice generation systems, determining compliance requirements for EU customers, or automating invoice submission workflows. |
| get_public_holidays_rangeA | Returns all public holidays that fall within a given date range for a specified European country. Returns { country, start_date, end_date, total_holidays, holidays: [{date, name, name_en}] }. Supports PT, ES, FR, DE, IT, NL, BE, UK. Use when calculating SLA periods, project timelines, delivery windows, or any workflow that must skip non-working days across multiple European countries. |
| calculate_working_days_euA | Counts the number of working days between two dates (inclusive) for a given European country, excluding weekends and that country's national public holidays. Returns { country, start_date, end_date, working_days, holidays_excluded }. Supports PT, ES, FR, DE, IT, NL, BE, UK. Use when calculating cross-border SLA periods, invoice payment deadlines, or project timelines that must account for different national holiday calendars. |
| get_next_payment_dateA | Calculates the next valid payment date based on a reference date and a payment rule for a given European country, skipping weekends and national public holidays. Supports rules: 'last_working_day_of_month' (salary payment), 'first_working_day_of_month', 'nth_working_day' (e.g. 5th working day), 'next_working_day' (next business day after reference). Returns { country, reference_date, rule, result_date, notes }. Use when scheduling salary payments, invoice due dates, or any automated payment workflow that must avoid non-working days. |
| validate_invoice_schemaA | Validates whether an invoice JSON object contains all mandatory fields required for a valid VAT invoice in a given European country, based on EU VAT Directive 2006/112/EC and local implementations. Returns { valid: boolean, country, missing_fields: [], present_fields: [], warnings: [] }. Use when building invoice generation pipelines, pre-submission validation, or compliance checks in agent workflows. Information is reference only — not legal advice. |
| calculate_vat_breakdownA | Calculates a complete VAT breakdown for a list of invoice line items, grouping amounts by VAT rate and computing totals. Returns { lines_summary, vat_breakdown: [{rate, base_amount, vat_amount}], total_excl_vat, total_vat, total_incl_vat, currency }. Each line item requires { description, quantity, unit_price, vat_rate }. Use when generating invoices, building checkout summaries, or verifying VAT calculations in agent workflows. |
| suggest_vat_treatmentA | Suggests the likely VAT treatment for a transaction based on seller country, buyer country, buyer VAT registration status, and goods/services type — covering standard VAT, reverse charge, OSS/IOSS, and zero-rating scenarios under EU VAT rules. Returns { treatment, description, seller_charges_vat, applicable_rate, notes, disclaimer }. Use when building checkout VAT logic, invoice generation, or cross-border EU compliance workflows. For digital services sold to EU consumers, OSS is indicated automatically. Always verify with a tax advisor for real transactions. |
| calculate_vat_amountA | Calculates VAT amounts from either a net (excluding VAT) or gross (including VAT) amount for a given VAT rate. Returns { net_amount, vat_amount, gross_amount, vat_rate, currency }. Use when building pricing tools, invoice calculators, or checkout flows that need to split gross prices into net + VAT components. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/josemvelez78/mcp-europe-business'
If you have feedback or need assistance with the MCP directory API, please join our Discord server