{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_update",
"tool_input": {
"id": 79,
"content": "<![CDATA[<nav class=\"breadcrumb\">\n <a href=\"\/docs\">Dokumentation<\/a> » <a href=\"\/docs\/api\">API<\/a> » Explorer API\n<\/nav>\n\n<h1>Explorer API<\/h1>\n<p class=\"doc-meta\"><strong>Erstellt:<\/strong> 2025-12-20 | <strong>Aktualisiert:<\/strong> 2025-12-31<\/p>\n\n<p>REST-API für den Doc2Vector Explorer mit Dokumenten, Seiten, Chunks, Entitäten, Taxonomie und Suche.<\/p>\n\n<table>\n <tr><th>Controller<\/th><td>Controller\\Api\\ExplorerController<\/td><\/tr>\n <tr><th>Base-URL<\/th><td>\/api\/v1\/explorer<\/td><\/tr>\n <tr><th>Datenbank<\/th><td>ki_content (documents, chunks, entities, ...)<\/td><\/tr>\n<\/table>\n\n<h2>Endpoints-Übersicht<\/h2>\n<table>\n <tr><th>Methode<\/th><th>Pfad<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/stats<\/td><td>Statistiken<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/dokumente<\/td><td>Alle Dokumente<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/dokumente\/{id}<\/td><td>Dokument-Details<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/seiten<\/td><td>Alle Seiten<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/seiten\/{id}<\/td><td>Seiten-Details<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/chunks<\/td><td>Alle Chunks<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/chunks\/{id}<\/td><td>Chunk-Details<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/taxonomie<\/td><td>Taxonomie-Kategorien<\/td><\/tr>\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/entities<\/td><td>Entitäten gruppiert<\/td><\/tr>\n <tr><td>POST<\/td><td>\/api\/v1\/explorer\/suche<\/td><td>Hybrid-Suche<\/td><\/tr>\n<\/table>\n\n<h2>Statistiken<\/h2>\n<pre><code>GET \/api\/v1\/explorer\/stats<\/code><\/pre>\n<p>Liefert Übersicht über alle Daten:<\/p>\n<pre><code>{\n \"success\": true,\n \"data\": {\n \"dokumente\": 15,\n \"seiten\": 120,\n \"chunks\": {\n \"total\": 450,\n \"tokens\": 125000,\n \"analyzed\": 400,\n \"synced\": 380\n },\n \"taxonomy_categories\": [...]\n }\n}<\/code><\/pre>\n\n<h2>Dokumente<\/h2>\n\n<h3>Liste aller Dokumente<\/h3>\n<pre><code>GET \/api\/v1\/explorer\/dokumente<\/code><\/pre>\n<p>Liefert alle Quelldokumente mit Statistiken.<\/p>\n\n<h3>Dokument-Details<\/h3>\n<pre><code>GET \/api\/v1\/explorer\/dokumente\/{id}<\/code><\/pre>\n<p>Liefert Dokument mit zugehörigen Seiten und Taxonomie.<\/p>\n\n<h2>Seiten<\/h2>\n\n<h3>Seiten auflisten<\/h3>\n<pre><code>GET \/api\/v1\/explorer\/seiten?search=&parent_id=&limit=50&offset=0<\/code><\/pre>\n<table>\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>search<\/td><td>string<\/td><td>Suche in Inhalt<\/td><\/tr>\n <tr><td>parent_id<\/td><td>int<\/td><td>Filter nach Parent-Dokument<\/td><\/tr>\n <tr><td>limit<\/td><td>int<\/td><td>Max. Ergebnisse (max 50)<\/td><\/tr>\n <tr><td>offset<\/td><td>int<\/td><td>Pagination-Offset<\/td><\/tr>\n<\/table>\n\n<h3>Seiten-Details<\/h3>\n<pre><code>GET \/api\/v1\/explorer\/seiten\/{id}<\/code><\/pre>\n<p>Liefert Seite mit Chunks und Unterseiten.<\/p>\n\n<h2>Chunks<\/h2>\n\n<h3>Chunks auflisten<\/h3>\n<pre><code>GET \/api\/v1\/explorer\/chunks?category=&status=&search=&limit=50&offset=0<\/code><\/pre>\n<table>\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>category<\/td><td>string<\/td><td>Taxonomie-Kategorie<\/td><\/tr>\n <tr><td>status<\/td><td>string<\/td><td>Chunk-Status<\/td><\/tr>\n <tr><td>search<\/td><td>string<\/td><td>Suche in Content<\/td><\/tr>\n <tr><td>limit<\/td><td>int<\/td><td>Max. Ergebnisse (max 50)<\/td><\/tr>\n <tr><td>offset<\/td><td>int<\/td><td>Pagination-Offset<\/td><\/tr>\n<\/table>\n\n<h3>Chunk-Details<\/h3>\n<pre><code>GET \/api\/v1\/explorer\/chunks\/{id}<\/code><\/pre>\n<p>Liefert Chunk mit allen Metadaten:<\/p>\n<pre><code>{\n \"success\": true,\n \"data\": {\n \"id\": 42,\n \"chunk_index\": 3,\n \"content\": \"...\",\n \"token_count\": 280,\n \"entities\": [\n {\"name\": \"Carl Rogers\", \"type\": \"PERSON\"}\n ],\n \"keywords\": [\"Therapie\", \"Empathie\"],\n \"qdrant_id\": \"abc123...\"\n }\n}<\/code><\/pre>\n\n<h2>Taxonomie<\/h2>\n<pre><code>GET \/api\/v1\/explorer\/taxonomie<\/code><\/pre>\n<p>Liefert Top-Kategorien und Keywords:<\/p>\n<pre><code>{\n \"success\": true,\n \"data\": {\n \"categories\": [...],\n \"top_keywords\": [...]\n }\n}<\/code><\/pre>\n\n<h2>Entitäten<\/h2>\n<pre><code>GET \/api\/v1\/explorer\/entities<\/code><\/pre>\n<p>Liefert Entitäten gruppiert nach Typ.<\/p>\n\n<h2>Hybrid-Suche<\/h2>\n<pre><code>POST \/api\/v1\/explorer\/suche\nContent-Type: application\/json\n\n{\n \"query\": \"Systemische Therapie\",\n \"category\": \"Psychotherapie\",\n \"limit\": 10\n}<\/code><\/pre>\n<p>Kombiniert Vektor- und Keyword-Suche:<\/p>\n<pre><code>{\n \"success\": true,\n \"data\": {\n \"query\": \"Systemische Therapie\",\n \"results\": [...],\n \"suggestions\": [...],\n \"count\": 8\n }\n}<\/code><\/pre>\n\n<h2>Response-Format<\/h2>\n<pre><code>{\n \"success\": true,\n \"data\": { ... },\n \"meta\": {\n \"total\": 450,\n \"limit\": 50,\n \"offset\": 0\n }\n}<\/code><\/pre>\n\n<h2>Datenmodell<\/h2>\n\n<h3>documents (ki_content)<\/h3>\n<table>\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\n <tr><td>filename<\/td><td>varchar<\/td><td>Dateiname<\/td><\/tr>\n <tr><td>title<\/td><td>varchar<\/td><td>Titel<\/td><\/tr>\n <tr><td>source<\/td><td>varchar<\/td><td>Quelle (Nextcloud-Pfad)<\/td><\/tr>\n <tr><td>page_count<\/td><td>int<\/td><td>Seitenanzahl<\/td><\/tr>\n <tr><td>status<\/td><td>enum<\/td><td>pending, processing, completed, error<\/td><\/tr>\n<\/table>\n\n<h3>chunks (ki_content)<\/h3>\n<table>\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\n <tr><td>document_id<\/td><td>int<\/td><td>FK zu documents<\/td><\/tr>\n <tr><td>chunk_index<\/td><td>int<\/td><td>Position in Dokument<\/td><\/tr>\n <tr><td>content<\/td><td>text<\/td><td>Chunk-Inhalt<\/td><\/tr>\n <tr><td>token_count<\/td><td>int<\/td><td>Token-Anzahl<\/td><\/tr>\n <tr><td>embedding_model<\/td><td>varchar<\/td><td>Verwendetes Modell<\/td><\/tr>\n <tr><td>qdrant_id<\/td><td>varchar<\/td><td>Qdrant-Vektor-ID<\/td><\/tr>\n<\/table>\n\n<h3>entities (ki_content)<\/h3>\n<table>\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\n <tr><td>name<\/td><td>varchar<\/td><td>Entity-Name<\/td><\/tr>\n <tr><td>canonical_name<\/td><td>varchar<\/td><td>Normalisierter Name<\/td><\/tr>\n <tr><td>type<\/td><td>enum<\/td><td>PERSON, CONCEPT, ORGANIZATION, ...<\/td><\/tr>\n<\/table>\n\n<h2>Verwandte Dokumentation<\/h2>\n<ul>\n <li><a href=\"\/docs\/anwendungen\/semantic-explorer\">Semantic Explorer<\/a><\/li>\n <li><a href=\"\/docs\/ki-system\/qdrant\">Qdrant Vektor-Datenbank<\/a><\/li>\n <li><a href=\"\/docs\/prozesse\/rag-prozess\">RAG-Prozess<\/a><\/li>\n<\/ul>]]>"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 79,\n \"parent_id\": 51,\n \"slug\": \"explorer\",\n \"path\": \"\/api\/explorer\",\n \"title\": \"Explorer API\",\n \"description\": \"REST-API für Dokumentations-Exploration mit Chunks, Taxonomie und Suche\",\n \"content\": \"<![CDATA[<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/api\\\">API<\/a> » Explorer API\\n<\/nav>\\n\\n<h1>Explorer API<\/h1>\\n<p class=\\\"doc-meta\\\"><strong>Erstellt:<\/strong> 2025-12-20 | <strong>Aktualisiert:<\/strong> 2025-12-31<\/p>\\n\\n<p>REST-API für den Doc2Vector Explorer mit Dokumenten, Seiten, Chunks, Entitäten, Taxonomie und Suche.<\/p>\\n\\n<table>\\n <tr><th>Controller<\/th><td>Controller\\\\Api\\\\ExplorerController<\/td><\/tr>\\n <tr><th>Base-URL<\/th><td>\/api\/v1\/explorer<\/td><\/tr>\\n <tr><th>Datenbank<\/th><td>ki_content (documents, chunks, entities, ...)<\/td><\/tr>\\n<\/table>\\n\\n<h2>Endpoints-Übersicht<\/h2>\\n<table>\\n <tr><th>Methode<\/th><th>Pfad<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/stats<\/td><td>Statistiken<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/dokumente<\/td><td>Alle Dokumente<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/dokumente\/{id}<\/td><td>Dokument-Details<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/seiten<\/td><td>Alle Seiten<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/seiten\/{id}<\/td><td>Seiten-Details<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/chunks<\/td><td>Alle Chunks<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/chunks\/{id}<\/td><td>Chunk-Details<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/taxonomie<\/td><td>Taxonomie-Kategorien<\/td><\/tr>\\n <tr><td>GET<\/td><td>\/api\/v1\/explorer\/entities<\/td><td>Entitäten gruppiert<\/td><\/tr>\\n <tr><td>POST<\/td><td>\/api\/v1\/explorer\/suche<\/td><td>Hybrid-Suche<\/td><\/tr>\\n<\/table>\\n\\n<h2>Statistiken<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/stats<\/code><\/pre>\\n<p>Liefert Übersicht über alle Daten:<\/p>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": {\\n \\\"dokumente\\\": 15,\\n \\\"seiten\\\": 120,\\n \\\"chunks\\\": {\\n \\\"total\\\": 450,\\n \\\"tokens\\\": 125000,\\n \\\"analyzed\\\": 400,\\n \\\"synced\\\": 380\\n },\\n \\\"taxonomy_categories\\\": [...]\\n }\\n}<\/code><\/pre>\\n\\n<h2>Dokumente<\/h2>\\n\\n<h3>Liste aller Dokumente<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/dokumente<\/code><\/pre>\\n<p>Liefert alle Quelldokumente mit Statistiken.<\/p>\\n\\n<h3>Dokument-Details<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/dokumente\/{id}<\/code><\/pre>\\n<p>Liefert Dokument mit zugehörigen Seiten und Taxonomie.<\/p>\\n\\n<h2>Seiten<\/h2>\\n\\n<h3>Seiten auflisten<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/seiten?search=&parent_id=&limit=50&offset=0<\/code><\/pre>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>search<\/td><td>string<\/td><td>Suche in Inhalt<\/td><\/tr>\\n <tr><td>parent_id<\/td><td>int<\/td><td>Filter nach Parent-Dokument<\/td><\/tr>\\n <tr><td>limit<\/td><td>int<\/td><td>Max. Ergebnisse (max 50)<\/td><\/tr>\\n <tr><td>offset<\/td><td>int<\/td><td>Pagination-Offset<\/td><\/tr>\\n<\/table>\\n\\n<h3>Seiten-Details<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/seiten\/{id}<\/code><\/pre>\\n<p>Liefert Seite mit Chunks und Unterseiten.<\/p>\\n\\n<h2>Chunks<\/h2>\\n\\n<h3>Chunks auflisten<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/chunks?category=&status=&search=&limit=50&offset=0<\/code><\/pre>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>category<\/td><td>string<\/td><td>Taxonomie-Kategorie<\/td><\/tr>\\n <tr><td>status<\/td><td>string<\/td><td>Chunk-Status<\/td><\/tr>\\n <tr><td>search<\/td><td>string<\/td><td>Suche in Content<\/td><\/tr>\\n <tr><td>limit<\/td><td>int<\/td><td>Max. Ergebnisse (max 50)<\/td><\/tr>\\n <tr><td>offset<\/td><td>int<\/td><td>Pagination-Offset<\/td><\/tr>\\n<\/table>\\n\\n<h3>Chunk-Details<\/h3>\\n<pre><code>GET \/api\/v1\/explorer\/chunks\/{id}<\/code><\/pre>\\n<p>Liefert Chunk mit allen Metadaten:<\/p>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": {\\n \\\"id\\\": 42,\\n \\\"chunk_index\\\": 3,\\n \\\"content\\\": \\\"...\\\",\\n \\\"token_count\\\": 280,\\n \\\"entities\\\": [\\n {\\\"name\\\": \\\"Carl Rogers\\\", \\\"type\\\": \\\"PERSON\\\"}\\n ],\\n \\\"keywords\\\": [\\\"Therapie\\\", \\\"Empathie\\\"],\\n \\\"qdrant_id\\\": \\\"abc123...\\\"\\n }\\n}<\/code><\/pre>\\n\\n<h2>Taxonomie<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/taxonomie<\/code><\/pre>\\n<p>Liefert Top-Kategorien und Keywords:<\/p>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": {\\n \\\"categories\\\": [...],\\n \\\"top_keywords\\\": [...]\\n }\\n}<\/code><\/pre>\\n\\n<h2>Entitäten<\/h2>\\n<pre><code>GET \/api\/v1\/explorer\/entities<\/code><\/pre>\\n<p>Liefert Entitäten gruppiert nach Typ.<\/p>\\n\\n<h2>Hybrid-Suche<\/h2>\\n<pre><code>POST \/api\/v1\/explorer\/suche\\nContent-Type: application\/json\\n\\n{\\n \\\"query\\\": \\\"Systemische Therapie\\\",\\n \\\"category\\\": \\\"Psychotherapie\\\",\\n \\\"limit\\\": 10\\n}<\/code><\/pre>\\n<p>Kombiniert Vektor- und Keyword-Suche:<\/p>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": {\\n \\\"query\\\": \\\"Systemische Therapie\\\",\\n \\\"results\\\": [...],\\n \\\"suggestions\\\": [...],\\n \\\"count\\\": 8\\n }\\n}<\/code><\/pre>\\n\\n<h2>Response-Format<\/h2>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"data\\\": { ... },\\n \\\"meta\\\": {\\n \\\"total\\\": 450,\\n \\\"limit\\\": 50,\\n \\\"offset\\\": 0\\n }\\n}<\/code><\/pre>\\n\\n<h2>Datenmodell<\/h2>\\n\\n<h3>documents (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>filename<\/td><td>varchar<\/td><td>Dateiname<\/td><\/tr>\\n <tr><td>title<\/td><td>varchar<\/td><td>Titel<\/td><\/tr>\\n <tr><td>source<\/td><td>varchar<\/td><td>Quelle (Nextcloud-Pfad)<\/td><\/tr>\\n <tr><td>page_count<\/td><td>int<\/td><td>Seitenanzahl<\/td><\/tr>\\n <tr><td>status<\/td><td>enum<\/td><td>pending, processing, completed, error<\/td><\/tr>\\n<\/table>\\n\\n<h3>chunks (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>document_id<\/td><td>int<\/td><td>FK zu documents<\/td><\/tr>\\n <tr><td>chunk_index<\/td><td>int<\/td><td>Position in Dokument<\/td><\/tr>\\n <tr><td>content<\/td><td>text<\/td><td>Chunk-Inhalt<\/td><\/tr>\\n <tr><td>token_count<\/td><td>int<\/td><td>Token-Anzahl<\/td><\/tr>\\n <tr><td>embedding_model<\/td><td>varchar<\/td><td>Verwendetes Modell<\/td><\/tr>\\n <tr><td>qdrant_id<\/td><td>varchar<\/td><td>Qdrant-Vektor-ID<\/td><\/tr>\\n<\/table>\\n\\n<h3>entities (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>name<\/td><td>varchar<\/td><td>Entity-Name<\/td><\/tr>\\n <tr><td>canonical_name<\/td><td>varchar<\/td><td>Normalisierter Name<\/td><\/tr>\\n <tr><td>type<\/td><td>enum<\/td><td>PERSON, CONCEPT, ORGANIZATION, ...<\/td><\/tr>\\n<\/table>\\n\\n<h2>Verwandte Dokumentation<\/h2>\\n<ul>\\n <li><a href=\\\"\/docs\/anwendungen\/semantic-explorer\\\">Semantic Explorer<\/a><\/li>\\n <li><a href=\\\"\/docs\/ki-system\/qdrant\\\">Qdrant Vektor-Datenbank<\/a><\/li>\\n <li><a href=\\\"\/docs\/prozesse\/rag-prozess\\\">RAG-Prozess<\/a><\/li>\\n<\/ul>]]>\",\n \"status\": \"published\",\n \"sort_order\": 5,\n \"depth\": 1,\n \"created_at\": \"2025-12-20T13:39:32\",\n \"updated_at\": \"2025-12-31T04:16:52\"\n },\n \"message\": \"Document #79 updated\"\n}"
}
]
}