{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_update",
"tool_input": {
"id": 153,
"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-31<\/p>\n\n<p>REST-API für Config-Management. Ermöglicht das Abrufen und Aktualisieren von System-Konfigurationen wie Prompts, Strukturen und Autorenprofile.<\/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_content.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\": \"system_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 (siehe unten)<\/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>author_profile<\/td><td>Autorenprofile für Schreibstil<\/td><td>Karl Kratz Stil, Akademisch<\/td><\/tr>\n <tr><td>structure<\/td><td>Output-Strukturen<\/td><td>LinkedIn-Post, Blog-Artikel<\/td><\/tr>\n <tr><td>organization<\/td><td>Organisations-Infos<\/td><td>Firmenkontext<\/td><\/tr>\n <tr><td>contract<\/td><td>Content-Verträge<\/td><td>Qualitätsregeln<\/td><\/tr>\n <tr><td>rule<\/td><td>Einzelne Regeln<\/td><td>Formatvorgaben<\/td><\/tr>\n <tr><td>system_prompt<\/td><td>System-Prompts für Chat<\/td><td>RAG-Prompt, Coaching-Prompt<\/td><\/tr>\n <tr><td>critic<\/td><td>Kritik-Prompts<\/td><td>Qualitätsprüfer<\/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>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 (ki_content)<\/h3>\n<table>\n <tr><th>Feld<\/th><th>Typ<\/th><th>Null<\/th><th>Beschreibung<\/th><\/tr>\n <tr><td>id<\/td><td>int(11)<\/td><td>NO<\/td><td>Primärschlüssel<\/td><\/tr>\n <tr><td>type<\/td><td>enum<\/td><td>NO<\/td><td>author_profile, structure, organization, contract, rule, system_prompt, critic<\/td><\/tr>\n <tr><td>name<\/td><td>varchar(100)<\/td><td>NO<\/td><td>Config-Name<\/td><\/tr>\n <tr><td>slug<\/td><td>varchar(100)<\/td><td>NO<\/td><td>URL-Slug<\/td><\/tr>\n <tr><td>description<\/td><td>text<\/td><td>YES<\/td><td>Beschreibung<\/td><\/tr>\n <tr><td>content<\/td><td>longtext<\/td><td>NO<\/td><td>Config-Inhalt<\/td><\/tr>\n <tr><td>version<\/td><td>varchar(20)<\/td><td>YES<\/td><td>Aktuelle Version (Default: 1.0)<\/td><\/tr>\n <tr><td>status<\/td><td>enum<\/td><td>YES<\/td><td>draft, active, deprecated (Default: draft)<\/td><\/tr>\n <tr><td>parent_id<\/td><td>int(11)<\/td><td>YES<\/td><td>Parent-Config (optional)<\/td><\/tr>\n <tr><td>prompt_id<\/td><td>int(11)<\/td><td>YES<\/td><td>Verknüpfter Prompt<\/td><\/tr>\n <tr><td>sort_order<\/td><td>int(11)<\/td><td>NO<\/td><td>Sortierung (Default: 0)<\/td><\/tr>\n <tr><td>created_at<\/td><td>datetime<\/td><td>YES<\/td><td>Erstellungsdatum<\/td><\/tr>\n <tr><td>updated_at<\/td><td>datetime<\/td><td>YES<\/td><td>Letzte Änderung<\/td><\/tr>\n<\/table>\n\n<h2>Verwandte Dokumentation<\/h2>\n<ul>\n <li><a href=\"\/docs\/anwendungen\/content-studio\">Content Studio<\/a><\/li>\n <li><a href=\"\/docs\/api\/chat\">Chat API<\/a><\/li>\n<\/ul>]]>"
}
}
{
"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-31<\/p>\\n\\n<p>REST-API für Config-Management. Ermöglicht das Abrufen und Aktualisieren von System-Konfigurationen wie Prompts, Strukturen und Autorenprofile.<\/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_content.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\\\": \\\"system_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 (siehe unten)<\/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>author_profile<\/td><td>Autorenprofile für Schreibstil<\/td><td>Karl Kratz Stil, Akademisch<\/td><\/tr>\\n <tr><td>structure<\/td><td>Output-Strukturen<\/td><td>LinkedIn-Post, Blog-Artikel<\/td><\/tr>\\n <tr><td>organization<\/td><td>Organisations-Infos<\/td><td>Firmenkontext<\/td><\/tr>\\n <tr><td>contract<\/td><td>Content-Verträge<\/td><td>Qualitätsregeln<\/td><\/tr>\\n <tr><td>rule<\/td><td>Einzelne Regeln<\/td><td>Formatvorgaben<\/td><\/tr>\\n <tr><td>system_prompt<\/td><td>System-Prompts für Chat<\/td><td>RAG-Prompt, Coaching-Prompt<\/td><\/tr>\\n <tr><td>critic<\/td><td>Kritik-Prompts<\/td><td>Qualitätsprüfer<\/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>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 (ki_content)<\/h3>\\n<table>\\n <tr><th>Feld<\/th><th>Typ<\/th><th>Null<\/th><th>Beschreibung<\/th><\/tr>\\n <tr><td>id<\/td><td>int(11)<\/td><td>NO<\/td><td>Primärschlüssel<\/td><\/tr>\\n <tr><td>type<\/td><td>enum<\/td><td>NO<\/td><td>author_profile, structure, organization, contract, rule, system_prompt, critic<\/td><\/tr>\\n <tr><td>name<\/td><td>varchar(100)<\/td><td>NO<\/td><td>Config-Name<\/td><\/tr>\\n <tr><td>slug<\/td><td>varchar(100)<\/td><td>NO<\/td><td>URL-Slug<\/td><\/tr>\\n <tr><td>description<\/td><td>text<\/td><td>YES<\/td><td>Beschreibung<\/td><\/tr>\\n <tr><td>content<\/td><td>longtext<\/td><td>NO<\/td><td>Config-Inhalt<\/td><\/tr>\\n <tr><td>version<\/td><td>varchar(20)<\/td><td>YES<\/td><td>Aktuelle Version (Default: 1.0)<\/td><\/tr>\\n <tr><td>status<\/td><td>enum<\/td><td>YES<\/td><td>draft, active, deprecated (Default: draft)<\/td><\/tr>\\n <tr><td>parent_id<\/td><td>int(11)<\/td><td>YES<\/td><td>Parent-Config (optional)<\/td><\/tr>\\n <tr><td>prompt_id<\/td><td>int(11)<\/td><td>YES<\/td><td>Verknüpfter Prompt<\/td><\/tr>\\n <tr><td>sort_order<\/td><td>int(11)<\/td><td>NO<\/td><td>Sortierung (Default: 0)<\/td><\/tr>\\n <tr><td>created_at<\/td><td>datetime<\/td><td>YES<\/td><td>Erstellungsdatum<\/td><\/tr>\\n <tr><td>updated_at<\/td><td>datetime<\/td><td>YES<\/td><td>Letzte Änderung<\/td><\/tr>\\n<\/table>\\n\\n<h2>Verwandte Dokumentation<\/h2>\\n<ul>\\n <li><a href=\\\"\/docs\/anwendungen\/content-studio\\\">Content Studio<\/a><\/li>\\n <li><a href=\\\"\/docs\/api\/chat\\\">Chat API<\/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-31T04:15:35\"\n },\n \"message\": \"Document #153 updated\"\n}"
}
]
}