Desarrolladores · MCP
Almanac dentro de tu agente de IA.
El Model Context Protocol (MCP) conecta tu asistente de IA al catálogo de Almanac: el agente consulta datasets oficiales y corre SQL, devolviendo resultados directos. Es el mismo servidor remoto (https://mcp.almanac.ar/mcp) para todos los clientes; sólo cambia cómo te autenticás — con tu cuenta (OAuth) o con una API key.
Conexión con tu cuenta (OAuth) — Claude y ChatGPT
Para asistentes interactivos. Agregás el servidor por URL y autorizás una sola vez por el navegador con tu cuenta de Almanac; no hace falta instalar nada ni pegar API keys.
https://mcp.almanac.ar/mcp
Claude (web y escritorio)
- Ajustes → Conectores → Agregar conector personalizado.
- Pegá la URL
https://mcp.almanac.ar/mcp. - Autorizá con tu cuenta de Almanac cuando se abra el navegador.
ChatGPT
- Ajustes → Conectores → Agregar (servidor MCP por URL).
- Pegá la URL
https://mcp.almanac.ar/mcpy autorizá con tu cuenta.
Conexión con API key — Cursor, Codex, Copilot, Gemini
Para clientes que se conectan por URL + un header Authorization: Bearer (sin el flujo OAuth de navegador). Es el mismo servidor remoto; la identidad va en tu API key. Recomendamos guardarla en una variable de entorno y no hardcodearla.
Cursor · ~/.cursor/mcp.json
{
"mcpServers": {
"almanac": {
"url": "https://mcp.almanac.ar/mcp",
"headers": { "Authorization": "Bearer ${env:ALMANAC_API_KEY}" }
}
}
}VS Code / GitHub Copilot · .vscode/mcp.json
{
"inputs": [
{ "id": "almanac_key", "type": "promptString", "description": "Almanac API key", "password": true }
],
"servers": {
"almanac": {
"type": "http",
"url": "https://mcp.almanac.ar/mcp",
"headers": { "Authorization": "Bearer ${input:almanac_key}" }
}
}
}Gemini CLI · ~/.gemini/settings.json
{
"mcpServers": {
"almanac": {
"httpUrl": "https://mcp.almanac.ar/mcp",
"headers": { "Authorization": "Bearer alm_..." }
}
}
}Codex CLI · ~/.codex/config.toml
[mcp_servers.almanac]
enabled = true
transport = { type = "streamable_http", url = "https://mcp.almanac.ar/mcp" }
bearer_token_env_var = "ALMANAC_API_KEY"En Codex la API key se toma de la variable de entorno indicada en bearer_token_env_var (acá ALMANAC_API_KEY).
¿Sólo querés traer datos a tu sistema (sin un agente)? Usá la API REST en api.almanac.ar/v1 con tu API key.
MCP local
El paquete local almanac-mcp (PyPI / la extensión para Claude Desktop) está dado de baja. Si lo usabas, migrá a las opciones de arriba:
- En Claude / ChatGPT → conexión OAuth.
- En Cursor / Codex / Copilot / Gemini → conexión con API key.
- Si le pegabas directo a un endpoint para traer datos → la API REST.
Tools disponibles
- catalog_list
- Lista los datasets publicados (o la ficha completa de uno) con schema inline, business questions, gotchas y ejemplos. Es el punto de descubrimiento.
- catalog_get
- Ficha completa de un dataset por id, incluido el nombre exacto de la tabla en Postgres y el schema de columnas. Devuelve lo mismo que catalog_list aplicado a un dataset puntual.
- data_summary
- Caracterización rápida: row count total y min/max/distinct de columnas clave, para entender la cobertura antes de samplear.
- data_distinct_values
- Top-N valores distintos de una columna categórica, con búsqueda por substring (resuelve 'qué id_variable es Reservas').
- data_snapshot_url
- URL firmada al Parquet (o CSV) del snapshot vigente completo, para bajar el dataset entero y trabajarlo local.
- URL válida 60 min
- data_query
- Ejecuta SQL SELECT/WITH/EXPLAIN contra las tablas de Almanac en Postgres; soporta JOINs cross-dataset con latencia sub-segundo.
- hasta 50.000 filas / 60 s
- data_query_parquet
- SQL (DuckDB) sobre el Parquet en R2 de un dataset parquet-only. Por defecto consulta el último snapshot (foto vigente); con all_snapshots=true recorre toda la historia para comparaciones point-in-time.
- hasta 100.000 filas / 120 s
- boletines_search
- Búsqueda por texto libre sobre el CUERPO COMPLETO de los boletines oficiales (Nación + 20 provincias) — a diferencia de data_query sobre las vistas boletin.*, que solo ve un excerpt de 600 caracteres por aviso. Devuelve snippet + metadata + texto_url al documento íntegro.