OpenArg MCPpor Colossus Lab Conseguí tu clave

02 / 03 Referencia

Seis herramientas, dos modos.

El servidor https://mcp.openarg.org/mcp usa el transporte Streamable HTTP. Todas las herramientas son de solo lectura.

01

Modo datos

Tu asistente busca, mira, trae las filas o pide los totales, y razona él. No descuenta preguntas.

200pedidos por mes
  • buscar_datasets
  • describir_tabla
  • obtener_datos
  • agregar_datos
  • listar_fuentes
02

Modo respuestas

OpenArg arma la respuesta, cruza tablas y verifica los números.

10preguntas por mes
  • consultar_datos_publicos

Datosbuscar_datasets

Busca en el catálogo (más de 30.000 datasets de portales oficiales), por significado y por palabras.

ParámetroTipoDescripción
textotextoLo que buscás: "tasas de interés BCRA", "matrícula escolar CABA".
portaltexto, opcionalLimita a un portal (ver listar_fuentes).
limitenúmero, opcionalDe 1 a 25. Por defecto 10.

Devuelve título, portal, descripción, link a la fuente oficial y las tablas consultables de cada dataset, con su cantidad de filas.

Datosdescribir_tabla

Todo lo necesario para pedir bien los datos de una tabla.

ParámetroTipoDescripción
tablatextoEl nombre que devolvió buscar_datasets.

Devuelve las columnas con su tipo, la cantidad de filas, el período cubierto (si tiene fechas), una muestra de 5 filas y la fuente oficial.

Frescura: cuándo leyó OpenArg la tabla de su fuente por última vez, cuál es el último dato de la serie y, si la tabla es una foto del período en curso (el crédito presupuestario del ejercicio actual), su fecha de corte. Si la tabla tiene un solo período y es pasado (un ejercicio 2019), dice de cuándo son los datos; si no tiene columna de fecha, no la presenta como vigente: la fecha de lectura no es la de los datos, que suele decirla el título del dataset. Si el período sale de una muestra (tablas muy grandes), marca el último dato como aproximado; si la tabla tiene fechas pero no se pudo calcular qué período cubre, lo dice en vez de presentarla como vigente. Si hace más de 90 días que no se relee, lo avisa: el portal puede tener datos más nuevos.

Datosobtener_datos

Trae filas de una tabla, en CSV. No se escribe SQL: se eligen columnas, período y filtros.

ParámetroTipoDescripción
tablatextoLa tabla, como la devuelve buscar_datasets.
columnaslista, opcionalNombres exactos de describir_tabla. Por defecto, todas (hasta 30).
desde / hastatexto, opcionalPeríodo: AAAA, AAAA-MM o AAAA-MM-DD.
filtrosobjeto o lista, opcionalHasta 5. Igualdad: {"provincia": "Córdoba"}. Con operador: [{"columna": "monto", "operador": "mayor_que", "valor": "1000000"}]. Operadores: =, !=, mayor_que, menor_que, >=, <=, contiene y en (con valores). La igualdad no distingue mayúsculas ni acentos.
ordentexto, opcionalasc (por defecto: primero lo más viejo) o desc (primero lo más reciente), por fecha.
limitenúmero, opcionalDe 1 a 500 filas. Por defecto 100.
offsetnúmero, opcionalFilas a saltear, para la página siguiente (hasta 10.000).
columna_fechatexto, opcionalOtra columna de fecha para el período y el orden.

Devuelve las filas en CSV y la fuente oficial con su link. Si hay más filas que las pedidas lo dice y da el offset de la página siguiente. Con columna de fecha, las filas salen en un orden estable: por fecha y, entre filas de la misma fecha, en el orden del archivo. Sin columna de fecha, el orden del archivo se garantiza sólo en tablas de hasta 50.000 filas; en las más grandes (o si no se sabe cuántas filas tienen) las filas salen en el orden en que se leen, que puede cambiar entre pedidos, y la respuesta lo avisa: para recorrerlas acotá con filtros. La paginación llega hasta offset 10.000. Si ninguna fila cumple los filtros, dice qué valores existen.

Para un total, un promedio o un ranking no traigas filas para sumarlas: usá agregar_datos.

Datosagregar_datos

Calcula en la base una suma, un promedio, un conteo, un mínimo o un máximo, opcionalmente agrupado: un total, un ranking o una serie, sin traer las filas ni el tope de 500.

ParámetroTipoDescripción
tablatextoLa tabla, como la devuelve buscar_datasets.
operaciontextosuma, promedio, conteo, minimo o maximo.
columnatexto, opcionalLa columna que se suma, promedia, etc. No va con conteo, que cuenta filas: si viene, el pedido se rechaza con un 400. 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_porlista, opcionalHasta 3 columnas: ["jurisdiccion_desc"] da un ranking por jurisdicción.
filtros, desde, hasta, columna_fechaopcionalesComo en obtener_datos (hasta 6 filtros).
ordenar_portexto, opcionalvalor (por defecto) o una columna de agrupar_por, por ejemplo el año para una serie.
ordentexto, opcionaldesc (por defecto: de mayor a menor) o asc.
limitenúmero, opcionalGrupos a devolver, de 1 a 200. Por defecto 50.
ponderar_portexto, opcionalLa columna de ponderación de una encuesta: con conteo da la población estimada, no la cantidad de filas de la muestra.

Devuelve el resultado en CSV (un valor por grupo, con cuántas filas entraron en cada uno), sobre cuántas filas de la tabla se calculó en total, si hay más grupos que el limite y la fuente oficial. Si ninguna fila cumple los filtros no devuelve un cero: dice qué valores existen.

Cupo: cuenta como un pedido del modo datos, igual que obtener_datos.

Respuestasconsultar_datos_publicos

Responde una pregunta sobre datos públicos oficiales de Argentina, con fuentes.

ParámetroTipoDescripción
preguntatextoLa pregunta en lenguaje natural, hasta 2.000 caracteres. Mejor en castellano y concreta.

Devuelve un texto en Markdown con:

Cupo: cada respuesta descuenta 1 de las 10 preguntas del mes, aunque la respuesta sea que no encontró el dato. No descuentan los errores, las consultas que se cortan por tiempo, los saludos ni la misma pregunta repetida dentro de los 5 minutos (en ese caso te devuelve la misma respuesta sin volver a calcularla).

Tarda entre unos segundos y un minuto, según cuántas tablas tenga que cruzar.

Datoslistar_fuentes

Lista los portales de datos abiertos que cubre OpenArg y cuántos datasets tiene indexados cada uno. No lleva parámetros.

Cupo: cuenta como un pedido del modo datos.

Errores

Los errores vuelven como error de herramienta (isError: true) con un mensaje en castellano que el asistente le puede mostrar al usuario. La tabla está en Empezar.

Si se pasa el límite por minuto, el mensaje dice cuántos segundos faltan (en la API HTTP, el header Retry-After). En el modo datos, cada rechazo de una consulta tiene su mensaje: la consulta tardó demasiado, el validador de seguridad la rechazó, la tabla está oculta por un problema de calidad o pidió una columna que ya no existe. En la API HTTP el header X-OpenArg-Error lo dice en una palabra (timeout, validador, tabla_bloqueada, columna_inexistente, tabla_inexistente, ejecucion).

Sin MCP

La misma clave sirve para la API HTTP, con el mismo cupo:

modo respuestas
curl https://api.openarg.org/api/v1/ask \
  -H "Authorization: Bearer oarg_sk_TU_CLAVE" \
  -H "Content-Type: application/json" \
  -d '{"question": "tasa de desempleo del último trimestre"}'

Devuelve JSON con answer, sources, citations, warnings, chart_data, map_data y usage.

Y el modo datos, en JSON:

modo datos
curl -G https://api.openarg.org/api/v1/catalogo/buscar \
  -H "Authorization: Bearer oarg_sk_TU_CLAVE" --data-urlencode "q=tasas de interés"

curl -G https://api.openarg.org/api/v1/catalogo/tabla \
  -H "Authorization: Bearer oarg_sk_TU_CLAVE" --data-urlencode "nombre=TABLA"

curl https://api.openarg.org/api/v1/catalogo/datos \
  -H "Authorization: Bearer oarg_sk_TU_CLAVE" -H "Content-Type: application/json" \
  -d '{"tabla": "TABLA", "desde": "2026-01", "limite": 100}'

curl https://api.openarg.org/api/v1/catalogo/agregar \
  -H "Authorization: Bearer oarg_sk_TU_CLAVE" -H "Content-Type: application/json" \
  -d '{"tabla": "TABLA", "operacion": "suma", "columna": "monto", "agrupar_por": ["provincia"]}'

En el JSON, valor y las columnas numéricas son números (no texto), con la precisión de un número de punto flotante.