Argentina's official public data (INDEC, BCRA, 38 portals): search, read tables, cited answers.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Bearer followed by your free OpenArg key (oarg_sk_…). Get one at https://openarg.org/desarrolladores
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calcula en la base una suma, promedio, conteo, mínimo o máximo, opcionalmente agrupado. Usala SIEMPRE que necesites un total, un promedio, un conteo, un mínimo/máximo o un ranking, en vez de traer filas con `obtener_datos` y hacer la cuenta vos: es exacta, no tiene el tope de 500 filas y gasta muchos menos tokens. - `operacion`: "suma", "promedio", "conteo", "minimo" o "maximo". - `columna`: la que se suma/promedia/etc. (nombres exactos de `describir_tabla`); no va con "conteo", que cuenta filas (si la mandás, da error). Las columnas de texto con números se leen según su formato (1.234,5 o 1,234.5); si el formato es ambiguo, no calcula y lo dice. - `agrupar_por`: hasta 3 columnas, p. ej. ["jurisdiccion_desc"] para un ranking. - `filtros`, `desde`, `hasta`, `columna_fecha`: como en `obtener_datos` (hasta 6 filtros). - `ordenar_por`: "valor" (por defecto, para rankings) o una columna de `agrupar_por` (p. ej. el año, para una serie). `orden`: "desc" (por defecto) o "asc". - `limite`: grupos a devolver, 1 a 200. - `ponderar_por`: la columna de ponderación de una encuesta (con "conteo" da la población estimada, no la cantidad de filas de la muestra). La respuesta dice sobre cuántas filas se calculó (`filas_usadas`, de todos los grupos) y si hay más grupos que `limite`. Si ninguna fila cumple los filtros no hay valor: dice qué valores existen. No descuenta preguntas.
Calcula en la base una suma, promedio, conteo, mínimo o máximo, opcionalmente agrupado. Usala SIEMPRE que necesites un total, un promedio, un conteo, un mínimo/máximo o un ranking, en vez de traer filas con `obtener_datos` y hacer la cuenta vos: es exacta, no tiene el tope de 500 filas y gasta muchos menos tokens. - `operacion`: "suma", "promedio", "conteo", "minimo" o "maximo". - `columna`: la que se suma/promedia/etc. (nombres exactos de `describir_tabla`); no va con "conteo", que cuenta filas (si la mandás, da error). Las columnas de texto con números se leen según su formato (1.234,5 o 1,234.5); si el formato es ambiguo, no calcula y lo dice. - `agrupar_por`: hasta 3 columnas, p. ej. ["jurisdiccion_desc"] para un ranking. - `filtros`, `desde`, `hasta`, `columna_fecha`: como en `obtener_datos` (hasta 6 filtros). - `ordenar_por`: "valor" (por defecto, para rankings) o una columna de `agrupar_por` (p. ej. el año, para una serie). `orden`: "desc" (por defecto) o "asc". - `limite`: grupos a devolver, 1 a 200. - `ponderar_por`: la columna de ponderación de una encuesta (con "conteo" da la población estimada, no la cantidad de filas de la muestra). La respuesta dice sobre cuántas filas se calculó (`filas_usadas`, de todos los grupos) y si hay más grupos que `limite`. Si ninguna fila cumple los filtros no hay valor: dice qué valores existen. No descuenta preguntas.
| Argument | Type | Description |
|---|---|---|
| desde | any | |
| hasta | any | |
| orden | string | |
| tabla* | string | |
| limite | integer | |
| columna | any | |
| filtros | any | |
| operacion* | string | |
| agrupar_por | any | |
| ordenar_por | any | |
| ponderar_por | any | |
| columna_fecha | any |
{
"type": "object",
"title": "agregar_datosArguments",
"required": [
"tabla",
"operacion"
],
"properties": {
"desde": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Desde",
"default": null
},
"hasta": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Hasta",
"default": null
},
"orden": {
"type": "string",
"title": "Orden",
"default": "desc"
},
"tabla": {
"type": "string",
"title": "Tabla"
},
"limite": {
"type": "integer",
"title": "Limite",
"default": 50
},
"columna": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Columna",
"default": null
},
"filtros": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
]
}
},
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
{
"type": "null"
}
],
"title": "Filtros",
"default": null
},
"operacion": {
"type": "string",
"title": "Operacion"
},
"agrupar_por": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Agrupar Por",
"default": null
},
"ordenar_por": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ordenar Por",
"default": null
},
"ponderar_por": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Ponderar Por",
"default": null
},
"columna_fecha": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Columna Fecha",
"default": null
}
}
}Busca en el catálogo de OpenArg (más de 30.000 datasets de portales oficiales). Devuelve título, portal, descripción, link a la fuente oficial y las tablas consultables de cada dataset (usalas con `describir_tabla` y `obtener_datos`). `texto` es lo que buscás, en castellano ("tasas de interés BCRA", "matrícula escolar CABA"). `portal` filtra por portal (ver `listar_fuentes`). `limite` entre 1 y 25. No descuenta preguntas.
| Argument | Type | Description |
|---|---|---|
| texto* | string | |
| limite | integer | |
| portal | any |
{
"type": "object",
"title": "buscar_datasetsArguments",
"required": [
"texto"
],
"properties": {
"texto": {
"type": "string",
"title": "Texto"
},
"limite": {
"type": "integer",
"title": "Limite",
"default": 10
},
"portal": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Portal",
"default": null
}
}
}Responde una pregunta sobre datos públicos oficiales de Argentina, con fuentes. Ejemplos: "¿Cuál fue la tasa de desempleo del último trimestre?", "Evolución del IPC en 2025", "¿Cuántos diputados tiene cada bloque?", "Presupuesto ejecutado por el Ministerio de Salud en 2024". La respuesta incluye los datasets usados (con link al portal oficial), advertencias sobre la calidad o cobertura del dato, y cuántas preguntas le quedan este mes al usuario. Cada respuesta descuenta 1 de sus preguntas del mes (10 gratis); un error, un corte por tiempo o la misma pregunta repetida dentro de los 5 minutos no descuentan. Si podés responder con `buscar_datasets` + `obtener_datos` o `agregar_datos`, preferí esas.
| Argument | Type | Description |
|---|---|---|
| pregunta* | string |
{
"type": "object",
"title": "consultar_datos_publicosArguments",
"required": [
"pregunta"
],
"properties": {
"pregunta": {
"type": "string",
"title": "Pregunta"
}
}
}Muestra las columnas (con su tipo), cantidad de filas, período cubierto, frescura y una muestra de una tabla. `tabla` es el nombre que devuelve `buscar_datasets`. Usalo antes de `obtener_datos` o `agregar_datos` para saber qué columnas pedir y qué fechas existen. La frescura dice cuándo leyó OpenArg la tabla de su fuente, cuál es el último dato y, sólo si la tabla es una foto del período en curso, su fecha de corte. La fecha de lectura no es la de los datos: una tabla de un período pasado o sin columna de fecha no es vigente por haberse leído hoy. No presentes como actual un dato viejo. No descuenta preguntas.
| Argument | Type | Description |
|---|---|---|
| tabla* | string |
{
"type": "object",
"title": "describir_tablaArguments",
"required": [
"tabla"
],
"properties": {
"tabla": {
"type": "string",
"title": "Tabla"
}
}
}Lista los portales de datos abiertos que cubre OpenArg y cuántos datasets tiene cada uno. No descuenta preguntas: cuenta como un pedido del modo datos.
No arguments.
{
"type": "object",
"title": "listar_fuentesArguments",
"properties": {}
}Trae filas de una tabla, en CSV, con la fuente oficial. Para un total, promedio, conteo, mínimo, máximo o ranking NO traigas filas para sumarlas: usá `agregar_datos`. - `columnas`: las que quieras (por defecto, todas); nombres exactos de `describir_tabla`. - `desde` / `hasta`: período, como AAAA, AAAA-MM o AAAA-MM-DD, sobre la columna de fecha (o de año). - `filtros`: hasta 5. Igualdad: {"provincia": "Córdoba"}. Con operador, una lista: [{"columna": "monto", "operador": "mayor_que", "valor": "1000000"}, {"columna": "provincia", "operador": "en", "valores": ["Salta", "Jujuy"]}]. Operadores: =, !=, mayor_que, menor_que, >=, <=, contiene y en. La igualdad y `contiene` no distinguen mayúsculas ni acentos (en tablas de más de un millón de filas, sí: ahí la respuesta dice en `filtros_aplicados` qué se buscó tal cual). - `orden`: "asc" (por defecto: primero lo más viejo) o "desc" (primero lo más reciente), por fecha. Para el último dato de una serie, pedí "desc". - `limite`: 1 a 500 filas. Si hay más, la respuesta lo dice y da el `offset` de la página siguiente (hasta 10.000). - `columna_fecha`: opcional, otra columna de fecha para `desde`/`hasta` y el orden. Si ninguna fila cumple los filtros, la respuesta dice qué valores existen. No descuenta preguntas.
| Argument | Type | Description |
|---|---|---|
| desde | any | |
| hasta | any | |
| orden | any | |
| tabla* | string | |
| limite | integer |
| offset | integer |
| filtros | any |
| columnas | any |
| columna_fecha | any |
{
"type": "object",
"title": "obtener_datosArguments",
"required": [
"tabla"
],
"properties": {
"desde": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Desde",
"default": null
},
"hasta": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Hasta",
"default": null
},
"orden": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Orden",
"default": null
},
"tabla": {
"type": "string",
"title": "Tabla"
},
"limite": {
"type": "integer",
"title": "Limite",
"default": 100
},
"offset": {
"type": "integer",
"title": "Offset",
"default": 0
},
"filtros": {
"anyOf": [
{
"type": "object",
"additionalProperties": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
},
{
"type": "number"
}
]
}
},
{
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
{
"type": "null"
}
],
"title": "Filtros",
"default": null
},
"columnas": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"title": "Columnas",
"default": null
},
"columna_fecha": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Columna Fecha",
"default": null
}
}
}