{
"event": "PreToolUse",
"tool_name": "mcp__mcp-docs__docs_update",
"tool_input": {
"id": 46,
"content": "<nav class=\"breadcrumb\">\n <a href=\"\/docs\">Dokumentation<\/a> » <a href=\"\/docs\/mcp\/mcp-db\">MCP-DB<\/a> » 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>"
}
}
{
"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> » <a href=\\\"\/docs\/mcp\/mcp-db\\\">MCP-DB<\/a> » 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}"
}
]
}