Dodo Agent Plugin vs Vatnode MCP

A side-by-side look at the Dodo Agent Plugin and Vatnode MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Dodo Agent Plugin logoDodo Agent PluginFinance & Fintech · Local subprocess (stdio)Official Dodo Payments MCP servers — dodopayments-api for live payments, subscriptions, customers, products, refunds, license keys, and usage-based billing (browser OAuth, no API key needed) and dodo-knowledge for semantic search over Dodo Payments documentation.85ExcellentAuth: oauth 2.0Vatnode MCP logoVatnode MCPFinance & Fintech · Local subprocess (stdio)Official MCP server for EU VAT validation via the EU Commission's VIES service + offline VAT rates for 45 European countries. Five tools: validatevatnumber (live VIES with company name, address, registration date, and optional consultation number for audit), getcountryvatrates, listeuvatrates, checkvatformat, listsupportedcountries. Four of five tools work offline without an API key (data bundled via eu-vat-rates-data). Open source MIT, every release signed with npm provenance via GitHub Actions OIDC. Install: npx -y vatnode-mcp.64GoodAuth: api key required

Verdict: choose Dodo Agent Plugin for finance & fintech work as a local process; choose Vatnode MCP for finance & fintech as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Dodo Agent Plugin logoChoose Dodo Agent Plugin when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: OAuth 2.0.
  • You want tools like execute, search_docs.
Explore Dodo Agent Plugin

Vatnode MCP logoChoose Vatnode MCP when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: VATNODE_API_KEY, VATNODE_API_URL.
  • You want tools like list_eu_vat_rates, get_country_vat_rates, check_vat_format.
Explore Vatnode MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecDodo Agent Plugin logoDodo Agent PluginVatnode MCP logoVatnode MCP
CategoryFinance & FintechFinance & Fintech
Quality signal85/100 · Excellent64/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthOAuth 2.0API key required
PricingFreeFreemium
Required env varsNone listedVATNODE_API_KEYVATNODE_API_URL
Verified owner VerifiedCommunity listing
GitHub stars62
Directory activity 7 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools25

Tools & capabilities

Dodo Agent Plugin tools 2

  • executeRuns JavaScript code to interact with the Dodo Payments API. You are a skilled TypeScript programmer writing code to interface with the service. Define an async function named "run" that takes a single parameter of an initialized SDK client and it will be run. For example: ``` async function run(client) { const checkoutSessionResponse = await client.checkoutSessions.create({ product_cart: [{ product_id: 'pdt_example', quantity: 1 }] }); console.log(checkoutSessionResponse.session_id); } ``` You will be returned anything that your function returns, plus the results of any console.log statements. Do not add try-catch blocks for single API calls. The tool will handle errors for you. Do not add comments unless necessary for generating better code. Code will run in a container, and cannot interact with the network outside of the given SDK client. Variables will not persist between calls, so make sure to return or log any data you might need later. Remember that you are writing TypeScript code, so you need to be careful with your types. Always type dynamic key-value stores explicitly as Record<string, YourValueType> instead of {}.
  • search_docsSearch SDK documentation to find methods, parameters, and usage examples for interacting with the API. Use this before writing code when you need to discover the right approach.

Vatnode MCP tools 5

  • list_eu_vat_ratesReturns current VAT rates for all EU member states (plus XI for Northern Ireland). Read-only and offline: no network call, no API key, no rate limit, no side effects. Takes no arguments. Output: { rates: Array<{ countryCode, countryName, vatName, vatAbbr, currency, standardRate, reducedRates[], superReducedRate, parkingRate, vatNumberFormat, vatNumberPattern, updatedAt }>, count, updatedAt }. Rates are percentages (e.g. 25.5). Use when the user asks for an overview, a comparison across countries, or "all EU VAT rates". For a single country prefer get_country_vat_rates. Data is sourced from the EU Commission TEDB and updated daily. Free, no API key required.
  • get_country_vat_ratesReturns the standard, reduced, super-reduced and parking VAT rates for a single European country, plus the VAT number format and regex. Read-only and offline: no network call, no API key, no rate limit, no side effects. Accepts ISO 3166-1 alpha-2 codes (DE, FR, IT, …); also covers non-EU European jurisdictions where available (NO, CH, GB, UA, TR, …). Output: { countryCode, countryName, vatName, vatAbbr, currency, standardRate, reducedRates[], superReducedRate, parkingRate, vatNumberFormat, vatNumberPattern, updatedAt }; rates are percentages and may be null where not applicable. Returns an error if the country code is unknown. Use when the user asks "what is the VAT rate in X" or needs the VAT number format for a country. Free, no API key required.
  • check_vat_formatPerforms an offline syntactic check of a VAT number against the country-specific regex pattern. Read-only and offline: no network call, no API key, no rate limit, no side effects. Does NOT verify the VAT with VIES (a valid format does not mean the VAT is real or active) — use validate_vat_number for that. Output: { input, normalized, countryCode, validFormat (boolean), error }; countryCode is null when the prefix is unknown. Use when the user wants a quick sanity check on the shape of a VAT ID without burning a quota call. Free, no API key required.
  • list_supported_countriesReturns every country the vatnode server has VAT data for (EU-27 + XI for Northern Ireland + ~17 other European jurisdictions such as NO, CH, GB, UA, TR). Read-only and offline: no network call, no API key, no rate limit, no side effects. Takes no arguments. Output: { countries: Array<{ countryCode, countryName, isEUMember, viesValidationSupported }>, count, euCount, updatedAt }, sorted by countryCode. `viesValidationSupported: true` means validate_vat_number can do live VIES verification; non-EU jurisdictions are rate-lookup only. Use to discover coverage or to pick a valid countryCode before calling get_country_vat_rates or validate_vat_number.
  • validate_vat_numberVerifies an EU VAT number against the official VIES service and returns validity, company name, address, registration date and other metadata. The audit-grade VIES consultation number (`consultationNumber`) is produced when a requester VAT is configured once in the vatnode dashboard Settings — a one-time account setup, not a per-call parameter. With a requester configured, every response is either a success with a non-null `consultationNumber` or an error; without one, `consultationNumber` is null and national-registry fallback stays enabled. Use whenever the user wants to confirm a VAT is real, look up the company behind a VAT, or needs evidence for accounting/compliance. Side effects: makes an authenticated network call to api.vatnode.dev (which queries the EU VIES service) and consumes one request from your monthly quota; it is read-only (verifies, never mutates) and safe to retry. Requires a vatnode API key (free tier available; set VATNODE_API_KEY). Only EU-27 + XI (Northern Ireland) are supported by VIES; other countries return an error.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Dodo Agent Plugin

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "dodopayments-dodo-agent-plugin": {
      "command": "npx",
      "args": [
        "-y",
        "dodopayments-mcp@latest"
      ]
    }
  }
}

Vatnode MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "vatnode-vatnode-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "vatnode-mcp"
      ],
      "env": {
        "VATNODE_API_KEY": "YOUR_VATNODE_API_KEY_HERE",
        "VATNODE_API_URL": "YOUR_VATNODE_API_URL_HERE"
      }
    }
  }
}

Frequently asked questions

Dodo Agent Plugin is categorized under Finance & Fintech and uses a local stdio subprocess. Vatnode MCP belongs to Finance & Fintech and uses a local stdio subprocess. Pick Dodo Agent Plugin for finance & fintech work and Vatnode MCP for finance & fintech.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Dodo Agent Plugin is listed as free. Auth: oauth 2.0. Vatnode MCP is listed as freemium — a free tier with paid plans. Auth: api key required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add dodopayments-dodo-agent-plugin and vatnode-vatnode-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Dodo Agent Plugin has a quality signal of 85/100 (Excellent) with 7 views, 0 installs and 6 GitHub stars. Vatnode MCP has 64/100 (Good) with 2 views, 0 installs and 2 GitHub stars.