latam-fintech-synthetic-data
latam-synth
Privacy-safe synthetic financial data for Latin American fintech — available through Python, CLI, REST, Apify Actor, and Model Context Protocol (MCP) for AI agents.
Generador de datos sintéticos de comportamiento de ahorro financiero, calibrado con las distribuciones estadísticas de 506,311 registros reales de una app de ahorro LatAm (2015–2024): 305,808 transacciones, 108,570 metas de ahorro y 91,933 usuarios de México, Colombia, Argentina, Perú, Chile y más.
El output es 100% sintético: ningún registro deriva de un usuario real, solo de distribuciones agregadas. Sin PII y sin riesgo de reidentificación.
Model Context Protocol (MCP)
LatAm Synth is available to AI agents as an MCP tool through the hosted Apify MCP Server.
This repository contains the synthetic data generator and the Apify Actor implementation. The MCP transport server itself is provided by Apify, which exposes the active_yardstick/latam-synth Actor as a callable MCP tool.
MCP details
MCP capability: Tools
Transport: Streamable HTTP
Hosted MCP server: Apify MCP Server
Actor exposed as tool:
active_yardstick/latam-synthAuthentication: Apify OAuth or Bearer token
Official MCP Registry name:
io.github.jmendozapuche/latam-fintech-synthetic-dataRegistry metadata:
server.jsonApify Actor: https://apify.com/active_yardstick/latam-synth
MCP endpoint
https://mcp.apify.com?tools=active_yardstick/latam-synthThe tools parameter restricts the Apify MCP Server to the LatAm Synth Actor, making it directly discoverable and callable by compatible AI agents.
Example MCP configuration — OAuth
{
"mcpServers": {
"latam-synth": {
"url": "https://mcp.apify.com?tools=active_yardstick/latam-synth"
}
}
}On first connection, a compatible MCP client can open the Apify OAuth flow so the user can authorize access without placing an API token directly in the configuration.
Example MCP configuration — Bearer token
{
"mcpServers": {
"latam-synth": {
"url": "https://mcp.apify.com?tools=active_yardstick/latam-synth",
"headers": {
"Authorization": "Bearer <APIFY_TOKEN>"
}
}
}
}Replace <APIFY_TOKEN> with an Apify API token.
What AI agents can do with LatAm Synth
An MCP-compatible agent can invoke LatAm Synth to generate:
synthetic financial users
linked savings goals
deposit and withdrawal transactions
country-filtered Latin American datasets
reproducible datasets using a random seed
realistic fintech test data without exposing personally identifiable information
Typical agent use cases include:
evaluating financial AI agents
generating test fixtures on demand
creating synthetic datasets for demos and POCs
testing recommendation or savings assistants
bootstrapping ML and data-pipeline experiments
LatAm Synth currently exposes its functionality through MCP Tools. It does not currently expose MCP Resources or Prompts.
How MCP is implemented
LatAm Synth does not need to implement an MCP transport server inside this Python repository.
The architecture is:
MCP-compatible AI client
|
| Streamable HTTP
v
Apify MCP Server
|
| exposes Actor as MCP Tool
v
active_yardstick/latam-synth
|
v
Synthetic users + goals + transactionsApify provides the hosted MCP server and authentication layer. The LatAm Synth Actor provides the executable tool functionality and structured input/output.
Related MCP server: LiveDataLink
Para qué sirve
Testing y QA fintech: fixtures realistas para pipelines de pago, apps de presupuesto y motores de metas.
Demos y POCs: dashboards con datos verosímiles de LatAm que se pueden mostrar públicamente.
Entrenamiento de ML: datos de arranque para modelos de churn, recomendación y segmentación con patrones reales como estacionalidad, tasas de abandono y categorías de metas.
AI agents: generación bajo demanda de datasets financieros sintéticos a través de MCP.
Educación: datasets ilimitados para cursos de data science con narrativa de negocio real.
Uso rápido
CLI
pip install -e .
latam-synth generate --users 5000 --seed 42 --format csv --out ./outputSolo México y Colombia, formato parquet:
latam-synth generate --users 10000 --countries Mexico Colombia --format parquetPython
from latam_synth import SyntheticGenerator, GeneratorConfig
data = SyntheticGenerator(
GeneratorConfig(n_users=1000, seed=42)
).generate()
data["transactions"].head()Qué hace fiel a este generador
La calibración fue verificada contra datos reales. Ver:
docs/validation_report.txtEl generador incorpora:
distribuciones de montos lognormales por tipo de transacción
estacionalidad mensual real
pico de enero post-propósitos y valle de diciembre
8 categorías de metas con montos y horizontes propios
tasas de logro y abandono observadas
73.8% de metas vencidas
uplift de metas compartidas
scores de usuario correlacionados
cópula gaussiana con ρ=0.89 para disciplina-logro
trayectorias temporales coherentes por meta
integridad referencial entre usuarios, metas y transacciones
Apify Actor
LatAm Synth is also available as a hosted Apify Actor:
active_yardstick/latam-synthActor page:
https://apify.com/active_yardstick/latam-synthThe Actor can be called directly from Apify, through the Apify API, or exposed to AI clients through the Apify MCP Server.
Example input:
{
"users": 1000,
"seed": 42,
"countries": ["Mexico", "Colombia"],
"format": "csv",
"push_to_dataset": true,
"start_date": "2023-01-01",
"end_date": "2024-12-31"
}The seed parameter makes generation reproducible. The same seed and configuration produce the same synthetic output.
Where to find your output (Apify)
Every run writes output to two places.
Key-value store — all three tables
Open the run in Apify Console and click the Storage tab.
Click Key-value store.
Download the generated files:
users.csv— one row per synthetic usergoals.csv— savings goals linked to userstransactions.csv— deposit/withdrawal transactions linked to goalsOUTPUT— always present; JSON summary of the run, including parameters, row counts and downloadable keysif
format: jsonwas selected,OUTPUT_DATAcontains all three tables in a single JSON file instead of the three CSV files
Click the download icon next to each key to save the file.
Dataset — transactions
By default (push_to_dataset: true), all transactions are also pushed to the run's Dataset.
This allows you to:
export as JSON, CSV, or Excel directly from the Dataset tab
connect native Apify integrations to the Dataset output
consume transactions programmatically
To disable this for very large runs where only the key-value-store files are needed, set:
{
"push_to_dataset": false
}The run log prints exact file names and row counts at the end of execution.
API REST local
Install the API dependencies:
pip install -e ".[api]"
uvicorn latam_synth.api:app --port 8000Generate JSON with the three tables:
curl -s -X POST http://localhost:8000/generate \
-H "Content-Type: application/json" \
-d '{"users": 100, "seed": 42, "countries": ["Mexico", "Colombia"]}' | jq .metaExample metadata response:
{
"users": 100,
"goals": 121,
"transactions": 453
}Download transaction CSV directly:
curl -s -X POST http://localhost:8000/generate \
-H "Content-Type: application/json" \
-H "Accept: text/csv" \
-d '{"users": 500, "seed": 7}' \
-o transactions.csvHealth check:
curl http://localhost:8000/health{
"status": "ok",
"version": "0.2.0"
}Local REST API limits:
Rate limit: 10 requests/min per IP
Maximum: 50,000 users per request
Privacy
The generated datasets are designed for development, testing, demos, experimentation and education without requiring production PII.
Key properties:
100% synthetic records
no row is copied from a real user
no names, emails, IDs or other direct PII are reproduced from the calibration dataset
generation is based on aggregate statistical distributions
synthetic tables preserve realistic relationships between users, goals and transactions
Desarrollo
pip install -e ".[dev]"
pytestMCP registry metadata
This repository includes server.json for MCP registry discovery.
Current server identity:
io.github.jmendozapuche/latam-fintech-synthetic-dataThe registered remote MCP endpoint is:
https://mcp.apify.com?tools=active_yardstick/latam-synthChangelog
v0.2
mezcla de lognormales (KS=0.032)
snap a valores redondos (69.5% en malla)
trayectorias temporales coherentes por meta
100% de transacciones dentro de la ventana
[created_at, deadline]API FastAPI
Apify Actor
MCP exposure through the hosted Apify MCP Server
This server cannot be installed
Maintenance
Related MCP Servers
- Alicense-qualityDmaintenanceHosted MCP endpoint that returns realistic fake data for prototyping agents. Paste one URL into Claude Code, Cursor, or Claude Desktop — 12 pre-built tools covering users, products, orders, events, email, and knowledge base search. No signup, no config, no auth. Built for developers who want to prototype agent workflows before wiring up a real backend.MIT
- Alicense-qualityAmaintenance62 real-time data tools for AI agents via MCP. Finance, crypto, FMCSA, sanctions, courts, weather, vehicles, cybersecurity. One bearer token, one bill. Free tier available.MIT
- FlicenseAqualityBmaintenanceMCP server providing verified Latin American data via x402 micropayments. 4 MCP tools: vera_rates (central bank rates CO/MX/BR/CL/PE), vera_sanctions (OFAC+SARLAFT+CNBV+COAF+UAF screening, EU AI Act Art.13), vera_entity (RUES/CNPJ/RFC enrichment), vera_context (AI market intelligence). $0.02–$0.10 USDC per call.4
- Flicense-qualityBmaintenanceEnables AI agents to manage personal finances for Brazilian users through MCP tools, including categorizing transactions, reconciling debts, checking cash-flow projections, and adjusting budgets, with integration to Open Finance Brasil via Pluggy.
Related MCP Connectors
Hosted MCP endpoint with realistic fake data for prototyping agents. 12 tools, no setup.
Brazilian Open Finance MCP — 30+ banks (Itaú, Nubank, etc.) to Claude/Cursor. Read-only.
Connect your Mercado Pago account to AI via Brazil's Open Finance: balances, statements, cards, inve
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/jmendozapuche/latam-synth'
If you have feedback or need assistance with the MCP directory API, please join our Discord server