MCP server giving AI agents reliable access to Latin American data: tax-ID validation, indicators, FX, company lookups, holidays
Strong domain-specific tool set with clear, detailed descriptions and proper input schemas. All 20 tools have descriptions (194-char baseline met). Most parameters are typed and described. However, output schemas are not explicitly documented in code, and error handling lacks recovery guidance. Tool naming follows verb_noun convention well. No security issues detected (no secrets in params). Composition is sound, each tool has one responsibility. Main gaps: missing output schema documentation, no error classification or recovery hints, and some parameter descriptions could be more prescriptive about constraints.
Get current Argentine peso (ARS) exchange rates: official vs "blue". The gap between the official and informal (blue) rate is essential context for any pricing, invoicing or purchasing decision in Argentina.
Look up a Brazilian bank by its COMPE code (e.g. 1 = Banco do Brasil, 341 = Itaú). Returns the COMPE code, ISPB, short and full name. Useful to resolve the institution behind a payment or a bank slip. Source: BrasilAPI.
Look up a Brazilian company by CNPJ in the federal registry. Returns legal name, trade name, registration status, size, main activity (CNAE), share capital, address, contact data, and partners (QSA). Data from Receita Federal via BrasilAPI. Accepts formatted or unformatted numeric CNPJs.
Get a historical time series of a Brazilian indicator over a date range. `series` is one of: SELIC (policy rate), CDI, IPCA (inflation), USD (PTAX BRL per USD). Dates are ISO (YYYY-MM-DD). Returns every data point plus a summary (min, max, average, first, last, change) — for trend analysis, indexation, and FX backtesting. Source: Banco Central do Brasil (SGS).
Get Brazil's key market rates: SELIC (policy rate), CDI, and IPCA (inflation). Annual percentage values, as published via BrasilAPI.
Output schemas not documented in code. Tools return dicts but LLMs cannot see the structure of response fields (e.g., what fields does validate_tax_id return? Is 'valid' a boolean or string?). This forces LLMs to infer output structure, risking misinterpretation.
Error handling lacks recovery guidance. When APIs fail (e.g., 'upstream data source unavailable'), the response is generic. No guidance on retry strategy, fallback tools, or user-fixable actions. LLMs cannot determine next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2026-07-28+ | v2 |
Count business days (Mon–Fri, excluding public holidays) between two dates in a Latin American country.
Get current Chilean economic indicators and currency values in CLP. Includes UF (Unidad de Fomento), UTM (Unidad Tributaria Mensual), USD (observed dollar), EUR and other market-quoted currencies. Optionally filter with `codes`, e.g. ["UF", "USD"]. Values are CLP per unit.
Get Colombia's official TRM (Tasa Representativa del Mercado) — the USD/COP rate set daily by the Superintendencia Financiera.
Get a historical time series of Colombia's official TRM (USD/COP) over a date range.
Look up a Costa Rican company by cédula (ID) in the Hacienda registry.
Get current Costa Rican exchange rates (USD/CRC and EUR/CRC) from Hacienda.
Get public holidays for a Latin American country in a given year.
Get current USD exchange rates for all Latin American currencies.
Get long weekends (3+ consecutive days off) for a Latin American country in a given year.
Get the next upcoming public holidays for a Latin American country.
Get current USD exchange rates against all major world currencies.
Validate a Latin American bank account / interbank code, check digit included. Supported (ISO 3166-1 alpha-2): MX (CLABE, 18 digits), AR (CBU/CVU, 22 digits — CVU covers virtual accounts like Mercado Pago). Returns validity, canonical formatting, and the decoded structure — bank code and name, branch, and account number. Essential for fintech, payouts, and payment-collection agents that must confirm an account is well-formed before initiating a transfer.
Validate and normalize a Latin American phone number. `country` is an ISO 3166-1 alpha-2 code (15 supported: CL, AR, MX, BR, CO, PE, UY, EC, PY, VE, GT, DO, PA, CR, BO). Accepts input with or without country code, spaces, dashes or parentheses. Returns validity, E.164 form, a human-readable national format, and line type (mobile/landline) — handling the tricky cases (Brazil's 9th digit, Mexico's 10-digit, Argentina's mobile 9/15, Chile's 9-prefix). Ideal for WhatsApp, SMS/OTP and CRM hygiene.
Validate a Brazilian PIX key and detect its type. PIX is Brazil's instant-payment rail. A key is one of: CPF (11 digits), CNPJ (14 digits), e-mail, phone (E.164, +55…), or a random EVP (UUID v4). CPF/CNPJ keys are validated with full check-digit math. Lets a payments agent confirm a PIX key is well-formed before initiating a transfer.
Validate a Latin American national tax ID, including its check digit. Supported countries (ISO 3166-1 alpha-2): CL (RUT), AR (CUIT/CUIL), MX (RFC), BR (CPF or CNPJ — auto-detected, including 2026 alphanumeric CNPJs), CO (NIT), PE (RUC), UY (RUT), EC (cédula or RUC — auto-detected), PY (RUC), VE (RIF), GT (NIT), DO (RNC), PA (RUC + DV), CR (cédula física/jurídica/DIMEX — format only), BO (NIT — format only). Verifies the country's check digit where one is algorithmically verifiable. Exception: Mexico's RFC — SAT-issued RFCs deviate from the published check-character algorithm, so for MX only the format and the embedded birth/incorporation date are validated (the result carries "check_digit_verified": false to make this explicit). Returns validity, canonical formatting, and — where the ID encodes it — whether it belongs to a person, company, or public entity.
Some parameter descriptions lack prescriptive constraints. E.g., 'codes' in chile_indicators says 'Optional list of indicator codes' but does not specify valid codes (UF, UTM, USD, EUR, etc.). LLMs may hallucinate invalid codes.
Generic tool names for FX tools. 'usd_rates' and 'latam_fx' are vague, do they return spot rates, historical data, or forecasts? 'get_usd_exchange_rates' and 'get_latam_usd_rates' would be clearer.
No pagination or result-limiting documented for tools returning lists (e.g., holidays, long_weekends, brazil_historical_series). If a year has many holidays or a date range spans years, response size could explode. No limit or cursor guidance provided.