pypi latam-data-mcpstdioMITupdated 1mo ago
An MCP server that gives agents reliable access to LatAm data that is otherwise scattered, undocumented, or Spanish-only: tax-ID validation for 12 countries, live economic indicators, exchange rates (including Argentina's blue rate and Colombia's legally binding TRM), Brazilian company lookups, holidays, and business-day math.
What can you do with LatAm Data?
LatAm Data MCP
An MCP server that gives agents reliable access to LatAm data that is otherwise scattered, undocumented, or Spanish-only: tax-ID validation for 12 countries, live economic indicators, exchange rates (including Argentina's blue rate and Colombia's legally binding TRM), Brazilian company lookups, holidays, and business-day math.
Tools (20)
Identity, banking & companies
| Tool | What it does |
|---|---|
validate_tax_id |
Validates national tax IDs with real check-digit math for 15 countries: π¨π± RUT, π¦π· CUIT/CUIL, π²π½ RFC, π§π· CPF/CNPJ (incl. 2026 alphanumeric CNPJs), π¨π΄ NIT, π΅πͺ RUC, πΊπΎ RUT, πͺπ¨ cΓ©dula/RUC, π΅πΎ RUC, π»πͺ RIF, π¬πΉ NIT, π©π΄ RNC, π΅π¦ RUC+DV, π¨π· cΓ©dula, π§π΄ NIT. Returns canonical formatting and person/company/public-entity detection. |
validate_bank_account |
Validates interbank account codes with check-digit math: π²π½ CLABE (18-digit), π¦π· CBU/CVU (22-digit, incl. Mercado Pago virtual accounts). Decodes bank, branch and account β verify a payout destination before sending money. |
validate_pix_key |
Validates a π§π· PIX key (CPF, CNPJ, e-mail, +55 phone, or random UUID) and detects its type β CPF/CNPJ with full check-digit math. |
validate_phone_number |
Validates & normalizes phone numbers for 15 countries β E.164, national format, mobile/landline detection. Handles Brazil's 9th digit, Mexico's 10-digit, Argentina's 9/15, Chile's 9-prefix. |
brazil_bank_lookup |
Resolves a π§π· bank by COMPE code (name, ISPB). |
brazil_company_lookup |
Full federal-registry data for any Brazilian company by CNPJ: legal name, status, size, main activity, capital, address, partners. |
costa_rica_company_lookup |
π¨π· taxpayer by cΓ©dula: name, regime, activities, and compliance status (moroso/omiso) from Hacienda β for KYC/AML. |
Money & markets
| Tool | What it does |
|---|---|
chile_indicators |
UF, UTM, USD, EUR and more, in CLP. |
argentina_exchange_rates |
Official vs blue rate for USD/EUR. |
brazil_market_rates |
SELIC, CDI, IPCA. |
colombia_official_trm |
The legally binding USD/COP rate with validity dates. |
brazil_historical_series |
Historical SELIC/CDI/IPCA/USD over a date range, with min/max/avg/change β for trend analysis and backtesting. |
colombia_trm_history |
Historical USD/COP (TRM) over a date range. |
costa_rica_exchange_rate |
π¨π· official USD/EUR colΓ³n rate. |
currency_convert |
Convert any amount between two currencies at the live rate. |
latam_exchange_rates |
All 18 LatAm currencies vs USD in one call. |
Time & calendars
| Tool | What it does |
|---|---|
public_holidays |
Official holidays for 20 LatAm countries, any year. |
next_holidays |
Upcoming holidays from today. |
long_weekends |
Long weekends with bridge-day analysis. |
business_days |
Working-day count between dates, holiday-aware β for SLA, payroll, logistics, settlement math. |
Install (free β runs on your machine)
No signup, no API keys. Two steps:
1. Install uv (the runner) if you don't already have it:
brew install uv # macOS
# or, any platform:
curl -LsSf https://astral.sh/uv/install.sh | sh
2. Add the server to your MCP client config (mcpServers block):
{
"mcpServers": {
"latam-data": {
"command": "uvx",
"args": ["latam-data-mcp"]
}
}
}
- Claude Desktop:
~/Library/Application Support/Claude/claude_desktop_config.json(macOS) β then quit and reopen the app. - Cursor / Claude Code / other clients: same
mcpServersblock, in their config.
Then just ask your agent "Is Chilean RUT 60.910.000-1 valid?" β done. Requires Python 3.10+ (uv handles it).
macOS gotcha: if the server doesn't show up, use the full path to uvx as the
command(runwhich uvxβ e.g./opt/homebrew/bin/uvx). GUI apps don't always inherit your shell's PATH. First launch takes a few seconds while uv fetches the package; instant after that.
See it work
Once connected, just ask your agent in plain language:
"Is the Mexican CLABE
646180110400000007valid, and which bank is it?" β β valid Β· Banco STP Β· branch 180 Β· account β¦
"Validate Brazilian CNPJ
00.000.000/0001-91and tell me who it is." β β Banco do Brasil S.A. Β· active Β· BrasΓlia-DF
"What's the UF and the dollar today in Chile? And convert 2,500,000 CLP to BRL."
"How many business days between 2026-09-01 and 2026-09-30 in Chile?" β holiday-aware working-day count (skips Fiestas Patrias)
No glue code β the agent picks the right tool and calls it.
Pro β the compliance & data tier
The tools above are free forever. Pro adds the compliance and data features teams actually pay for β the stuff you can't get from a free public API:
- π‘οΈ OFAC sanctions / watchlist screening β fuzzy name matching (catches aliases, reordered names, accents) for KYC/AML onboarding
- π’ Company lookup by tax ID β π¨π± Chile today; π¦π· Argentina, π΅πͺ Peru, π²π½ Mexico coming β name, status, activities, compliance flags
- π Bulk validation β validate up to 10,000 IDs in one call, for onboarding pipelines and CRM cleanups
- coming: PEP screening, change-monitoring webhooks, extended historical data
Delivered as a managed, always-on hosted endpoint (no self-hosting), with higher rate limits and priority support.
π³ $19.99/mo β β Subscribe to Pro
Building for a team, or need a specific country/data source first? Open an issue β tell me your use case and I'll get you early access.
Develop
python3.11 -m venv .venv
.venv/bin/pip install -e ".[dev]"
.venv/bin/python server.py # stdio; set PORT=8000 for Streamable HTTP
Tests
.venv/bin/pytest # offline suite: validators + MCP protocol layer
.venv/bin/pytest -m live # integration tests against the real upstream APIs
Validators are verified against python-stdnum's reference algorithms and real IDs of public institutions (Banco do Brasil, SUNAT, DIAN, UTE, U. de Chile).
Data sources
All free public APIs, no keys: gael.cloud (Chile), Bluelytics (Argentina), BrasilAPI (Brazil), datos.gov.co (Colombia), open.er-api.com (regional FX), Nager.Date (holidays). Tax-ID validation is pure local math β zero dependencies, zero latency, nothing to break.
Roadmap
- Historical series (UF, USD, TRM)
- Deploy free tier + directory listings (Smithery, PulseMCP, mcp.so)
- Monetization via MCPize (85% rev share) once free tier has weekly active users
- Electronic invoicing requirements per country (static knowledge tool)
Install
Add LatAm Data to your client. Pick the one you use.
claude mcp add latam-data-mcp -- uvx latam-data-mcpcodex mcp add latam-data-mcp -- uvx latam-data-mcpamp mcp add latam-data-mcp -- uvx latam-data-mcp{
"mcpServers": {
"latam-data-mcp": {
"command": "uvx",
"args": [
"latam-data-mcp"
]
}
}
}Add to `claude_desktop_config.json`, then restart Claude Desktop.
{
"mcpServers": {
"latam-data-mcp": {
"command": "uvx",
"args": [
"latam-data-mcp"
]
}
}
}Add to `~/.cursor/mcp.json`, or `.cursor/mcp.json` for a single project.
code --add-mcp '{"name":"latam-data-mcp","command":"uvx","args":["latam-data-mcp"]}'Or add the block manually to `.vscode/mcp.json` under `servers`.
{
"mcpServers": {
"latam-data-mcp": {
"command": "uvx",
"args": [
"latam-data-mcp"
]
}
}
}Add to `~/.codeium/windsurf/mcp_config.json`.
{
"mcpServers": {
"latam-data-mcp": {
"command": "uvx",
"args": [
"latam-data-mcp"
]
}
}
}Add to `cline_mcp_settings.json` via the MCP Servers panel.
{
"mcpServers": {
"latam-data-mcp": {
"command": "uvx",
"args": [
"latam-data-mcp"
]
}
}
}Add to `~/.gemini/settings.json`.
{
"mcpServers": {
"latam-data-mcp": {
"type": "local",
"command": "uvx",
"args": [
"latam-data-mcp"
],
"tools": [
"*"
]
}
}
}Add to `~/.copilot/mcp-config.json`, or run `/mcp add` inside the CLI.
{
"context_servers": {
"latam-data-mcp": {
"command": {
"path": "uvx",
"args": [
"latam-data-mcp"
]
}
}
}
}Add to your Zed `settings.json`.
uvx latam-data-mcpRun `goose configure`, choose **Add Extension β Command-line Extension**, and paste this command.
Score
39 / 100
Incomplete
- Documentation25/25
- Maintenance22/25
- Trust13/20
- Capability0/15
- Install experience12/15
- Documents what it does and how to connect
- Has a resolvable package or endpoint
- Exposes at least one tool, prompt or resource
- README has substantive content
- Includes a code example
- Documents its configuration
- Mentions credentials or security posture
- Last commit 48 days ago
- Has a release history
- Repository is not archived
- Licensed MIT
- Namespace verified in the official MCP registry
- Claimed by its owner
- Published under an organisation
- 0 tool(s) documented
- Provides prompt templates
- Provides resources
- 12 documented install method(s)
- Published to a package registry
- Offers a hosted endpoint β no local install
Version history
| Versions | Published |
|---|---|
| 0.6.1Latest | Jul 14, 2026 |
| 0.6.0 | Jul 13, 2026 |
| 0.5.0 | Jul 13, 2026 |
| 0.4.0 | Jul 13, 2026 |
| 0.3.0 | Jul 13, 2026 |
| 0.2.1 | Jul 13, 2026 |