{
"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}"
}
]
}