MCP-DB Server
Model Context Protocol Server für sichere Datenbankzugriffe durch Claude Code.
| Version | 2.0.0 |
|---|---|
| Transport | stdio |
| Runtime | Python 3.13+ |
| Pfad | /opt/mcp-servers/mcp-db/ |
| Tools | 10 |
Zweck
- Keine Credentials in Claude Code Konfiguration
- Validierte, sichere Datenbankoperationen
- Logging aller Operationen in ki_protokoll.mcp_log
- Vollständige CRUD-Operationen + DDL
- Schutz durch Prepared Statements und Validierung
Kapitel
| Kapitel | Beschreibung |
|---|---|
| Cheat-Sheet | Schnellreferenz: Alt (mysql) vs Neu (MCP-DB) |
| Architektur | Verzeichnisstruktur, Komponenten, Prinzipien |
| Contracts | QueryRequest, QueryResponse, ExecuteContract, LogEntry |
| Konfiguration | Environment Variables, Allowlists, Limits |
| Validators | SQL-Validierung, ExecuteValidator, Identifier-Validierung |
| Infrastructure | Connection Pool, Protokoll Logger |
| Tools | 10 Tools: SELECT, DDL, CRUD, Schema-Inspektion |
| Sicherheit | Maßnahmen, Mandatory WHERE, LIMIT-Schutz |
| Installation | Setup, Registrierung, Test |
| Testprotokoll | Testfälle, Testmatrix, Prüfbericht |
Schnellstart
# Registrierung in Claude Code
claude mcp add mcp-db \
--transport stdio \
-- /opt/mcp-servers/mcp-db/venv/bin/python \
/opt/mcp-servers/mcp-db/server.py
# Status prüfen
claude mcp list
Verfügbare Tools (10)
Lese-Operationen
| Tool | Beschreibung | Parameter |
|---|---|---|
db_select |
SELECT-Abfrage ausführen | query, database, max_rows, params |
db_schema |
Tabellen mit Metadaten anzeigen | database |
db_stats |
Logging-Statistiken aus mcp_log | limit |
db_databases |
Erlaubte Datenbanken auflisten | - |
db_tables |
Tabellen einer DB auflisten | database, include_row_count |
db_describe |
Tabellenstruktur anzeigen | table, database, show_create |
Schreib-Operationen
| Tool | Beschreibung | Parameter |
|---|---|---|
db_insert |
Datensatz einfügen | table, data, database |
db_update |
Datensätze aktualisieren | table, data, where, database |
db_delete |
Datensätze löschen | table, where, database, limit |
DDL-Operationen
| Tool | Beschreibung | Parameter |
|---|---|---|
db_execute |
DDL ausführen (ALTER, CREATE, DROP, TRUNCATE) | statement, database, params |
Datenbank-Struktur
| Datenbank | Zweck | Beispiel-Tabellen |
|---|---|---|
| ki_dev | Development/Infrastructure | tasks, contracts, dokumentation, mcp_log |
| ki_content | Content/User-facing | chat_sessions, chat_messages, content, personas |
Sicherheitsübersicht
| Maßnahme | Status | Betrifft |
|---|---|---|
| Prepared Statements | Implementiert | Alle Tools |
| Identifier-Validierung | Regex ^[a-zA-Z0-9_]+$ | INSERT, UPDATE, DELETE |
| Mandatory WHERE | Erzwungen | UPDATE, DELETE |
| Default LIMIT 100 | Aktiv | DELETE |
| DDL Statement-Validierung | ExecuteValidator | db_execute |
| Database Allowlist | ki_dev, ki_content | Alle Tools |
| Keyword Blocklist (15) | Aktiv | db_select |
| Query Timeout | 30 Sekunden | db_select |
| Row Limit | Max 100 | db_select |
| Logging | Jede Operation in mcp_log | Alle Tools |
| Blocking-Hook | PreToolUse für Bash | mysql/mariadb CLI |
Changelog
| Version | Datum | Änderungen |
|---|---|---|
| 2.0.0 | 2025-12-20 | +7 neue Tools: db_execute, db_describe, db_databases, db_tables, db_insert, db_update, db_delete |
| 1.0.0 | 2025-12-20 | Initial Release: db_select, db_schema, db_stats |
Unterseiten
- Tools - MCP Tools für Datenbankzugriffe.
- Installation - Setup, Registrierung und Test des MCP-DB Servers.
- Architektur - Aufbau und Struktur des MCP-DB Servers nach OOP, SRP, KISS, YAGNI Prinzipien.
- Sicherheit - Vollständige Sicherheitsmaßnahmen und DB-User Hardening.
- Konfiguration - Zentrale Konfiguration über Environment Variables und Config-Klasse.
- Contracts - Typisierte Datenstrukturen für Request, Response und Logging.
- Validators - SQL-Validierung nach dem Single Responsibility Principle.
- Infrastructure - Connection Pool und Protokoll Logger.
- Tests - Vollständiger Funktionstest aller MCP-DB Features mit 54 Testfällen.
- Cheat-Sheet - Schnellreferenz für den Umstieg von direkten mysql-Befehlen auf MCP-DB Tools.