Multi Database MCP Server
MCP-Server mit mehreren Datenbanken
Überblick
Der DB MCP Server bietet KI-Modellen eine standardisierte Möglichkeit, gleichzeitig mit mehreren Datenbanken zu interagieren. Basierend auf dem FreePeak/Cortex- Framework ermöglicht er KI-Assistenten die Ausführung von SQL-Abfragen, die Verwaltung von Transaktionen, die Untersuchung von Schemata und die Analyse der Leistung verschiedener Datenbanksysteme über eine einheitliche Schnittstelle.
Related MCP server: DBHub
Kernkonzepte
Unterstützung mehrerer Datenbanken
Im Gegensatz zu herkömmlichen Datenbankkonnektoren kann der DB MCP Server gleichzeitig eine Verbindung zu mehreren Datenbanken herstellen und mit ihnen interagieren:
{
"connections": [
{
"id": "mysql1",
"type": "mysql",
"host": "localhost",
"port": 3306,
"name": "db1",
"user": "user1",
"password": "password1"
},
{
"id": "postgres1",
"type": "postgres",
"host": "localhost",
"port": 5432,
"name": "db2",
"user": "user2",
"password": "password2"
}
]
}Dynamische Werkzeuggenerierung
Für jede verbundene Datenbank generiert der Server automatisch spezielle Tools:
// For a database with ID "mysql1", these tools are generated:
query_mysql1 // Execute SQL queries
execute_mysql1 // Run data modification statements
transaction_mysql1 // Manage transactions
schema_mysql1 // Explore database schema
performance_mysql1 // Analyze query performanceSaubere Architektur
Der Server folgt den Prinzipien der Clean Architecture mit diesen Schichten:
Domänenschicht : Kerngeschäftseinheiten und Schnittstellen
Repository-Ebene : Implementierungen für den Datenzugriff
Anwendungsfallebene : Geschäftslogik der Anwendung
Delivery Layer : Externe Schnittstellen (MCP-Tools)
Merkmale
Gleichzeitige Unterstützung mehrerer Datenbanken : Stellen Sie gleichzeitig eine Verbindung zu mehreren MySQL- und PostgreSQL-Datenbanken her
Datenbankspezifische Tool-Generierung : Erstellt automatisch spezialisierte Tools für jede verbundene Datenbank
Saubere Architektur : Modulares Design mit klarer Trennung der Belange
OpenAI Agents SDK-Kompatibilität : Volle Kompatibilität für nahtlose KI-Assistentenintegration
Dynamische Datenbanktools : Abfragen ausführen, Anweisungen ausführen, Transaktionen verwalten, Schemata untersuchen, Leistung analysieren
Einheitliche Schnittstelle : Konsistente Interaktionsmuster über verschiedene Datenbanktypen hinweg
Verbindungsverwaltung : Einfache Konfiguration für mehrere Datenbankverbindungen
Unterstützte Datenbanken
Datenbank | Status | Merkmale |
MySQL | ✅ Volle Unterstützung | Abfragen, Transaktionen, Schemaanalyse, Leistungseinblicke |
PostgreSQL | ✅ Volle Unterstützung (v9.6-17) | Abfragen, Transaktionen, Schemaanalyse, Leistungseinblicke |
TimescaleDB | ✅ Volle Unterstützung | Hypertabellen, Zeitreihenabfragen, kontinuierliche Aggregate, Komprimierung, Aufbewahrungsrichtlinien |
Bereitstellungsoptionen
Der DB MCP-Server kann auf verschiedene Arten bereitgestellt werden, um unterschiedlichen Umgebungen und Integrationsanforderungen gerecht zu werden:
Docker-Bereitstellung
# Pull the latest image
docker pull freepeak/db-mcp-server:latest
# Run with mounted config file
docker run -p 9092:9092 \
-v $(pwd)/config.json:/app/my-config.json \
-e TRANSPORT_MODE=sse \
-e CONFIG_PATH=/app/my-config.json \
freepeak/db-mcp-serverHinweis : Mounten Sie es in
/app/my-config.json, da der Container eine Standarddatei unter/app/config.jsonhat.
STDIO-Modus (IDE-Integration)
# Run the server in STDIO mode
./bin/server -t stdio -c config.jsonFür die Cursor-IDE-Integration fügen Sie zu .cursor/mcp.json hinzu:
{
"mcpServers": {
"stdio-db-mcp-server": {
"command": "/path/to/db-mcp-server/server",
"args": ["-t", "stdio", "-c", "/path/to/config.json"]
}
}
}SSE-Modus (Server-Sent Events)
# Default configuration (localhost:9092)
./bin/server -t sse -c config.json
# Custom host and port
./bin/server -t sse -host 0.0.0.0 -port 8080 -c config.jsonClient-Verbindungsendpunkt: http://localhost:9092/sse
Installation des Quellcodes
# Clone the repository
git clone https://github.com/FreePeak/db-mcp-server.git
cd db-mcp-server
# Build the server
make build
# Run the server
./bin/server -t sse -c config.jsonKonfiguration
Datenbankkonfigurationsdatei
Erstellen Sie eine config.json Datei mit Ihren Datenbankverbindungen:
{
"connections": [
{
"id": "mysql1",
"type": "mysql",
"host": "mysql1",
"port": 3306,
"name": "db1",
"user": "user1",
"password": "password1",
"query_timeout": 60,
"max_open_conns": 20,
"max_idle_conns": 5,
"conn_max_lifetime_seconds": 300,
"conn_max_idle_time_seconds": 60
},
{
"id": "postgres1",
"type": "postgres",
"host": "postgres1",
"port": 5432,
"name": "db1",
"user": "user1",
"password": "password1"
}
]
}Befehlszeilenoptionen
# Basic syntax
./bin/server -t <transport> -c <config-file>
# SSE transport options
./bin/server -t sse -host <hostname> -port <port> -c <config-file>
# Inline database configuration
./bin/server -t stdio -db-config '{"connections":[...]}'
# Environment variable configuration
export DB_CONFIG='{"connections":[...]}'
./bin/server -t stdioVerfügbare Tools
Für jede verbundene Datenbank generiert DB MCP Server automatisch diese speziellen Tools:
Abfragetools
Werkzeugname | Beschreibung |
| Führen Sie SELECT-Abfragen aus und erhalten Sie die Ergebnisse als tabellarischen Datensatz |
| Führen Sie Datenmanipulationsanweisungen aus (INSERT, UPDATE, DELETE). |
| Starten, Festschreiben und Zurücksetzen von Transaktionen |
Schema-Tools
Werkzeugname | Beschreibung |
| Informationen zu Tabellen, Spalten, Indizes und Fremdschlüsseln abrufen |
| SQL oder Code aus dem Datenbankschema generieren |
Leistungstools
Werkzeugname | Beschreibung |
| Analysieren Sie die Abfrageleistung und erhalten Sie Optimierungsvorschläge |
TimescaleDB-Tools
Für PostgreSQL-Datenbanken mit TimescaleDB-Erweiterung sind diese zusätzlichen Spezialtools verfügbar:
Werkzeugname | Beschreibung |
| Führen Sie allgemeine TimescaleDB-Operationen durch |
| Konvertieren einer Standardtabelle in eine TimescaleDB-Hypertabelle |
| Alle Hypertabellen in der Datenbank auflisten |
| Ausführen optimierter Zeitreihenabfragen mit Bucketing |
| Analysieren Sie Zeitreihendatenmuster |
| Erstellen Sie materialisierte Ansichten, die automatisch aktualisiert werden |
| Kontinuierliche Aggregate manuell aktualisieren |
Eine ausführliche Dokumentation zu den TimescaleDB-Tools finden Sie unter TIMESCALEDB_TOOLS.md .
Beispiele
Abfragen mehrerer Datenbanken
-- Query the first database
query_mysql1("SELECT * FROM users LIMIT 10")
-- Query the second database in the same context
query_postgres1("SELECT * FROM products WHERE price > 100")Transaktionen verwalten
-- Start a transaction
transaction_mysql1("BEGIN")
-- Execute statements within the transaction
execute_mysql1("INSERT INTO orders (customer_id, product_id) VALUES (1, 2)")
execute_mysql1("UPDATE inventory SET stock = stock - 1 WHERE product_id = 2")
-- Commit or rollback
transaction_mysql1("COMMIT")
-- OR
transaction_mysql1("ROLLBACK")Datenbankschema erkunden
-- Get all tables in the database
schema_mysql1("tables")
-- Get columns for a specific table
schema_mysql1("columns", "users")
-- Get constraints
schema_mysql1("constraints", "orders")Fehlerbehebung
Häufige Probleme
Verbindungsfehler : Überprüfen Sie die Netzwerkkonnektivität und die Datenbankanmeldeinformationen
Berechtigungsfehler : Stellen Sie sicher, dass der Datenbankbenutzer über die entsprechenden Berechtigungen verfügt
Timeout-Probleme : Überprüfen Sie die
query_timeoutEinstellung in Ihrer Konfiguration
Protokolle
Aktivieren Sie die ausführliche Protokollierung zur Fehlerbehebung:
./bin/server -t sse -c config.json -vBeitragen
Wir freuen uns über Beiträge zum DB MCP Server-Projekt! So können Sie mitmachen:
Forken Sie das Repository
Erstellen Sie einen Feature-Zweig (
git checkout -b feature/amazing-feature)Übernehmen Sie Ihre Änderungen (
git commit -m 'feat: add amazing feature')Pushen zum Zweig (
git push origin feature/amazing-feature)Öffnen einer Pull-Anfrage
Ausführliche Richtlinien finden Sie in unserer Datei CONTRIBUTING.md .
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .
This server cannot be deployed
Maintenance
Related MCP Connectors
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
Related MCP Servers
- AlicenseCqualityDmaintenanceA Model Context Protocol server that enables AI models to interact with both MySQL and MongoDB databases through a standardized interface, supporting comprehensive database operations including queries, schema management, and CRUD operations.148MIT
- AlicenseNot gradedqualityNot gradedmaintenanceA universal database gateway MCP server that enables AI assistants to connect to and query multiple databases (PostgreSQL, MySQL, MariaDB, SQL Server, SQLite) with support for schema exploration, SQL execution, and secure connections via SSH tunnels.15 npm-
- AlicenseNot gradedqualityCmaintenanceMCP server for PostgreSQL, MySQL, and SQLite that gives AI assistants secure database access via the Model Context Protocol.36 npm4MIT
- FlicenseNot gradedqualityAmaintenanceAn MCP server that exposes relational databases (PostgreSQL/MySQL) to AI agents with natural language to SQL query support.19-