Skip to main content
Glama

GoodVat MCP Server

A Model Context Protocol (MCP) server that gives AI assistants and agents access to global tax compliance knowledge and tools — built and maintained by GoodVat.

If you're selling anything, anywhere, this server answers the tax questions that come up: VAT rates and rules across the EU and UK, US state sales tax, India GST, registration thresholds, invoicing requirements, and more — plus live lookup tools to verify tax IDs.

What it does

  • Tax guides & Q&A — ask natural-language questions like "what's the VAT rate in France for digital goods?" or "do I need to register for sales tax in California?" and get accurate, sourced answers covering:

    • UK VAT

    • EU VAT (all member states)

    • US Sales Tax (state-by-state)

    • India GST

    • more jurisdictions added regularly

  • VAT number lookup (EU) — validates EU VAT numbers in real time via the official VIES registry.

  • UK VAT number lookup (HMRC)coming soon.

Related MCP server: mcp-europe-business

Usage

GoodVat's MCP server is hosted remotely over streamable HTTP at:

https://api.goodvat.com/mcp

Option 1: Connect directly (remote HTTP)

If your MCP client supports remote/HTTP servers natively (e.g. Claude.ai, Claude Desktop's remote connectors, Cursor), point it straight at the URL above — no install needed.

{
  "mcpServers": {
    "goodvat": {
      "url": "https://api.goodvat.com/mcp"
    }
  }
}

Option 2: stdio bridge (this package)

Some clients only support local stdio-based MCP servers. This package (@goodvat/mcp-server) is a thin stdio-to-HTTP bridge: it speaks stdio to your client and forwards each message to the remote endpoint above.

npx @goodvat/mcp-server

Add to your client's MCP server config:

{
  "mcpServers": {
    "goodvat": {
      "command": "npx",
      "args": ["@goodvat/mcp-server"]
    }
  }
}

Requirements

  • Node.js >= 18

License

MIT

Available Tools

2 tools
searchTaxGuidessearchTaxGuidesB
Destructive

Search the GoodVAT tax guides for technical tax guides, state laws, and VAT regulations.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe semantic search query, e.g., 'What are the digital goods tax thresholds in California?'

TDQS

B3.3/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description contradicts annotations: it describes a read-only search operation, yet annotations set destructiveHint=true and readOnlyHint=false. No explanation is provided for this discrepancy, and no behavioral traits are disclosed beyond the annotation contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that directly states the tool's purpose without any extraneous information. It is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the single parameter, no output schema, and the tool's complexity, the description covers the basic purpose. However, the annotation contradiction and lack of return value information leave gaps in completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage for the single 'query' parameter, which is well-described. The tool description does not add additional semantics beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches 'GoodVAT tax guides' for 'technical tax guides, state laws, and VAT regulations', with a specific verb and resource. It is distinct from the sibling tool 'validateEuVatNumber', which validates VAT numbers.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use when needing to search tax guides, but provides no explicit when-to-use or when-not-to-use guidance. The sibling tool is sufficiently different, so no exclusion is needed, but the description could still benefit from usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validateEuVatNumbervalidateEuVatNumberB
Destructive

Validate an EU VAT number against the official European Commission VIES database.

ParametersJSON Schema
NameRequiredDescriptionDefault
countryCodeYesThe 2-letter EU member state code, e.g., 'FR' or 'DE'
vatNumberYesThe VAT number without the country code prefix

TDQS

B3.1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate 'destructiveHint: true' and 'openWorldHint: true', suggesting side effects or external dependencies, but the description describes a read-only validation operation. This contradiction undermines transparency, and no additional behavioral context is provided beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence that directly conveys the tool's purpose without extraneous text, achieving appropriate conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite clear parameters, the description fails to address the contradiction between its stated read-only nature and the annotations indicating destructiveness, nor does it clarify return values or external dependencies, leaving significant gaps for a validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and both parameters are adequately described in the schema. The description adds no extra meaning or constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool validates an EU VAT number against the official VIES database, specifying the verb 'Validate' and the precise resource, distinguishing it from the sibling tool 'searchTaxGuides' which likely handles tax documentation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a validation context but provides no explicit guidance on when to use or avoid this tool compared to alternatives, missing exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: one for searching tax guides and one for validating EU VAT numbers. There is no overlap or ambiguity.

Naming Consistency5/5

Both tools use consistent camelCase naming with a verb_noun pattern (searchTaxGuides, validateEuVatNumber), making the pattern predictable.

Tool Count2/5

With only two tools, the server feels thin for a domain like tax and VAT, which typically requires more functionality such as tax rate lookups, guide retrieval, or bulk validation.

Completeness2/5

The tool set is incomplete for the domain: it lacks tools for retrieving specific guide content, searching by tax type, or handling non-EU VAT numbers, leaving significant gaps.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    European business compliance suite for AI agents — 28 tools covering tax ID validation (PT, ES, FR, DE, IT, UK, NL), IBAN verification, EU VAT rates, invoice requirements, e-invoicing rules, payment terms, labor calendar helpers, VAT breakdown calculations and invoice schema validation for 18+ European countries.
    28
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects AI assistants to Quaderno's tax compliance engine, enabling tax calculation, tax ID validation, and invoice creation via natural language.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    SLA'd EU VAT number validation for AI agents via VIES, with caching and circuit-breaking to handle flaky upstream, returning valid/invalid/unavailable responses.
    MIT

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/goodvat/mcp-server-goodvat'

If you have feedback or need assistance with the MCP directory API, please join our Discord server