MySQL MCP Server

by yuki777
Integrations
  • Connects to a MySQL database, allowing LLMs to execute SQL queries, retrieve database information (databases, tables, and table structures), with configurable query timeout and result size limits.

MySQL MCP-Server

Der MySQL Model Context Protocol (MCP)-Server ist ein Tool, mit dem Sie eine Verbindung zu einer lokalen MySQL-Datenbank herstellen und großen Sprachmodellen (LLMs) erlauben können, SQL-Abfragen darauf auszuführen.

Anforderungen

  • Node.js : 20.0.0 oder höher
  • MySQL : MySQL- oder MariaDB-Serverversion 5.7 oder höher

Funktion

  • MySQL-Abfragen ausführen : Führen Sie SQL-Abfragen direkt von LLM aus aus
  • Datenbankinformationen abrufen : Liste der Datenbanken, Liste der Tabellen, Tabellenstruktur bestätigen
  • MCP-kompatibel : Unterstützt Model Context Protocol und kann in LLM integriert werden
  • stdio-Kommunikation : Kommunikation mit LLM über Standard-Ein-/Ausgabe, keine Portbindung
  • Verbindungsprofilverwaltung : Verwalten und wechseln Sie zwischen mehreren Verbindungseinstellungen nach Profilnamen
  • Verbindungsinformationen speichern : Datenbankverbindungsinformationen lokal speichern und wiederverwenden

Installation und Verwendung

Vorübergehende Ausführung in NPX

npx -y https://github.com/yuki777/mysql-mcp-server --host 127.0.0.1 --port 13306 --user root

Option

OptionErläuterungStandardwert
-h, --host <host>MySQL-Hostlokaler Host
-p, --port <port>MySQL-Port13306
-u, --user <user>MySQL-BenutzerWurzel
--password <password>MySQL-Passwort(leere Zeichenfolge)
-d, --database <database>Standarddatenbank(Option)
-c, --config <path>Pfad der Konfigurationsdatei(Option)
--auto-connectBeim Serverstart automatisch eine Verbindung zur Datenbank herstellenFALSCH
--server-port <port>MCP-Server-Port (wird im Standardmodus nicht verwendet)3000
--server-host <host>MCP-Server-Host (wird im Standardmodus nicht verwendet)lokaler Host
--query-timeout <ms>Abfrage-Timeout (ms)30000
--max-results <count>Maximale Ergebniszeilen1000
--debugDebug-ModusFALSCH

Verbindungsinformationen speichern und wiederverwenden

MySQL MCP Server speichert Informationen über erfolgreich verbundene Datenbanken lokal als benannte Profile. Dadurch können Sie die Verbindungsinformationen bei nachfolgenden Aufrufen anhand des Namens wiederverwenden. Gespeicherte Verbindungsinformationen werden in .mysql-mcp-connections.json im Home-Verzeichnis des Benutzers gespeichert.

Jedes Verbindungsprofil umfasst:

  • Profilname
  • Hostname
  • Portnummer
  • Benutzername
  • Passwort
  • Datenbankname (falls festgelegt)

Sie können mehrere Datenbankverbindungen nach Profilnamen verwalten und einfach zwischen ihnen wechseln.

Verwenden von Konfigurationsdateien

Sie können die Verbindungsinformationen auch mithilfe einer Konfigurationsdatei (im JSON-Format) konfigurieren:

{ "server": { "port": 3000, "host": "localhost" }, "mysql": { "host": "localhost", "port": 13306, "user": "root", "password": "yourpassword", "database": "mydb" }, "debug": false, "queryTimeout": 30000, "maxResultSize": 1000 }

Wenn Sie eine Konfigurationsdatei verwenden:

npx -y https://github.com/yuki777/mysql-mcp-server -c ./mysql-mcp-config.json

Kommunikationsmethode

Der MySQL MCP-Server arbeitet im „stdio“-Modus gemäß MCP (Model Context Protocol). Dadurch kann über die Standardeingabe und -ausgabe kommuniziert werden, anstatt an einen bestimmten Port gebunden zu sein. Dies hat folgende Vorteile:

  1. Vermeiden Sie Portkonflikte : Es werden keine bestimmten Ports verwendet, daher treten keine Portkonflikte auf
  2. Verbesserte Sicherheit : Es wird keine Netzwerkkommunikation verwendet, wodurch das Risiko von Angriffen auf Netzwerkebene verringert wird
  3. Einfache Interprozesskommunikation : Vereinfachte Kommunikation mit LLM

Wichtige Hinweise

  • Im Standardmodus werden Nachrichten im JSON-Format gesendet.
  • Sie müssen eine JSON-Nachricht pro Zeile senden
  • Fehlerinformationen und Verbindungsprotokolle werden an den Standardfehler (stderr) ausgegeben.

Bereitgestellte MCP-Tools

Datenbankverbindungsverwaltung

WerkzeugnameErläuterungErforderliche Parameter
Datenbank verbindenHerstellen einer Verbindung zur DatenbankHost, Port, Benutzer
Verbinden nach ProfilMit einem gespeicherten Profilnamen verbindenProfilname
Datenbank trennenTrennt die aktuelle Datenbankverbindungkeiner
Verbindungsstatus abrufenRuft den Status der Datenbankverbindung abkeiner

Verbindungsprofilverwaltung

WerkzeugnameErläuterungErforderliche Parameter
ListenprofileRuft eine Liste der gespeicherten Profile abkeiner
Profil abrufenProfildetails abrufenProfilname
Profil hinzufügenNeues Profil hinzufügenProfilname, Host, Port, Benutzer
Profil entfernenLöschen des ProfilsProfilname

SQL-Abfrageoperationen

WerkzeugnameErläuterungErforderliche Parameter
Abfrage ausführenAusführen einer MySQL-AbfrageAbfrage: SQL-Anweisung
Datenbanken abrufenHolen Sie sich eine Liste der verfügbaren Datenbankenkeiner
Tabellen abrufenRuft eine Liste der Tabellen in einer angegebenen Datenbank ab.Datenbank (optional)
Tabelle beschreibenRuft die Struktur der angegebenen Tabelle ab.Tisch

Verbindungsverwaltungsfunktion

Mit MySQL MCP Server können Sie Serverstart und Datenbankverbindungen trennen. Dieser Ansatz bietet die folgenden Vorteile:

  1. Starten ohne Verbindungsinformationen : Der Server kann ohne Datenbankverbindungsinformationen gestartet werden.
  2. Mehrere Datenbankverbindungen : Sie können nach dem Start des Servers zwischen Verbindungen zu verschiedenen Datenbanken wechseln.
  3. Einfache Installation : Führen Sie einfach npx -y https://github.com/yuki777/mysql-mcp-server aus

So verwenden Sie die Verbindungsverwaltung

  1. Starten Sie den Server ohne automatische Verbindung :
    npx -y https://github.com/yuki777/mysql-mcp-server
  2. Stellen Sie mithilfe des Verbindungstools eine Verbindung zur Datenbank her (geben Sie einen Profilnamen an und speichern Sie ihn) :
    { "type": "tool_call", "request_id": "req_1", "tool": "connect_database", "arguments": { "host": "localhost", "port": 3306, "user": "root", "password": "your_password", "database": "your_db", "profileName": "my-db" } }
  3. Holen Sie sich eine Liste der Profile :
    { "type": "tool_call", "request_id": "req_2", "tool": "list_profiles", "arguments": {} }
  4. Über den Profilnamen verbinden :
    { "type": "tool_call", "request_id": "req_3", "tool": "connect_by_profile", "arguments": { "profileName": "my-db" } }
  5. Ein neues Profil hinzufügen (ohne Verbindung) :
    { "type": "tool_call", "request_id": "req_4", "tool": "add_profile", "arguments": { "profileName": "production-db", "host": "prod.example.com", "port": 3306, "user": "prod_user", "password": "prod_password", "database": "production" } }
  6. Überprüfen Sie Ihren Verbindungsstatus :
    { "type": "tool_call", "request_id": "req_5", "tool": "get_connection_status", "arguments": {} }
  7. Verbindungsverlust :
    { "type": "tool_call", "request_id": "req_6", "tool": "disconnect_database", "arguments": {} }

Testskript

Das Repository enthält ein Testskript namens test-connection-management.js . Mit diesem Skript können Sie die Verbindungsverwaltungsfunktion testen:

node test-connection-management.js

Entwicklerinformationen

Einrichten Ihrer Entwicklungsumgebung

# リポジトリのクローン git clone [repository-url] cd mysql-mcp-server # 依存関係のインストール npm install # 開発モードでの実行 npm run dev

Bauen

npm run build

Lizenz

ISC

Beitrag

Fehlerberichte, Funktionsanfragen und Pull-Anfragen sind willkommen.

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

Ein Tool, das eine Verbindung zu lokalen MySQL-Datenbanken herstellt und es großen Sprachmodellen (LLMs) ermöglicht, SQL-Abfragen über das Model Context Protocol (MCP) auszuführen.

  1. Anforderungen
    1. Funktion
      1. Installation und Verwendung
        1. Vorübergehende Ausführung in NPX
        2. Option
        3. Verbindungsinformationen speichern und wiederverwenden
        4. Verwenden von Konfigurationsdateien
      2. Kommunikationsmethode
        1. Wichtige Hinweise
      3. Bereitgestellte MCP-Tools
        1. Datenbankverbindungsverwaltung
        2. Verbindungsprofilverwaltung
        3. SQL-Abfrageoperationen
      4. Verbindungsverwaltungsfunktion
        1. So verwenden Sie die Verbindungsverwaltung
        2. Testskript
      5. Entwicklerinformationen
        1. Einrichten Ihrer Entwicklungsumgebung
        2. Bauen
      6. Lizenz
        1. Beitrag

          Related MCP Servers

          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated -
            1,363
            350
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server providing read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated -
            1,363
            TypeScript
            MIT License
            • Linux
            • Apple
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
            Last updated -
            1,363
            MIT License
          • -
            security
            A
            license
            -
            quality
            A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
            Last updated -
            TypeScript
            MIT License
            • Apple
            • Linux

          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/yuki777/mysql-mcp-server'

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