{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_get",
"tool_input": {
"path": "\/api\/config"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"doc\": {\n \"id\": 153,\n \"parent_id\": 51,\n \"slug\": \"config\",\n \"path\": \"\/api\/config\",\n \"title\": \"Config API\",\n \"description\": \"REST-API für Config-Management (System-Prompts, RAG-Einstellungen)\",\n \"content\": \"<![CDATA[<nav class=\\\"breadcrumb\\\">\\n <a href=\\\"\/docs\\\">Dokumentation<\/a> » <a href=\\\"\/docs\/api\\\">API<\/a> » Config API\\n<\/nav>\\n\\n<h1>Config API<\/h1>\\n<p class=\\\"doc-meta\\\"><strong>Erstellt:<\/strong> 2025-12-27 | <strong>Aktualisiert:<\/strong> 2025-12-27<\/p>\\n\\n<p>REST-API für Config-Management. Ermöglicht das Abrufen und Aktualisieren von System-Konfigurationen wie Prompts und RAG-Einstellungen.<\/p>\\n\\n<table>\\n <tr><th>Controller<\/th><td>Controller\\\\Api\\\\ConfigController<\/td><\/tr>\\n <tr><th>Base-URL<\/th><td>\/api\/v1\/config<\/td><\/tr>\\n <tr><th>Datenbank<\/th><td>ki_dev.content_config<\/td><\/tr>\\n <tr><th>UseCase<\/th><td>UseCases\\\\Config\\\\ManageConfigUseCase<\/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\/config\/{id}<\/td><td>Config abrufen<\/td><\/tr>\\n <tr><td>POST<\/td><td>\/api\/v1\/config\/{id}<\/td><td>Config aktualisieren<\/td><\/tr>\\n<\/table>\\n\\n<h2>Config abrufen<\/h2>\\n<pre><code>GET \/api\/v1\/config\/{id}<\/code><\/pre>\\n\\n<h3>Response<\/h3>\\n<pre><code>{\\n \\\"id\\\": 1,\\n \\\"name\\\": \\\"System Prompt\\\",\\n \\\"type\\\": \\\"prompt\\\",\\n \\\"content\\\": \\\"Du bist ein hilfreicher Assistent...\\\",\\n \\\"version\\\": \\\"1.5\\\"\\n}<\/code><\/pre>\\n\\n<h3>Response-Felder<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int<\/td><td>Config-ID<\/td><\/tr>\\n <tr><td>name<\/td><td>string<\/td><td>Config-Name<\/td><\/tr>\\n <tr><td>type<\/td><td>string<\/td><td>Config-Typ (prompt, rag, system)<\/td><\/tr>\\n <tr><td>content<\/td><td>string<\/td><td>Config-Inhalt<\/td><\/tr>\\n <tr><td>version<\/td><td>string<\/td><td>Aktuelle Version<\/td><\/tr>\\n<\/table>\\n\\n<h3>Fehler-Response (404)<\/h3>\\n<pre><code>{\\n \\\"error\\\": \\\"Config nicht gefunden\\\"\\n}<\/code><\/pre>\\n\\n<h2>Config aktualisieren<\/h2>\\n<pre><code>POST \/api\/v1\/config\/{id}\\nContent-Type: application\/x-www-form-urlencoded\\nX-CSRF-TOKEN: {token}\\n\\ncontent=Neuer+Config-Inhalt...<\/code><\/pre>\\n\\n<h3>Request-Parameter<\/h3>\\n<table>\\n <tr><th>Parameter<\/th><th>Typ<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>content<\/td><td>string<\/td><td>Neuer Config-Inhalt<\/td><\/tr>\\n<\/table>\\n\\n<p><strong>Hinweis:<\/strong> Die Version wird automatisch inkrementiert (1.5 → 1.6).<\/p>\\n\\n<h3>Response<\/h3>\\n<pre><code>{\\n \\\"success\\\": true,\\n \\\"version\\\": \\\"1.6\\\",\\n \\\"message\\\": \\\"Version 1.6 gespeichert\\\"\\n}<\/code><\/pre>\\n\\n<h3>Fehler-Response (400)<\/h3>\\n<pre><code>{\\n \\\"error\\\": \\\"Validierungsfehler...\\\"\\n}<\/code><\/pre>\\n\\n<h2>Authentifizierung<\/h2>\\n<p>Das POST-Endpoint erfordert einen gültigen CSRF-Token im Header:<\/p>\\n<pre><code>X-CSRF-TOKEN: abc123...<\/code><\/pre>\\n\\n<h2>Config-Typen<\/h2>\\n<table>\\n <tr><th>Typ<\/th><th>Beschreibung<\/th><th>Beispiel<\/th><\/tr>\\n <tr><td>prompt<\/td><td>System-Prompts für Chat<\/td><td>RAG-Prompt, Autor-Profil<\/td><\/tr>\\n <tr><td>rag<\/td><td>RAG-Konfiguration<\/td><td>Collection-Mapping, Limits<\/td><\/tr>\\n <tr><td>system<\/td><td>System-Einstellungen<\/td><td>Modell-Defaults<\/td><\/tr>\\n<\/table>\\n\\n<h2>Versionierung<\/h2>\\n<p>Jede Änderung erstellt eine neue Version:<\/p>\\n<ul>\\n <li>Version wird automatisch inkrementiert (Minor-Version)<\/li>\\n <li>Format: <code>MAJOR.MINOR<\/code> (z.B. 1.5 → 1.6)<\/li>\\n <li>Historie wird in <code>content_config_history<\/code> gespeichert<\/li>\\n<\/ul>\\n\\n<h2>Chat-UI Integration<\/h2>\\n<p>Die Config API wird von der Chat-UI verwendet, um Prompts live zu bearbeiten:<\/p>\\n<pre><code><form hx-post=\\\"\/api\/v1\/config\/1\\\"\\n hx-headers='{\\\"X-CSRF-TOKEN\\\": \\\"...\\\"}'>\\n <textarea name=\\\"content\\\">...<\/textarea>\\n <button type=\\\"submit\\\">Speichern<\/button>\\n<\/form><\/code><\/pre>\\n\\n<h2>Fehlerbehandlung<\/h2>\\n<table>\\n <tr><th>HTTP Code<\/th><th>Bedeutung<\/th><\/tr>\\n <tr><td>400<\/td><td>Validierungsfehler<\/td><\/tr>\\n <tr><td>403<\/td><td>CSRF-Token ungültig<\/td><\/tr>\\n <tr><td>404<\/td><td>Config nicht gefunden<\/td><\/tr>\\n <tr><td>500<\/td><td>Server-Fehler<\/td><\/tr>\\n<\/table>\\n\\n<h2>Datenmodell<\/h2>\\n\\n<h3>content_config<\/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(255)<\/td><td>Config-Name<\/td><\/tr>\\n <tr><td>slug<\/td><td>varchar(100)<\/td><td>URL-Slug<\/td><\/tr>\\n <tr><td>type<\/td><td>enum<\/td><td>prompt, rag, system<\/td><\/tr>\\n <tr><td>content<\/td><td>text<\/td><td>Config-Inhalt<\/td><\/tr>\\n <tr><td>description<\/td><td>text<\/td><td>Beschreibung<\/td><\/tr>\\n <tr><td>version<\/td><td>varchar(20)<\/td><td>Aktuelle Version<\/td><\/tr>\\n <tr><td>status<\/td><td>enum<\/td><td>active, deprecated<\/td><\/tr>\\n <tr><td>parent_id<\/td><td>int<\/td><td>Parent-Config (optional)<\/td><\/tr>\\n <tr><td>created_at<\/td><td>datetime<\/td><td>Erstellungsdatum<\/td><\/tr>\\n <tr><td>updated_at<\/td><td>datetime<\/td><td>Letzte Änderung<\/td><\/tr>\\n<\/table>\\n\\n<h2>Verwandte Dokumentation<\/h2>\\n<ul>\\n <li><a href=\\\"\/docs\/ki-system\/content-config\\\">Content Config<\/a><\/li>\\n <li><a href=\\\"\/docs\/api\/chat\\\">Chat API<\/a><\/li>\\n <li><a href=\\\"\/docs\/content-studio\\\">Content Studio<\/a><\/li>\\n<\/ul>]]>\",\n \"status\": \"published\",\n \"sort_order\": 0,\n \"depth\": 1,\n \"created_at\": \"2025-12-27T16:04:39\",\n \"updated_at\": \"2025-12-27T16:04:39\"\n }\n}"
}
]
}