A side-by-side look at the MCP Server and SDI MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose MCP Server for finance & fintech work as a local process; choose SDI for finance & fintech as a local process. You can also run both side by side in one mcpServers block.
ALLRATES_API_KEY.get_exchange_rate, get_historical_rates, get_rates_authenticated.FATTURAPA_ALLOWED_ROOTS.validate_invoice, extract_invoice_data, lookup_sdi_error.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 64/100 · Good | 53/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | API key required | No auth required |
| Pricing | Free | Free |
| Required env vars | ALLRATES_API_KEY | FATTURAPA_ALLOWED_ROOTS |
| Verified owner | Community listing | Community listing |
| GitHub stars | 4 | 0 |
| Directory activity | 3 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 4 | 7 |
| Full listing | View MCP Server | View SDI |
get_exchange_rateUse this when the user asks 'what is X in Y?', 'convert X to Y', 'current rate of EUR/USD', or any single fiat-to-fiat live exchange rate question. Returns the latest mid-market rate as a JSON object like { rate: 0.9234, source } meaning 1 source = 0.9234 target. Does NOT support cryptocurrencies, commodities, or arithmetic on amounts. For multiple targets in one call use get_rates_authenticated; for a past date or fixed lookback (7d/30d/1y) use get_historical_rates.get_historical_ratesUse this for fixed-window time-series questions like 'how has EUR/USD moved this week', 'show me the last month of GBP/JPY', or 'chart 1-year history of AUD/USD'. Returns { source, target, period, data: [{ date, rate, timestamp }, ...] } — sampling is fixed per period (1d=hourly, 7d/30d=daily, 1y=weekly) and the window always ends NOW. For a specific past datetime use get_rates_authenticated with `time`. For a single live rate use get_exchange_rate.get_rates_authenticatedUse this for (a) one source against multiple targets in a single call ('USD vs EUR, GBP, JPY'), or (b) the rate at a specific past datetime ('EUR/USD at 2025-03-14T12:00Z'), optionally bucketed by hour/day/week/month. Returns { rates: [{ rate, source, target, time }, ...] } — one row per target × time bucket. For a single live pair use get_exchange_rate. For fixed lookback windows (1d/7d/30d/1y ending now) use get_historical_rates.list_currenciesCall this BEFORE other tools when you are unsure whether a currency code is supported, or when the user asks 'what currencies do you support?', 'is X a valid currency?', or 'what is the symbol for X?'. Returns { currencies: [{ code: 'USD', name: 'US Dollar', symbol: '$' }, ...], count } covering 150+ ISO 4217 fiat currencies. Does NOT include cryptocurrencies. Cheap to call (cached 24h upstream) — use it to validate user input and prevent downstream errors in get_exchange_rate / get_rates_authenticated / get_historical_rates.validate_invoiceChecks that the XML is well-formed and has the FatturaPA root structure. ⚠️ **Not yet a full schema validation** — see Known limitationsextract_invoice_dataExtracts supplier, customer, amounts, line items and metadata from a valid FatturaPA documentlookup_sdi_errorReturns description, category and resolution hint for SDI error codes (offline). ⚠️ The table is being realigned with the official list — see Known limitationscheck_pivaValidates an Italian P.IVA (VAT number) using the official MEF checksum algorithm — no network callverify_piva_viesVerifies any EU VAT number against the live VIES REST API; degrades gracefully when the service is downfind_invoice_anomaliesDetects anomalies in a FatturaPA XML document: inconsistent totals, wrong VAT, future dates, invalid P.IVA, missing recipient, incomplete line items, negative amounts, missing payment infogenerate_invoice_reportAggregates multiple FatturaPA XML documents into a single report with statistics, supplier/customer breakdown and anomaly summaryPaste 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.
{
"mcpServers": {
"cahthuranag-mcp-server": {
"command": "npx",
"args": [
"-y",
"@allratestoday/mcp-server"
],
"env": {
"ALLRATES_API_KEY": "YOUR_ALLRATES_API_KEY_HERE"
}
}
}
}
{
"mcpServers": {
"fatturapa-sdi": {
"command": "uvx",
"args": [
"fatturapa-mcp-server"
],
"env": {
"FATTURAPA_ALLOWED_ROOTS": "YOUR_FATTURAPA_ALLOWED_ROOTS_HERE"
}
}
}
}