Keenable SELECT: SQL-Abfragen auf Websuchergebnisse ausführen

✍️ OpenClawRadar📅 Veröffentlicht: 2. September 2026🔗 Source
Ad

Keenable SELECT ist ein MCP-Server, der read-only DuckDB SELECT-Abfragen auf Live-Webdaten ausführt. Statt des traditionellen Agentenflusses – Suche, Abruf jedes Ergebnisses, Lesen der Seiten, dann Synthese – verlagert SELECT die Arbeit in SQL. Ein Aufruf kann über 1.000 Seiten durchsuchen, sie mit einer exakten WHERE-Klausel ohne LLM-Kosten filtern und strukturierte Felder mit einem kleinen LLM-Aufruf pro Zeile extrahieren.

So funktioniert es

Sie stellen eine Frage wie: "Welche KI-Forscher sind seit 2025 zwischen Grenzlabors gewechselt? Nennen Sie für jeden Wechsel den Forscher, das verlassene Labor, das neue Labor und den Monat." Keenable SELECT übersetzt das in SQL:

SELECT SEM_EXTRACT(content, 'Forscher'),       SEM_EXTRACT(content, 'verlassenes Labor'),       SEM_EXTRACT(content, 'neues Labor'),       SEM_EXTRACT(content, 'Monat des Wechsels')FROM WEB_SEARCH(8 diverse Abfragen)WHERE SEM_MATCH(content, 'genannter Forscher wechselt zwischen Grenzlabors, 2025+')

Der Server führt die Suche aus, führt semantische Operatoren aus und gibt einen Bericht zurück. Jedes Ergebnis enthält eine vollständige Trajektorie: jede Abfrage, jedes Tool-Ergebnis und jede Ergebnismenge hinter dem endgültigen Output.

MCP-Tools

  • select — führt eine DuckDB SELECT aus und gibt Zeilen zurück. Ergebnismengen werden mit IDs gespeichert, um sie in späteren Abfragen wiederzuverwenden.
  • generate_html_report — nimmt ein Briefing und Ergebnis-IDs und rendert einen teilbaren HTML-Bericht.
Ad

Semantische Operatoren

Die Operatoren leben in SQL. Der Server findet sie im geparsten Statement, führt sie aus und ersetzt sie durch einfache Spalten. Exakte SQL-Filter werden zuerst ausgeführt, sodass nur überlebende Zeilen zu den LLM-Operatoren gelangen – das spart Tokens.

  • WEB_SEARCH('q1', 'q2', ...) — sucht alle Abfragen gleichzeitig, führt Rankings zusammen, dedupliziert URLs.
  • WEB_FETCH('https://a.com', ...) — ruft Seiten als Markdown ab, eine Zeile pro Seite.
  • SEM_EXTRACT(column, 'Feldbeschreibung') — ein LLM-Aufruf pro Zeile; gibt ein Feld oder null zurück.
  • SEM_EXTRACT_ALL(column, 'was ein Wert ist') — gibt alle passenden Werte als Liste zurück.
  • SEM_MATCH(column, 'Prädikat') — LLM-Test pro Zeile (z. B. Filtern).

Warum es wichtig ist

Traditionelle Websuche gibt einem Agenten zehn Links. Der Agent muss jede Seite lesen und teure Tokens ausgeben, um eine Antwort zu konstruieren. SELECT verlagert diese Arbeit in die Abfrageebene – Tausende Seiten durchsuchen, sie exakt filtern und Felder mit minimalen LLM-Aufrufen extrahieren. Die Galerie zeigt Berichte wie "Twenty Years of YC Startup-Name Morphology" (36 Nachrichten, 18 Abfragen) und "Orbital Launch Atlas, 1957–2026" (16 Nachrichten, 9 Abfragen), jeweils mit vollständigen Trajektorien.

Wenn Sie agentische Suche oder datenintensive Forschungswerkzeuge bauen, ist dies ein anderes Muster, das es wert ist zu studieren: SQL als Kontrollebene, LLM nur für semantische Extraktion und Matching.

📖 Vollständige Quelle lesen: HN AI Agents

Ad

👀 Siehe auch