Protokoll #1298

ID1298
Zeitstempel2025-12-20 18:41:08.150710
Clientroot
IP145.224.96.190
Modellclaude-sonnet-4-20250514
Statuscompleted
Tokens4,714 (Input: 2,222, Output: 2,492)
Dauer120 ms
Request-Zeit2025-12-20 18:41:08.150710
Response-Zeit2025-12-20 18:41:08.270407

Request

{
    "event": "PreToolUse",
    "tool_name": "mcp__mcp-docs__docs_update",
    "tool_input": {
        "id": 46,
        "content": "<nav class=\"breadcrumb\">\n    <a href=\"\/docs\">Dokumentation<\/a> &raquo; <a href=\"\/docs\/mcp\/mcp-db\">MCP-DB<\/a> &raquo; Cheat-Sheet\n<\/nav>\n\n<h1>MCP-DB Cheat-Sheet<\/h1>\n<p>Schnellreferenz für den Umstieg von direkten mysql-Befehlen auf MCP-DB Tools.<\/p>\n\n<div class=\"alert alert-danger\">\n<h2>WICHTIG: mysql\/mariadb-Befehle sind blockiert!<\/h2>\n<p>Direkte Datenbankzugriffe mit mysql oder mariadb werden durch einen PreToolUse Hook <strong>automatisch blockiert<\/strong>.<\/p>\n<pre><code># Diese Befehle werden BLOCKIERT:\nmysql -u root -pPassword -e \"SELECT 1\"\nmariadb -u user -pSecret\nmysqldump ki_protokoll > backup.sql\n\n# Stattdessen MCP-DB verwenden (10 Tools verfügbar)<\/code><\/pre>\n<\/div>\n\n<h2>MCP-DB Tools Übersicht (10 Tools)<\/h2>\n\n<table>\n    <tr><th>Tool<\/th><th>Verwendung<\/th><th>Parameter<\/th><\/tr>\n    <tr><td colspan=\"3\"><strong>Lese-Operationen<\/strong><\/td><\/tr>\n    <tr><td><strong>db_select<\/strong><\/td><td>SELECT Queries ausführen<\/td><td>query, database, max_rows, params<\/td><\/tr>\n    <tr><td><strong>db_schema<\/strong><\/td><td>Tabellen-Metadaten<\/td><td>database<\/td><\/tr>\n    <tr><td><strong>db_stats<\/strong><\/td><td>MCP-Log Einträge<\/td><td>limit<\/td><\/tr>\n    <tr><td><strong>db_databases<\/strong><\/td><td>Erlaubte DBs auflisten<\/td><td>-<\/td><\/tr>\n    <tr><td><strong>db_tables<\/strong><\/td><td>Tabellen auflisten<\/td><td>database, include_row_count<\/td><\/tr>\n    <tr><td><strong>db_describe<\/strong><\/td><td>Tabellenstruktur<\/td><td>table, database, show_create<\/td><\/tr>\n    <tr><td colspan=\"3\"><strong>Schreib-Operationen<\/strong><\/td><\/tr>\n    <tr><td><strong>db_insert<\/strong><\/td><td>Datensatz einfügen<\/td><td>table, data, database<\/td><\/tr>\n    <tr><td><strong>db_update<\/strong><\/td><td>Datensätze ändern<\/td><td>table, data, where, database<\/td><\/tr>\n    <tr><td><strong>db_delete<\/strong><\/td><td>Datensätze löschen<\/td><td>table, where, database, limit<\/td><\/tr>\n    <tr><td colspan=\"3\"><strong>DDL-Operationen<\/strong><\/td><\/tr>\n    <tr><td><strong>db_execute<\/strong><\/td><td>ALTER\/CREATE\/DROP\/TRUNCATE<\/td><td>statement, database, params<\/td><\/tr>\n<\/table>\n\n<h2>SELECT Queries<\/h2>\n\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -u root -p ki_dev \\\n  -e \"SELECT * FROM tasks LIMIT 5\"<\/code><\/pre><\/td>\n        <td><pre><code>db_select(\n    \"SELECT * FROM tasks LIMIT 5\",\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h2>Schema-Inspektion<\/h2>\n\n<h3>Datenbanken auflisten<\/h3>\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"SHOW DATABASES\"<\/code><\/pre><\/td>\n        <td><pre><code>db_databases()<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h3>Tabellen auflisten<\/h3>\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"SHOW TABLES FROM ki_dev\"<\/code><\/pre><\/td>\n        <td><pre><code>db_tables(database=\"ki_dev\")<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h3>Tabellenstruktur anzeigen<\/h3>\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"DESCRIBE ki_dev.tasks\"<\/code><\/pre><\/td>\n        <td><pre><code>db_describe(\n    table=\"tasks\",\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"SHOW CREATE TABLE tasks\"<\/code><\/pre><\/td>\n        <td><pre><code>db_describe(\n    table=\"tasks\",\n    database=\"ki_dev\",\n    show_create=True\n)<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h2>INSERT<\/h2>\n\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"INSERT INTO tasks \n  (title, status) \n  VALUES ('Test', 'pending')\"<\/code><\/pre><\/td>\n        <td><pre><code>db_insert(\n    table=\"tasks\",\n    data={\n        \"title\": \"Test\",\n        \"status\": \"pending\"\n    },\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h2>UPDATE<\/h2>\n\n<div class=\"alert alert-warning\">\n<strong>WHERE ist Pflicht!<\/strong> UPDATE ohne WHERE wird abgelehnt.\n<\/div>\n\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"UPDATE tasks \n  SET status='completed' \n  WHERE id=42\"<\/code><\/pre><\/td>\n        <td><pre><code>db_update(\n    table=\"tasks\",\n    data={\"status\": \"completed\"},\n    where={\"id\": 42},\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h2>DELETE<\/h2>\n\n<div class=\"alert alert-warning\">\n<strong>WHERE ist Pflicht!<\/strong> Default LIMIT: 100 als Sicherheit.\n<\/div>\n\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"DELETE FROM mcp_log \n  WHERE status='error' \n  LIMIT 10\"<\/code><\/pre><\/td>\n        <td><pre><code>db_delete(\n    table=\"mcp_log\",\n    where={\"status\": \"error\"},\n    database=\"ki_protokoll\",\n    limit=10\n)<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h2>DDL (ALTER\/CREATE\/DROP)<\/h2>\n\n<table>\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"ALTER TABLE tasks \n  ADD COLUMN priority INT\"<\/code><\/pre><\/td>\n        <td><pre><code>db_execute(\n    statement=\"ALTER TABLE tasks ADD COLUMN priority INT\",\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"CREATE INDEX idx_status \n  ON tasks(status)\"<\/code><\/pre><\/td>\n        <td><pre><code>db_execute(\n    statement=\"CREATE INDEX idx_status ON tasks(status)\",\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n    <tr>\n        <td><pre><code>mysql -e \"DROP TABLE temp_data\"<\/code><\/pre><\/td>\n        <td><pre><code>db_execute(\n    statement=\"DROP TABLE temp_data\",\n    database=\"ki_dev\"\n)<\/code><\/pre><\/td>\n    <\/tr>\n<\/table>\n\n<h2>Häufige Anwendungsfälle<\/h2>\n\n<h3>Task erstellen und Status ändern<\/h3>\n<pre><code># Task erstellen\nresult = db_insert(\n    table=\"tasks\",\n    data={\n        \"title\": \"Neue Aufgabe\",\n        \"description\": \"Beschreibung\",\n        \"status\": \"pending\",\n        \"type\": \"ai_task\"\n    },\n    database=\"ki_dev\"\n)\ntask_id = result[\"inserted_id\"]\n\n# Status ändern\ndb_update(\n    table=\"tasks\",\n    data={\"status\": \"in_progress\"},\n    where={\"id\": task_id},\n    database=\"ki_dev\"\n)<\/code><\/pre>\n\n<h3>Spalte zu Tabelle hinzufügen<\/h3>\n<pre><code># Aktuelle Struktur prüfen\ndb_describe(table=\"chat_sessions\", database=\"ki_content\")\n\n# Spalte hinzufügen\ndb_execute(\n    statement=\"ALTER TABLE chat_sessions ADD COLUMN temperature FLOAT DEFAULT 0.7\",\n    database=\"ki_content\"\n)\n\n# Verifizieren\ndb_describe(table=\"chat_sessions\", database=\"ki_content\")<\/code><\/pre>\n\n<h3>Alte Logs aufräumen<\/h3>\n<pre><code># Anzahl prüfen\ndb_select(\n    \"SELECT COUNT(*) as cnt FROM mcp_log WHERE status='error'\",\n    database=\"ki_protokoll\"\n)\n\n# Löschen (max 100 pro Aufruf)\ndb_delete(\n    table=\"mcp_log\",\n    where={\"status\": \"error\"},\n    database=\"ki_protokoll\",\n    limit=100\n)<\/code><\/pre>\n\n<h2>Datenbank-Übersicht<\/h2>\n\n<table>\n    <tr><th>Datenbank<\/th><th>Zweck<\/th><th>Wichtige Tabellen<\/th><\/tr>\n    <tr><td>ki_dev<\/td><td>Development<\/td><td>tasks, contracts, dokumentation, mcp_log<\/td><\/tr>\n    <tr><td>ki_content<\/td><td>Content<\/td><td>chat_sessions, chat_messages, content, personas<\/td><\/tr>\n<\/table>\n\n<h2>Sicherheitsregeln<\/h2>\n\n<table>\n    <tr><th>Regel<\/th><th>Tool<\/th><th>Verhalten<\/th><\/tr>\n    <tr><td>WHERE Pflicht<\/td><td>db_update, db_delete<\/td><td>Abgelehnt ohne WHERE<\/td><\/tr>\n    <tr><td>Default LIMIT 100<\/td><td>db_delete<\/td><td>Max 100 Zeilen pro Aufruf<\/td><\/tr>\n    <tr><td>Identifier-Validierung<\/td><td>db_insert, db_update, db_delete<\/td><td>Regex: ^[a-zA-Z0-9_]+$<\/td><\/tr>\n    <tr><td>DDL-Whitelist<\/td><td>db_execute<\/td><td>Nur ALTER\/CREATE\/DROP\/TRUNCATE<\/td><\/tr>\n    <tr><td>DB-Whitelist<\/td><td>Alle<\/td><td>Nur ki_dev, ki_content<\/td><\/tr>\n<\/table>\n\n<h2>Fehlerbehandlung<\/h2>\n\n<table>\n    <tr><th>Status<\/th><th>Bedeutung<\/th><th>Aktion<\/th><\/tr>\n    <tr><td>success<\/td><td>Operation erfolgreich<\/td><td>-<\/td><\/tr>\n    <tr><td>denied<\/td><td>Validierung fehlgeschlagen<\/td><td>Parameter prüfen<\/td><\/tr>\n    <tr><td>error<\/td><td>Technischer Fehler<\/td><td>SQL-Syntax, Connection prüfen<\/td><\/tr>\n<\/table>\n\n<h2>Verwandte Kapitel<\/h2>\n<ul>\n    <li><a href=\"\/docs\/mcp\/mcp-db\">MCP-DB Übersicht<\/a><\/li>\n    <li><a href=\"\/docs\/mcp\/mcp-db\/mcp-db-tools\">Tools-Referenz<\/a><\/li>\n    <li><a href=\"\/docs\/mcp\/mcp-db\/mcp-db-security\">Sicherheit<\/a><\/li>\n<\/ul>"
    }
}

Response

{
    "tool_response": [
        {
            "type": "text",
            "text": "{\n  \"success\": true,\n  \"doc\": {\n    \"id\": 46,\n    \"parent_id\": 36,\n    \"slug\": \"mcp-db-cheatsheet\",\n    \"path\": \"\/mcp\/mcp-db\/mcp-db-cheatsheet\",\n    \"title\": \"Cheat-Sheet\",\n    \"description\": \"Schnellreferenz für den Umstieg von direkten mysql-Befehlen auf MCP-DB Tools.\",\n    \"content\": \"<nav class=\\\"breadcrumb\\\">\\n    <a href=\\\"\/docs\\\">Dokumentation<\/a> &raquo; <a href=\\\"\/docs\/mcp\/mcp-db\\\">MCP-DB<\/a> &raquo; Cheat-Sheet\\n<\/nav>\\n\\n<h1>MCP-DB Cheat-Sheet<\/h1>\\n<p>Schnellreferenz für den Umstieg von direkten mysql-Befehlen auf MCP-DB Tools.<\/p>\\n\\n<div class=\\\"alert alert-danger\\\">\\n<h2>WICHTIG: mysql\/mariadb-Befehle sind blockiert!<\/h2>\\n<p>Direkte Datenbankzugriffe mit mysql oder mariadb werden durch einen PreToolUse Hook <strong>automatisch blockiert<\/strong>.<\/p>\\n<pre><code># Diese Befehle werden BLOCKIERT:\\nmysql -u root -pPassword -e \\\"SELECT 1\\\"\\nmariadb -u user -pSecret\\nmysqldump ki_protokoll > backup.sql\\n\\n# Stattdessen MCP-DB verwenden (10 Tools verfügbar)<\/code><\/pre>\\n<\/div>\\n\\n<h2>MCP-DB Tools Übersicht (10 Tools)<\/h2>\\n\\n<table>\\n    <tr><th>Tool<\/th><th>Verwendung<\/th><th>Parameter<\/th><\/tr>\\n    <tr><td colspan=\\\"3\\\"><strong>Lese-Operationen<\/strong><\/td><\/tr>\\n    <tr><td><strong>db_select<\/strong><\/td><td>SELECT Queries ausführen<\/td><td>query, database, max_rows, params<\/td><\/tr>\\n    <tr><td><strong>db_schema<\/strong><\/td><td>Tabellen-Metadaten<\/td><td>database<\/td><\/tr>\\n    <tr><td><strong>db_stats<\/strong><\/td><td>MCP-Log Einträge<\/td><td>limit<\/td><\/tr>\\n    <tr><td><strong>db_databases<\/strong><\/td><td>Erlaubte DBs auflisten<\/td><td>-<\/td><\/tr>\\n    <tr><td><strong>db_tables<\/strong><\/td><td>Tabellen auflisten<\/td><td>database, include_row_count<\/td><\/tr>\\n    <tr><td><strong>db_describe<\/strong><\/td><td>Tabellenstruktur<\/td><td>table, database, show_create<\/td><\/tr>\\n    <tr><td colspan=\\\"3\\\"><strong>Schreib-Operationen<\/strong><\/td><\/tr>\\n    <tr><td><strong>db_insert<\/strong><\/td><td>Datensatz einfügen<\/td><td>table, data, database<\/td><\/tr>\\n    <tr><td><strong>db_update<\/strong><\/td><td>Datensätze ändern<\/td><td>table, data, where, database<\/td><\/tr>\\n    <tr><td><strong>db_delete<\/strong><\/td><td>Datensätze löschen<\/td><td>table, where, database, limit<\/td><\/tr>\\n    <tr><td colspan=\\\"3\\\"><strong>DDL-Operationen<\/strong><\/td><\/tr>\\n    <tr><td><strong>db_execute<\/strong><\/td><td>ALTER\/CREATE\/DROP\/TRUNCATE<\/td><td>statement, database, params<\/td><\/tr>\\n<\/table>\\n\\n<h2>SELECT Queries<\/h2>\\n\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -u root -p ki_dev \\\\\\n  -e \\\"SELECT * FROM tasks LIMIT 5\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_select(\\n    \\\"SELECT * FROM tasks LIMIT 5\\\",\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h2>Schema-Inspektion<\/h2>\\n\\n<h3>Datenbanken auflisten<\/h3>\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"SHOW DATABASES\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_databases()<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h3>Tabellen auflisten<\/h3>\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"SHOW TABLES FROM ki_dev\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_tables(database=\\\"ki_dev\\\")<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h3>Tabellenstruktur anzeigen<\/h3>\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"DESCRIBE ki_dev.tasks\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_describe(\\n    table=\\\"tasks\\\",\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"SHOW CREATE TABLE tasks\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_describe(\\n    table=\\\"tasks\\\",\\n    database=\\\"ki_dev\\\",\\n    show_create=True\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h2>INSERT<\/h2>\\n\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"INSERT INTO tasks \\n  (title, status) \\n  VALUES ('Test', 'pending')\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_insert(\\n    table=\\\"tasks\\\",\\n    data={\\n        \\\"title\\\": \\\"Test\\\",\\n        \\\"status\\\": \\\"pending\\\"\\n    },\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h2>UPDATE<\/h2>\\n\\n<div class=\\\"alert alert-warning\\\">\\n<strong>WHERE ist Pflicht!<\/strong> UPDATE ohne WHERE wird abgelehnt.\\n<\/div>\\n\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"UPDATE tasks \\n  SET status='completed' \\n  WHERE id=42\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_update(\\n    table=\\\"tasks\\\",\\n    data={\\\"status\\\": \\\"completed\\\"},\\n    where={\\\"id\\\": 42},\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h2>DELETE<\/h2>\\n\\n<div class=\\\"alert alert-warning\\\">\\n<strong>WHERE ist Pflicht!<\/strong> Default LIMIT: 100 als Sicherheit.\\n<\/div>\\n\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"DELETE FROM mcp_log \\n  WHERE status='error' \\n  LIMIT 10\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_delete(\\n    table=\\\"mcp_log\\\",\\n    where={\\\"status\\\": \\\"error\\\"},\\n    database=\\\"ki_protokoll\\\",\\n    limit=10\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h2>DDL (ALTER\/CREATE\/DROP)<\/h2>\\n\\n<table>\\n    <tr><th>Alt (BLOCKIERT)<\/th><th>Neu (MCP-DB)<\/th><\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"ALTER TABLE tasks \\n  ADD COLUMN priority INT\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_execute(\\n    statement=\\\"ALTER TABLE tasks ADD COLUMN priority INT\\\",\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"CREATE INDEX idx_status \\n  ON tasks(status)\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_execute(\\n    statement=\\\"CREATE INDEX idx_status ON tasks(status)\\\",\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n    <tr>\\n        <td><pre><code>mysql -e \\\"DROP TABLE temp_data\\\"<\/code><\/pre><\/td>\\n        <td><pre><code>db_execute(\\n    statement=\\\"DROP TABLE temp_data\\\",\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre><\/td>\\n    <\/tr>\\n<\/table>\\n\\n<h2>Häufige Anwendungsfälle<\/h2>\\n\\n<h3>Task erstellen und Status ändern<\/h3>\\n<pre><code># Task erstellen\\nresult = db_insert(\\n    table=\\\"tasks\\\",\\n    data={\\n        \\\"title\\\": \\\"Neue Aufgabe\\\",\\n        \\\"description\\\": \\\"Beschreibung\\\",\\n        \\\"status\\\": \\\"pending\\\",\\n        \\\"type\\\": \\\"ai_task\\\"\\n    },\\n    database=\\\"ki_dev\\\"\\n)\\ntask_id = result[\\\"inserted_id\\\"]\\n\\n# Status ändern\\ndb_update(\\n    table=\\\"tasks\\\",\\n    data={\\\"status\\\": \\\"in_progress\\\"},\\n    where={\\\"id\\\": task_id},\\n    database=\\\"ki_dev\\\"\\n)<\/code><\/pre>\\n\\n<h3>Spalte zu Tabelle hinzufügen<\/h3>\\n<pre><code># Aktuelle Struktur prüfen\\ndb_describe(table=\\\"chat_sessions\\\", database=\\\"ki_content\\\")\\n\\n# Spalte hinzufügen\\ndb_execute(\\n    statement=\\\"ALTER TABLE chat_sessions ADD COLUMN temperature FLOAT DEFAULT 0.7\\\",\\n    database=\\\"ki_content\\\"\\n)\\n\\n# Verifizieren\\ndb_describe(table=\\\"chat_sessions\\\", database=\\\"ki_content\\\")<\/code><\/pre>\\n\\n<h3>Alte Logs aufräumen<\/h3>\\n<pre><code># Anzahl prüfen\\ndb_select(\\n    \\\"SELECT COUNT(*) as cnt FROM mcp_log WHERE status='error'\\\",\\n    database=\\\"ki_protokoll\\\"\\n)\\n\\n# Löschen (max 100 pro Aufruf)\\ndb_delete(\\n    table=\\\"mcp_log\\\",\\n    where={\\\"status\\\": \\\"error\\\"},\\n    database=\\\"ki_protokoll\\\",\\n    limit=100\\n)<\/code><\/pre>\\n\\n<h2>Datenbank-Übersicht<\/h2>\\n\\n<table>\\n    <tr><th>Datenbank<\/th><th>Zweck<\/th><th>Wichtige Tabellen<\/th><\/tr>\\n    <tr><td>ki_dev<\/td><td>Development<\/td><td>tasks, contracts, dokumentation, mcp_log<\/td><\/tr>\\n    <tr><td>ki_content<\/td><td>Content<\/td><td>chat_sessions, chat_messages, content, personas<\/td><\/tr>\\n<\/table>\\n\\n<h2>Sicherheitsregeln<\/h2>\\n\\n<table>\\n    <tr><th>Regel<\/th><th>Tool<\/th><th>Verhalten<\/th><\/tr>\\n    <tr><td>WHERE Pflicht<\/td><td>db_update, db_delete<\/td><td>Abgelehnt ohne WHERE<\/td><\/tr>\\n    <tr><td>Default LIMIT 100<\/td><td>db_delete<\/td><td>Max 100 Zeilen pro Aufruf<\/td><\/tr>\\n    <tr><td>Identifier-Validierung<\/td><td>db_insert, db_update, db_delete<\/td><td>Regex: ^[a-zA-Z0-9_]+$<\/td><\/tr>\\n    <tr><td>DDL-Whitelist<\/td><td>db_execute<\/td><td>Nur ALTER\/CREATE\/DROP\/TRUNCATE<\/td><\/tr>\\n    <tr><td>DB-Whitelist<\/td><td>Alle<\/td><td>Nur ki_dev, ki_content<\/td><\/tr>\\n<\/table>\\n\\n<h2>Fehlerbehandlung<\/h2>\\n\\n<table>\\n    <tr><th>Status<\/th><th>Bedeutung<\/th><th>Aktion<\/th><\/tr>\\n    <tr><td>success<\/td><td>Operation erfolgreich<\/td><td>-<\/td><\/tr>\\n    <tr><td>denied<\/td><td>Validierung fehlgeschlagen<\/td><td>Parameter prüfen<\/td><\/tr>\\n    <tr><td>error<\/td><td>Technischer Fehler<\/td><td>SQL-Syntax, Connection prüfen<\/td><\/tr>\\n<\/table>\\n\\n<h2>Verwandte Kapitel<\/h2>\\n<ul>\\n    <li><a href=\\\"\/docs\/mcp\/mcp-db\\\">MCP-DB Übersicht<\/a><\/li>\\n    <li><a href=\\\"\/docs\/mcp\/mcp-db\/mcp-db-tools\\\">Tools-Referenz<\/a><\/li>\\n    <li><a href=\\\"\/docs\/mcp\/mcp-db\/mcp-db-security\\\">Sicherheit<\/a><\/li>\\n<\/ul>\",\n    \"status\": \"published\",\n    \"sort_order\": 10,\n    \"depth\": 2,\n    \"created_at\": \"2025-12-20T11:13:58\",\n    \"updated_at\": \"2025-12-20T18:41:08\"\n  },\n  \"message\": \"Dokument #46 aktualisiert\"\n}"
        }
    ]
}
← Vorheriger Zur Liste Nächster →