Keenable SELECT es un agente basado en un servidor MCP cuya herramienta principal, select, ejecuta una única consulta SELECT de DuckDB en modo solo lectura sobre datos web en tiempo real. A diferencia de la búsqueda web tradicional, que devuelve diez enlaces y obliga al modelo a leer cada página con un coste elevado de tokens, SELECT traslada el trabajo pesado a la consulta: una sola llamada puede buscar en más de mil páginas, filtrarlas con una cláusula WHERE exacta sin pasar por el LLM, extraer campos con una llamada ligera del modelo por fila y, por último, agrupar los resultados.
El sistema incorpora operadores semánticos y de recuperación que se integran dentro del SQL habitual. WEB_SEARCH ejecuta varias consultas en paralelo, combina los resultados por ranking y elimina URLs repetidas; WEB_FETCH recupera cada URL como Markdown, una fila por página. Para el tratamiento semántico ofrece SEM_EXTRACT (un campo por fila), SEM_EXTRACT_ALL (lista de valores coincidentes), SEM_MATCH (predicado de significado que actúa como filtro WHERE), SEM_SCORE (puntuación por embeddings apta para ORDER BY y LIMIT) y SEM_NORM (normalización semántica para GROUP BY). Los filtros SQL exactos se ejecutan antes, de modo que solo las filas supervivientes llegan a los operadores con LLM.
La galería de Keenble muestra informes generados por dos agentes. Uno, el agente de investigación, es un bucle de herramientas que escribe y ejecuta consultas hasta completar la respuesta y guarda la transcripción para preguntas de seguimiento. El segundo, el agente redactor, opera dentro de generate_html_report: recibe el brief, los dataframes con los resultados y una guía de autoría, construye la página en una sesión Python en sandbox y la publica cuando las capturas de pantalla y la consola dejan errores de JavaScript dentro de un presupuesto fijo. Cada informe se acompaña de su trayectoria completa: consultas, llamadas a herramientas y filas devueltas.
