Skip to main content

MCP Argentina 🇦🇷

Servidor Model Context Protocol (MCP) para consultar datos económicos de Argentina en tiempo real.

Características

  • 💵 Cotizaciones dólar: Oficial, Blue, MEP, CCL, Tarjeta, Cripto, Mayorista
  • 📈 Históricos: 30+ días de evolución de cotizaciones
  • 📊 Inflación: Mensual, interanual y acumulada (INDEC)
  • 🌡️ Riesgo país: Índice EMBI en tiempo real
  • 💱 Monedas: EUR, BRL, UYU, CLP y 10+ monedas extranjeras
  • 🔔 Alertas: Monitoreo de umbrales de precio
  • 📉 Gráficos: Visualización ASCII de tendencias
  • 🔄 Conversiones: ARS ↔ USD con cualquier tipo de cambio

Instalación

pip install mcp-argentina

O desde source:

git clone https://github.com/greydina/mcp-argentina
cd mcp-argentina
pip install -e .

Integración con Clientes MCP

Después de instalar, necesitás configurar tu cliente MCP para que ejecute el servidor.

Claude Desktop

Editá ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) o %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "mcp-argentina": {
      "command": "python",
      "args": ["-m", "mcp_argentina"]
    }
  }
}

Si usás un virtualenv:

{
  "mcpServers": {
    "mcp-argentina": {
      "command": "/ruta/a/tu/venv/bin/python",
      "args": ["-m", "mcp_argentina"]
    }
  }
}

Cursor

Editá .cursor/mcp.json en tu proyecto o ~/.cursor/mcp.json global:

{
  "mcpServers": {
    "mcp-argentina": {
      "command": "python",
      "args": ["-m", "mcp_argentina"]
    }
  }
}

Cline (VS Code)

Agregá en la configuración de Cline:

{
  "mcp-argentina": {
    "command": "python",
    "args": ["-m", "mcp_argentina"]
  }
}

OpenClaw

Agregá en openclaw.json:

{
  "mcp": {
    "servers": {
      "mcp-argentina": {
        "command": "python",
        "args": ["-m", "mcp_argentina"]
      }
    }
  }
}

Verificar instalación

Después de configurar, reiniciá tu cliente. Deberías ver las herramientas disponibles:

  • get_dolar
  • get_cotizaciones
  • get_inflacion
  • get_riesgo_pais
  • etc.

Probá con: "¿Cuánto está el dólar blue?"

Inicio Rápido

Ejecutar servidor manualmente (debug)

# Ejecutar servidor stdio
python -m mcp_argentina

Uso directo (sin MCP)

import asyncio
from mcp_argentina.infrastructure.container import Container

async def main():
    c = Container()
    
    # Dólar blue
    blue = await c.repository.obtener_dolar("blue")
    print(f"💵 Blue: ${blue.venta.valor:,.0f}")
    
    # Inflación
    inf = await c.inflacion.obtener_actual()
    print(f"📊 Inflación interanual: {inf.interanual:.1f}%")
    
    # Riesgo país
    riesgo = await c.repository.obtener_riesgo_pais()
    print(f"🌡️ Riesgo país: {riesgo}")
    
    # Euro
    euro = await c.monedas.obtener_moneda("EUR")
    print(f"💶 Euro: ${euro.venta:,.0f}")

asyncio.run(main())

Salida:

💵 Blue: $1,415
📊 Inflación interanual: 33.0%
🌡️ Riesgo país: 615
💶 Euro: $1,593

Ejemplos

Obtener todas las cotizaciones

cotizaciones = await c.repository.obtener_todas()
for cot in cotizaciones:
    print(f"{cot.nombre}: ${cot.venta.valor:,.0f}")

Salida:

Oficial: $1,000
Blue: $1,415
Bolsa: $1,380
Contado con liquidación: $1,390
Mayorista: $1,005
Cripto: $1,410
Tarjeta: $1,600

Histórico del dólar blue

historicos = await c.historicos.obtener_historico_dolar("blue", dias=7)
for h in historicos:
    print(f"{h.fecha}: ${h.venta:,.0f}")

Salida:

2026-03-22: $1,425
2026-03-23: $1,420
2026-03-24: $1,418
2026-03-25: $1,415
2026-03-26: $1,410
2026-03-27: $1,415
2026-03-28: $1,415

Variación porcentual

var = await c.historicos.obtener_variacion_dolar("blue", dias=7)
print(f"Variación 7 días: {var['variacion_porcentual']:+.1f}%")

Salida:

Variación 7 días: -0.7%

Conversión USD → ARS

blue = await c.repository.obtener_dolar("blue")
usd = 100
ars = usd * float(blue.venta.valor)
print(f"USD {usd} = ARS {ars:,.0f} (al blue)")

Salida:

USD 100 = ARS 141,500 (al blue)

Gráfico ASCII de tendencia

from mcp_argentina.application.services.graficos_service import PuntoGrafico

historicos = await c.historicos.obtener_historico_dolar("blue", dias=30)
puntos = [PuntoGrafico(fecha=h.fecha, valor=float(h.venta)) for h in historicos]
grafico = c.graficos.generar_linea(puntos, titulo="Dólar Blue (30 días)")
print(grafico)

Salida:

📊 Dólar Blue (30 días)

Max: $1,450
▅▆▇█▇▆▅▄▃▂▁▁▂▃▄▅▆▅▄▃▂▂▃▄▄▃▂▁▁▁
Min: $1,400
27/02 28/03
📉 -2.4%

Herramientas MCP

Herramienta Descripción
get_dolar Cotización de un tipo de dólar específico
get_cotizaciones Todas las cotizaciones de dólar
get_historico Histórico de cotizaciones (30+ días)
get_inflacion Inflación mensual, interanual, acumulada
get_riesgo_pais Índice EMBI Argentina
get_moneda Cotización de moneda extranjera
get_todas_monedas Todas las monedas disponibles
get_variacion Variación porcentual en período
get_grafico Gráfico ASCII de tendencia
convertir Conversión ARS ↔ USD

Resources MCP

URI Descripción
economia://cotizaciones/actual Snapshot JSON de todas las cotizaciones
economia://indicadores/resumen Indicadores económicos clave
economia://inflacion/actual Datos de inflación actual

Prompts MCP

Prompt Descripción
analisis_economico Análisis de situación económica
comparar_dolares Comparación entre tipos de dólar

Fuentes de Datos

100% APIs públicas, cero scraping.

Fuente Endpoint Datos
dolarapi.com /v1/dolares/{tipo} Cotizaciones tiempo real
dolarapi.com /v1/cotizaciones/{moneda} Monedas extranjeras
argentinadatos.com /v1/cotizaciones/dolares/{tipo} Histórico de cotizaciones
argentinadatos.com /v1/finanzas/indices/inflacion Inflación mensual INDEC
argentinadatos.com /v1/finanzas/indices/riesgo-pais/ultimo Riesgo país (EMBI)

Arquitectura

mcp_argentina/
├── domain/                    # Entidades y value objects
│   ├── entities/              # Cotizacion, etc.
│   └── value_objects/         # Precio, Fecha, TipoDolar
│
├── application/               # Lógica de negocio
│   ├── ports/                 # Interfaces (Repository)
│   └── services/              # AlertasService, GraficosService
│
└── infrastructure/            # Implementaciones
    ├── adapters/              # DolarAPI, Historicos, Inflacion, Monedas
    ├── errors.py              # Excepciones personalizadas
    ├── logging.py             # Logging estructurado
    ├── retry.py               # Retry con backoff exponencial
    └── mcp/                   # Server, Tools, Resources, Prompts

Clean Architecture: Dependencias apuntan hacia el dominio.

Desarrollo

# Tests (sin slow/integration)
pytest -m "not slow"

# Tests con coverage
pytest --cov=mcp_argentina --cov-report=html

# Lint
ruff check .

# Type check
mypy mcp_argentina

# Format
ruff format .

Stats

  • ✅ 180 tests
  • ✅ 78% coverage
  • ✅ Python 3.10, 3.11, 3.12
  • ✅ Type-safe (mypy)
  • ✅ CI/CD GitHub Actions

Roadmap

  • Cotizaciones dólar en tiempo real
  • Históricos de cotizaciones
  • Inflación (INDEC)
  • Riesgo país
  • Monedas extranjeras
  • Alertas de precio
  • Gráficos ASCII
  • Conversiones
  • Logging estructurado
  • Retry con backoff
  • WebSocket para updates real-time
  • Publicar en PyPI
  • Publicar en ClawHub

Licencia

MIT


Creado por: greydina
Versión: 0.1.0

Metadata

Release files for mcp-argentina 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mcp-argentina 0.1.0
File Size Uploaded Provenance
mcp_argentina-0.1.0.tar.gz 68.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mcp-argentina 0.1.0
File Interpreter ABI Platform
mcp_argentina-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 115.7 kB

Release files / mcp_argentina-0.1.0.tar.gz

Download URL mcp_argentina-0.1.0.tar.gz
Size 68.5 kB
Tags Source
SHA-256 checksum
How to use checksums
0bd59c633cf6b1fb0edf6c379c9f4de8581dfcc5fbf36f3d793fc723ea20fcf2
BLAKE2b-256 checksum
How to use checksums
f1d630c2a3e06076e291bc0cd4773c0039d1c30690a301f5a29fe4a3ed7c7c02
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / mcp_argentina-0.1.0-py3-none-any.whl

Download URL mcp_argentina-0.1.0-py3-none-any.whl
Size 47.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5b40e15a8dc459d58147aca85a33d515792b4249f6df976edc697b15307023a
BLAKE2b-256 checksum
How to use checksums
5e32fb3b3069ff07ec1c0d64ec220811cff7f534eef6253f756c1c1f295c0a7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Security for mcp-argentina 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page