Skip to main content
Glama

database-mcp

Multi-Datenbank-MCP-Server (von Legion AI)

Ein Server, der Benutzern mithilfe des Legion Query Runner mit Integration des Model Context Protocol (MCP) Python SDK beim Zugriff auf und Abfragen von Daten in Datenbanken hilft.

Starten Sie hier die Generierung

Dieses Tool wird von Legion AI bereitgestellt. Um das vollwertige und leistungsstarke KI-Datenanalysetool zu nutzen, besuchen Sie bitte die Website. Senden Sie uns eine E-Mail, wenn Sie Unterstützung für eine Datenbank wünschen.

Generierung hier beenden

Warum Database MCP wählen?

Database MCP unterscheidet sich aus mehreren überzeugenden Gründen von anderen Datenbankzugriffslösungen:

  • Einheitliche Schnittstelle für mehrere Datenbanken : Stellen Sie über eine einzige konsistente API eine Verbindung zu PostgreSQL, MySQL, SQL Server und anderen Datenbanken her – Sie müssen nicht für jeden Datenbanktyp unterschiedliche Clientbibliotheken erlernen.
  • KI-fähige Integration : Speziell für KI-Assistenteninteraktionen über das Model Context Protocol (MCP) entwickelt und ermöglicht Datenbankoperationen in natürlicher Sprache.
  • Schemaerkennung ohne Konfiguration : Erkennt und zeigt Datenbankschemata automatisch an, ohne dass eine manuelle Konfiguration oder Zuordnung erforderlich ist.
  • Datenbankunabhängige Tools : Suchen Sie Tabellen, erkunden Sie Schemata und führen Sie Abfragen mit demselben Satz an Tools aus, unabhängig von der zugrunde liegenden Datenbanktechnologie.
  • Sichere Anmeldeinformationsverwaltung : Behandelt Datenbankauthentifizierungsdetails sicher und trennt Anmeldeinformationen vom Anwendungscode.
  • Einfache Bereitstellung : Funktioniert mit modernen KI-Entwicklungsumgebungen wie LangChain, FastAPI und anderen mit minimalem Setup.
  • Erweiterbares Design : Fügen Sie einfach benutzerdefinierte Tools und Eingabeaufforderungen hinzu, um die Funktionalität für bestimmte Anwendungsfälle zu verbessern.

Unabhängig davon, ob Sie KI-Agenten erstellen, die Datenbankzugriff benötigen, oder einfach eine einheitliche Schnittstelle zu mehreren Datenbanken wünschen, bietet Database MCP eine optimierte Lösung, die Entwicklungszeit und Komplexität drastisch reduziert.

Merkmale

  • Unterstützung mehrerer Datenbanken – stellen Sie gleichzeitig eine Verbindung zu mehreren Datenbanken her
  • Datenbankzugriff über Legion Query Runner
  • Model Context Protocol (MCP)-Unterstützung für KI-Assistenten
  • Bereitstellung von Datenbankoperationen als MCP-Ressourcen, -Tools und -Eingabeaufforderungen
  • Mehrere Bereitstellungsoptionen (eigenständiger MCP-Server, FastAPI-Integration)
  • Abfrageausführung und Ergebnisverarbeitung
  • Flexible Konfiguration über Umgebungsvariablen, Befehlszeilenargumente oder MCP-Einstellungen JSON
  • Benutzergesteuerte Datenbankauswahl für Multi-Datenbank-Setups

Unterstützte Datenbanken

DatenbankDB_TYPE-Code
PostgreSQLSeite
RotverschiebungRotverschiebung
CockroachDBKakerlake
MySQLMySQL
RDS MySQLrds_mysql
Microsoft SQL Servermssql
Große Abfragegroße Abfrage
Oracle-DatenbankOrakel
SQLiteSQLite

Wir verwenden die Legion Query Runner-Bibliothek als Konnektoren. Weitere Informationen finden Sie in der API-Dokumentation .

Was ist MCP?

Das Model Context Protocol (MCP) ist eine Spezifikation zur Aufrechterhaltung des Kontexts in KI-Anwendungen. Dieser Server verwendet das MCP Python SDK für:

  • Datenbankoperationen als Werkzeuge für KI-Assistenten verfügbar machen
  • Bereitstellung von Datenbankschemata und Metadaten als Ressourcen
  • Generieren Sie nützliche Eingabeaufforderungen für Datenbankoperationen
  • Aktivieren Sie statusbehaftete Interaktionen mit Datenbanken

Installation und Konfiguration

Erforderliche Parameter

Für die Konfiguration einer einzelnen Datenbank:

  • DB_TYPE : Der Datenbanktypcode (siehe Tabelle oben)
  • DB_CONFIG : Eine JSON-Konfigurationszeichenfolge für die Datenbankverbindung

Für die Konfiguration mehrerer Datenbanken:

  • DB_CONFIGS : Ein JSON-Array von Datenbankkonfigurationen, die jeweils Folgendes enthalten:
    • db_type : Der Datenbanktypcode
    • Konfiguration : Datenbankverbindungskonfiguration
    • Beschreibung : Eine für Menschen lesbare Beschreibung der Datenbank

Das Konfigurationsformat variiert je nach Datenbanktyp. Datenbankspezifische Konfigurationsdetails finden Sie in der API-Dokumentation .

Installationsmethoden

Option 1: Verwendung von UV (empfohlen)

Bei Verwendung uv ist keine spezielle Installation erforderlich. Wir verwenden uvx , um database-mcp direkt auszuführen.

UV-Konfigurationsbeispiel (einzelne Datenbank):

REPLACE DB_TYPE and DB_CONFIG with your connection info. { "mcpServers": { "database-mcp": { "command": "uvx", "args": [ "database-mcp" ], "env": { "DB_TYPE": "pg", "DB_CONFIG": "{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"dbname\"}" }, "disabled": true, "autoApprove": [] } } }

UV-Konfigurationsbeispiel (mehrere Datenbanken):

{ "mcpServers": { "database-mcp": { "command": "uvx", "args": [ "database-mcp" ], "env": { "DB_CONFIGS": "[{\"id\":\"pg_main\",\"db_type\":\"pg\",\"configuration\":{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"postgres\"},\"description\":\"PostgreSQL Database\"},{\"id\":\"mysql_data\",\"db_type\":\"mysql\",\"configuration\":{\"host\":\"localhost\",\"port\":3306,\"user\":\"root\",\"password\":\"pass\",\"database\":\"mysql\"},\"description\":\"MySQL Database\"}]" }, "disabled": true, "autoApprove": [] } } }
Option 2: Verwenden von PIP

Über Pip installieren:

pip install database-mcp

PIP-Konfigurationsbeispiel (einzelne Datenbank):

{ "mcpServers": { "database": { "command": "python", "args": [ "-m", "database_mcp", "--repository", "path/to/git/repo" ], "env": { "DB_TYPE": "pg", "DB_CONFIG": "{\"host\":\"localhost\",\"port\":5432,\"user\":\"user\",\"password\":\"pw\",\"dbname\":\"dbname\"}" } } } }

Ausführen des Servers

Produktionsmodus

python mcp_server.py

Konfigurationsmethoden

Umgebungsvariablen (einzelne Datenbank)
export DB_TYPE="pg" # or mysql, postgresql, etc. export DB_CONFIG='{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}' uv run src/database_mcp/mcp_server.py
Umgebungsvariablen (mehrere Datenbanken)
export DB_CONFIGS='[{"id":"pg_main","db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"id":"mysql_users","db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]' uv run src/database_mcp/mcp_server.py

Wenn Sie keine ID angeben, generiert das System automatisch eine basierend auf dem Datenbanktyp und der Beschreibung:

export DB_CONFIGS='[{"db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]' # IDs will be generated as something like "pg_postgres_0" and "my_mysqldb_1" uv run src/database_mcp/mcp_server.py
Befehlszeilenargumente (Einzeldatenbank)
python mcp_server.py --db-type pg --db-config '{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'
Befehlszeilenargumente (mehrere Datenbanken)
python mcp_server.py --db-configs '[{"id":"pg_main","db_type":"pg","configuration":{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"},"description":"PostgreSQL Database"},{"id":"mysql_users","db_type":"mysql","configuration":{"host":"localhost","port":3306,"user":"root","password":"pass","database":"mysql"},"description":"MySQL Database"}]'

Beachten Sie, dass Sie mithilfe des id Felds benutzerdefinierte IDs für jede Datenbank angeben oder diese vom System basierend auf Datenbanktyp und -beschreibung generieren lassen können.

Unterstützung mehrerer Datenbanken

Wenn Sie eine Verbindung zu mehreren Datenbanken herstellen, müssen Sie für jede Abfrage angeben, welche Datenbank verwendet werden soll:

  1. Verwenden Sie das Tool list_databases , um verfügbare Datenbanken mit ihren IDs anzuzeigen
  2. Verwenden Sie get_database_info , um Schemadetails von Datenbanken anzuzeigen
  3. Verwenden Sie find_table , um eine Tabelle in allen Datenbanken zu finden
  4. Geben Sie den db_id Parameter an Tools wie execute_query , get_table_columns usw. weiter.

Datenbankverbindungen werden intern als Wörterbuch von DbConfig Objekten verwaltet, wobei jede Datenbank eine eindeutige ID hat. Schemainformationen werden als Liste von Tabellenobjekten dargestellt, wobei jede Tabelle ihren Namen und ihre Spalteninformationen enthält.

Die Eingabeaufforderung select_database führt Benutzer durch den Datenbankauswahlprozess.

Schemadarstellung

Datenbankschemata werden als Liste von Tabellenobjekten dargestellt, wobei jede Tabelle Informationen zu ihren Spalten enthält:

[ { "name": "users", "columns": [ {"name": "id", "type": "integer"}, {"name": "username", "type": "varchar"}, {"name": "email", "type": "varchar"} ] }, { "name": "orders", "columns": [ {"name": "id", "type": "integer"}, {"name": "user_id", "type": "integer"}, {"name": "product_id", "type": "integer"}, {"name": "quantity", "type": "integer"} ] } ]

Diese Darstellung erleichtert den programmgesteuerten Zugriff auf Tabellen- und Spalteninformationen und behält gleichzeitig eine saubere hierarchische Struktur bei.

Offengelegte MCP-Funktionen

Ressourcen

RessourceBeschreibung
resource://schema/{database_id}Abrufen der Schemata für eine oder alle konfigurierten Datenbanken

Werkzeuge

WerkzeugBeschreibung
execute_queryFühren Sie eine SQL-Abfrage aus und geben Sie die Ergebnisse als Markdown-Tabelle zurück
execute_query_jsonFühren Sie eine SQL-Abfrage aus und geben Sie die Ergebnisse als JSON zurück
get_table_columnsAbrufen von Spaltennamen für eine bestimmte Tabelle
get_table_typesAbrufen von Spaltentypen für eine bestimmte Tabelle
get_query_historyHolen Sie sich den aktuellen Abfrageverlauf
list_databasesListen Sie alle verfügbaren Datenbankverbindungen auf
get_database_infoErhalten Sie detaillierte Informationen zu einer Datenbank einschließlich Schema
find_tableFinden Sie heraus, welche Datenbank eine bestimmte Tabelle enthält
describe_tableErhalten Sie eine detaillierte Beschreibung einer Tabelle, einschließlich Spaltennamen und -typen
get_table_sampleAbrufen einer Datenstichprobe aus einer Tabelle

Alle datenbankspezifischen Tools (wie execute_query , get_table_columns usw.) erfordern einen db_id Parameter, um anzugeben, welche Datenbank verwendet werden soll.

Eingabeaufforderungen

PromptBeschreibung
sql_queryErstellen Sie eine SQL-Abfrage für die Datenbank
explain_queryErklären Sie, was eine SQL-Abfrage macht
optimize_queryOptimieren Sie eine SQL-Abfrage für eine bessere Leistung
select_databaseHelfen Sie dem Benutzer bei der Auswahl der zu verwendenden Datenbank

Entwicklung

Verwenden des MCP Inspector

Führen Sie dies aus, um den Inspektor zu starten

npx @modelcontextprotocol/inspector uv run src/database_mcp/mcp_server.py

Geben Sie dann im Befehlseingabefeld etwas wie

run src/database_mcp/mcp_server.py --db-type pg --db-config '{"host":"localhost","port":5432,"user":"username","password":"password","dbname":"database_name"}'

Testen

uv pip install -e ".[dev]" pytest

Veröffentlichen

# Clean up build artifacts rm -rf dist/ build/ # Remove any .egg-info directories if they exist find . -name "*.egg-info" -type d -exec rm -rf {} + 2>/dev/null || true # Build the package uv run python -m build # Upload to PyPI uv run python -m twine upload dist/*

Lizenz

Dieses Repository ist unter der GPL lizenziert

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Ein Server, der Benutzern den Zugriff auf und die Abfrage von Datenbankdaten mithilfe des Query Runner mit Integration des Model Context Protocol (MCP) Python SDK ermöglicht. Unterstützt vom Legion AI-Team (thelegionai.com)

Unterstützte Datenbanken, einschließlich PostgreSQL, Redshift, MySQL, Microsoft SQL Server, Google APIs, Amazon Web Services (über boto3), CockroachDB, SQLite

  1. Starten Sie hier die Generierung
    1. Generierung hier beenden
      1. Warum Database MCP wählen?
      2. Merkmale
      3. Unterstützte Datenbanken
      4. Was ist MCP?
      5. Installation und Konfiguration
      6. Ausführen des Servers
      7. Unterstützung mehrerer Datenbanken
      8. Schemadarstellung
      9. Offengelegte MCP-Funktionen
      10. Entwicklung
      11. Lizenz

    Related MCP Servers

    • -
      security
      F
      license
      -
      quality
      A server that enables interaction with PostgreSQL, MySQL, MariaDB, or SQLite databases through Claude Desktop using natural language queries.
      Last updated -
      Python
    • -
      security
      A
      license
      -
      quality
      This is a Model Context Protocol (MCP) server for executing SQL queries against Databricks using the Statement Execution API. It enables AI assistants to directly query Databricks data warehouses, analyze database schemas, and retrieve query results in a structured format
      Last updated -
      9
      Python
      MIT License
      • Linux
      • Apple
    • -
      security
      A
      license
      -
      quality
      A Model Context Protocol server that provides Claude access to Turso-hosted LibSQL databases, enabling database table listing, schema retrieval, and SELECT query execution.
      Last updated -
      68
      5
      TypeScript
      MIT License
      • Apple
    • -
      security
      A
      license
      -
      quality
      An MCP server that enables MySQL database integration with Claude. You can execute SQL queries and manage database connections.
      Last updated -
      1
      Python
      MIT License
      • Apple

    View all related MCP servers

    MCP directory API

    We provide all the information about MCP servers via our MCP API.

    curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheRaLabs/legion-mcp'

    If you have feedback or need assistance with the MCP directory API, please join our Discord server