argentina-markets-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@argentina-markets-mcp What's the current MEP dollar rate in Argentina?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
argentina-markets-mcp
An MCP server that exposes Argentine market data to AI agents, plus the building blocks for a paper-trading agent with deterministic risk guardrails and an auditable decision log.
Paper trading only. Not financial advice. Quotes come from a public third-party API and may be delayed or inaccurate.
Status
Early stage, solo project. What works today:
Component | What it does | Tests |
| MEP, CCL, official, blue, wholesale, card and crypto dollar quotes via dolarapi.com (no API key) | yes |
Audit log |
| yes |
Risk module | Kill switch, per-order cap, position cap (reducing a position is always allowed), data-freshness check | yes |
Paper trading |
| yes |
Not built yet: BYMA equities/options/bonds tools, a persistent portfolio, and a strategy/agent loop on top of these tools.
Related MCP server: latamfx-mcp
Quick start
Requires Python 3.10+ (developed and tested on 3.12).
git clone https://github.com/cris-devtrading/argentina-markets-mcp.git
cd argentina-markets-mcp
uv venv --python 3.12 && source .venv/bin/activate
uv pip install -e ".[dev]"
pytestRun the server over stdio:
python -m argentina_markets_mcp.serverTools
ping: health check.get_dolar_quote(tipo="mep"): returns buy/sell and the source timestamp.tipoacceptsmep,ccl,oficial,blue,mayorista,tarjeta,cripto.simulate_order(tipo, side, amount_ars): simulated buy/sell of USD against ARS. Buys fill at the ask, sells at the bid, no short positions. Returnsfilledorrejectedwith the reason.get_paper_portfolio(): current simulated cash, USD and kill-switch state (in memory, resets on restart).engage_kill_switch(reason): rejects all further orders. There is intentionally no tool to disengage it; restart the server.
Audit log
Every call to an audited tool appends a line to audit_log.jsonl (override with the AUDIT_LOG_PATH environment variable). The file is git-ignored. A logging failure never breaks the tool.
Risk guardrails
risk.py contains pure, network-free functions, so they are easy to test:
KillSwitch: when engaged, every order is rejected.check_order: rejects orders above the per-order cap, and orders that would push a position above its cap unless they reduce it.check_data_fresh: rejects stale or invalid quote timestamps.
The default limits in RiskLimits are placeholders, not recommendations. Configure them for your own case.
Secrets
No credentials belong in this repo. Copy .env.example to .env (git-ignored) for local settings.
License
MIT
Available Tools
5 toolsengage_kill_switchC
Activa el kill switch: rechaza todas las órdenes siguientes.
Inputs: reason (required).
get_dolar_quoteA
Cotización del dólar en Argentina (compra/venta).
tipo: mep, ccl, oficial, blue, mayorista, tarjeta o cripto. Solo informa cotizaciones; no es asesoramiento financiero.
Inputs: tipo.
get_paper_portfolioB
Estado de la cartera simulada (en memoria; se reinicia con el servidor).
Inputs: no named parameters.
pingA
Health check.
Inputs: no named parameters. Returns: result
simulate_orderA
Orden simulada (paper trading) de compra/venta de USD contra ARS.
side: 'buy' o 'sell'. amount_ars: monto en pesos, positivo. Pasa por los guardrails (kill switch, topes, frescura del dato). Devuelve status 'filled' o 'rejected' con el motivo.
Inputs: side (required), tipo (required), amount_ars (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 5 tools
Each tool has a clearly distinct purpose: health check, dollar quote retrieval, simulated order placement, portfolio inspection, and kill-switch activation. The only interaction is that the kill switch affects future orders, but the boundary between the tools remains clear.
The core tools use readable snake_case verb_noun naming such as get_dolar_quote, simulate_order, and engage_kill_switch. The lone ping tool is a minor deviation from the pattern but does not create confusion.
Five tools is well-scoped for a small Argentina markets and paper-trading server. Each tool earns its place without excessive surface area.
The server covers quote retrieval, simulated order placement, portfolio state, and kill-switch activation, but it lacks a way to disengage or reset the kill switch. Once engaged, all future orders are permanently rejected until server restart, creating a notable dead end. Order history or portfolio reset operations are also absent.
Maintenance
Related MCP Connectors
Unified financial infrastructure connecting AI agents directly to trade live/demo brokerage accounts, Web3 non-custodial wallets, real-time market data across equities, ETFs, crypto, forex, options, DeFi swaps, and prediction markets, institutional research feeds, and algorithmic strategy backtesters.
Argentina/Brazil data for agents: ARS dollar rates, INDEC CPI, holidays, CUIT/CPF/CNPJ, CEP, PTAX.
Cross-asset market data, LLM gateway and ML forecasts for AI agents. USDC via x402 + MPP.
Compliance-gated stablecoin settlement + x402 macro/ESG/climate intelligence for agents. 115 tools.
Related MCP Servers
- AlicenseAqualityCmaintenanceReal-time Argentine exchange rates for AI agents. Dollar blue, oficial, MEP, CCL, crypto rates plus currency conversion and spread calculator.610 npm5MIT
- AlicenseAqualityCmaintenanceEnables AI agents to query public Latin American FX rates and perform auditable ledger reconciliation using a multi-rule matching engine.6MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform forex trading operations through brokerages with risk controls and safety guardrails.MIT
- FlicenseNot gradedqualityBmaintenanceConnects AI agents to real-time market data, options analysis, broker order staging, and automated alerts and workflows.-