{
"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<h2>Grundprinzip<\/h2>\\n<p><strong>Alt (NICHT MEHR VERWENDEN):<\/strong> Direkte mysql-Befehle mit Passwörtern<\/p>\\n<p><strong>Neu (MCP-DB):<\/strong> Sichere Tool-Aufrufe ohne Credentials<\/p>\\n\\n<h2>Basis-Queries<\/h2>\\n\\n<h3>Einfache SELECT Query<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p db \\\\\\n -e \\\"SELECT * FROM table LIMIT 5\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\\"SELECT * FROM table LIMIT 5\\\",\\n database=\\\"db\\\")<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>Query mit WHERE Clause<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_protokoll \\\\\\n -e \\\"SELECT * FROM mcp_log\\n WHERE status = 'success'\\n LIMIT 10\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT * FROM mcp_log\\n WHERE status = 'success'\\n LIMIT 10\\\",\\n database=\\\"ki_protokoll\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>Aggregation (COUNT, AVG, etc.)<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_protokoll \\\\\\n -e \\\"SELECT COUNT(*) as total,\\n AVG(duration_ms) as avg_ms\\n FROM protokoll\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT COUNT(*) as total,\\n AVG(duration_ms) as avg_ms\\n FROM protokoll\\\",\\n database=\\\"ki_protokoll\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>JOIN Query<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_system \\\\\\n -e \\\"SELECT d.title, c.chunk_text\\n FROM documents d\\n JOIN chunks c ON d.id = c.document_id\\n LIMIT 5\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT d.title, c.chunk_text\\n FROM documents d\\n JOIN chunks c ON d.id = c.document_id\\n LIMIT 5\\\",\\n database=\\\"ki_system\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Schema-Inspektion<\/h2>\\n\\n<h3>Tabellen anzeigen<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_system \\\\\\n -e \\\"SHOW TABLES\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_schema(database=\\\"ki_system\\\")<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>Tabellenstruktur anzeigen<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_system \\\\\\n -e \\\"DESCRIBE documents\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_schema(database=\\\"ki_system\\\")\\n# Gibt alle Tabellen mit Spalten zurück<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Statistiken<\/h2>\\n\\n<h3>MCP-Log Statistiken<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_protokoll \\\\\\n -e \\\"SELECT * FROM mcp_log\\n ORDER BY timestamp DESC\\n LIMIT 10\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_stats(limit=10)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>Tabellenübersicht<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p information_schema \\\\\\n -e \\\"SELECT TABLE_NAME, TABLE_ROWS\\n FROM TABLES\\n WHERE TABLE_SCHEMA = 'ki_protokoll'\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_schema(database=\\\"ki_protokoll\\\")\\n# Gibt TABLE_NAME, TABLE_ROWS, CREATE_TIME<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Häufige Anwendungsfälle<\/h2>\\n\\n<h3>File Backup History<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u $DB_USER -p $DB_NAME \\\\\\n -e \\\"SELECT id, file_path, version,\\n changed_at\\n FROM file_backup_history\\n ORDER BY id DESC LIMIT 10\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT id, file_path, version,\\n changed_at\\n FROM file_backup_history\\n ORDER BY id DESC LIMIT 10\\\",\\n database=\\\"ki_protokoll\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>KI-Protokoll Analyse<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_protokoll \\\\\\n -e \\\"SELECT DATE(timestamp) as tag,\\n COUNT(*) as anzahl\\n FROM protokoll\\n GROUP BY DATE(timestamp)\\n ORDER BY tag DESC\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT DATE(timestamp) as tag,\\n COUNT(*) as anzahl\\n FROM protokoll\\n GROUP BY DATE(timestamp)\\n ORDER BY tag DESC\\\",\\n database=\\\"ki_protokoll\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>MCP-Log Überwachung<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_protokoll \\\\\\n -e \\\"SELECT * FROM mcp_log\\n WHERE status = 'error'\\n ORDER BY timestamp DESC\\n LIMIT 5\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT * FROM mcp_log\\n WHERE status = 'error'\\n ORDER BY timestamp DESC\\n LIMIT 5\\\",\\n database=\\\"ki_protokoll\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>Content Orders Status<\/h3>\\n<table>\\n <tr>\\n <th>Alt (mysql)<\/th>\\n <th>Neu (MCP-DB)<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u user -p ki_system \\\\\\n -e \\\"SELECT id, title, status\\n FROM content_orders\\n WHERE status = 'in_progress'\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT id, title, status\\n FROM content_orders\\n WHERE status = 'in_progress'\\\",\\n database=\\\"ki_system\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Datenbank-übergreifende Queries<\/h2>\\n\\n<h3>Standard-Datenbank (ki_protokoll)<\/h3>\\n<pre><code># database Parameter ist optional, Default: ki_protokoll\\ndb_select(\\\"SELECT * FROM mcp_log LIMIT 5\\\")\\n\\n# Explizit angeben (empfohlen)\\ndb_select(\\\"SELECT * FROM mcp_log LIMIT 5\\\", database=\\\"ki_protokoll\\\")<\/code><\/pre>\\n\\n<h3>Andere Datenbank (ki_system)<\/h3>\\n<pre><code># Muss explizit angegeben werden\\ndb_select(\\\"SELECT * FROM documents LIMIT 5\\\", database=\\\"ki_system\\\")<\/code><\/pre>\\n\\n<h2>MCP-DB Tools Übersicht<\/h2>\\n\\n<table>\\n <tr>\\n <th>Tool<\/th>\\n <th>Verwendung<\/th>\\n <th>Parameter<\/th>\\n <\/tr>\\n <tr>\\n <td><strong>db_select<\/strong><\/td>\\n <td>SELECT Queries ausführen<\/td>\\n <td>query, database (Optional), max_rows (Optional), params (Optional)<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>db_schema<\/strong><\/td>\\n <td>Tabellen einer DB anzeigen<\/td>\\n <td>database (Optional, Default: ki_protokoll)<\/td>\\n <\/tr>\\n <tr>\\n <td><strong>db_stats<\/strong><\/td>\\n <td>Letzte Queries aus mcp_log<\/td>\\n <td>limit (Optional, Default: 50, Max: 100)<\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Best Practices<\/h2>\\n\\n<h3>1. Immer LIMIT verwenden<\/h3>\\n<table>\\n <tr>\\n <th>Schlecht<\/th>\\n <th>Gut<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>db_select(\\\"SELECT * FROM protokoll\\\")<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\\"SELECT * FROM protokoll LIMIT 100\\\")<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>2. Datenbank explizit angeben<\/h3>\\n<table>\\n <tr>\\n <th>Okay<\/th>\\n <th>Besser<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>db_select(\\\"SELECT * FROM mcp_log LIMIT 5\\\")<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\n \\\"SELECT * FROM mcp_log LIMIT 5\\\",\\n database=\\\"ki_protokoll\\\"\\n)<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h3>3. Schema vor komplexen Queries prüfen<\/h3>\\n<pre><code># 1. Schema laden\\ndb_schema(database=\\\"ki_system\\\")\\n\\n# 2. Spalten identifizieren\\n# 3. Query schreiben\\ndb_select(\\\"SELECT id, title, created_at FROM documents LIMIT 5\\\", database=\\\"ki_system\\\")<\/code><\/pre>\\n\\n<h3>4. Keine Passwörter in Code<\/h3>\\n<table>\\n <tr>\\n <th>FALSCH<\/th>\\n <th>RICHTIG<\/th>\\n <\/tr>\\n <tr>\\n <td><pre><code>mysql -u root -pPASSWORD123 db \\\\\\n -e \\\"SELECT * FROM table\\\"<\/code><\/pre><\/td>\\n <td><pre><code>db_select(\\\"SELECT * FROM table\\\", database=\\\"db\\\")<\/code><\/pre><\/td>\\n <\/tr>\\n<\/table>\\n\\n<h2>Sicherheitshinweise<\/h2>\\n\\n<ul>\\n <li><strong>Nur SELECT:<\/strong> MCP-DB erlaubt ausschließlich lesende Zugriffe<\/li>\\n <li><strong>Keine INSERT\/UPDATE\/DELETE:<\/strong> Für Schreibzugriffe verwende Backend-Code<\/li>\\n <li><strong>Logging:<\/strong> Alle Queries werden in mcp_log protokolliert<\/li>\\n <li><strong>Audit:<\/strong> Prüfe regelmäßig mcp_log auf ungewöhnliche Zugriffe<\/li>\\n<\/ul>\\n\\n<h2>Fehlerbehandlung<\/h2>\\n\\n<h3>Query Fehler<\/h3>\\n<pre><code># Fehler: Tabelle existiert nicht\\ndb_select(\\\"SELECT * FROM nonexistent_table\\\")\\n# Lösung: Schema prüfen\\ndb_schema()\\n\\n# Fehler: Spalte existiert nicht\\ndb_select(\\\"SELECT nonexistent_column FROM mcp_log\\\")\\n# Lösung: Schema für Tabelle prüfen\\ndb_schema()<\/code><\/pre>\\n\\n<h3>Verbindungsfehler<\/h3>\\n<pre><code># Test-Query\\ndb_select(\\\"SELECT 1\\\")\\n\\n# Server-Status prüfen\\ntail -f \/tmp\/mcp_db_server.log<\/code><\/pre>\\n\\n<h2>Verwandte Kapitel<\/h2>\\n<ul>\\n <li><a href=\\\"\/docs\/mcp\/mcp-db\\\">MCP-DB Übersicht<\/a> - Hauptseite<\/li>\\n <li><a href=\\\"\/docs\/mcp\/mcp-db-tool... [TRUNCATED-6de6159da2157b6d]"
}
]
}