mysql_mcp_server

by wenb1n-dev

Integrations

  • Enables configuration of MySQL database connection settings (host, port, user, password, database) through environment variables stored in .env files.

  • Allows executing SQL queries against MySQL databases, supporting multiple SQL statements, table name/field querying based on comments, SQL execution plan analysis, and Chinese to pinyin field conversion.

mcp_mysql_server

Einführung

mcp_mysql_server_pro befasst sich nicht nur mit MySQL-CRUD-Operationen, sondern umfasst auch Funktionen zur Datenbankanomalieanalyse und erleichtert Entwicklern die Erweiterung mit benutzerdefinierten Tools.

  • Unterstützt sowohl STDIO- als auch SSE-Modi
  • Unterstützt die Ausführung mehrerer SQL-Befehle, getrennt durch ";"
  • Unterstützt die Abfrage von Datenbanktabellennamen und -feldern basierend auf Tabellenkommentaren
  • Unterstützt die SQL-Ausführungsplananalyse
  • Unterstützt die Konvertierung chinesischer Felder in Pinyin
  • Unterstützt die Tabellensperranalyse
  • Unterstützt die Analyse des Datenbankzustands
  • Unterstützt die Berechtigungskontrolle mit drei Rollen: Nur Lesen, Schreiben und Administrator
    "readonly": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN"], # Read-only permissions "writer": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE"], # Read-write permissions "admin": ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"] # Administrator permissions
  • Unterstützt den Aufruf von Eingabeaufforderungsvorlagen

Werkzeugliste

WerkzeugnameBeschreibung
sql_ausführenSQL-Ausführungstool, das basierend auf der Berechtigungskonfiguration ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"]-Befehle ausführen kann
get_chinese_initialsKonvertieren Sie chinesische Feldnamen in Pinyin-Initialen
get_db_health_runningAnalysieren Sie den MySQL-Gesundheitsstatus (Verbindungsstatus, Transaktionsstatus, Ausführungsstatus, Erkennung des Sperrstatus).
get_table_descSuche nach Tabellenstrukturen in der Datenbank basierend auf Tabellennamen, unterstützt Abfragen mehrerer Tabellen
get_table_indexSuche nach Tabellenindizes in der Datenbank basierend auf Tabellennamen, unterstützt Abfragen mehrerer Tabellen
get_table_lockÜberprüfen Sie, ob im aktuellen MySQL-Server Sperren auf Zeilen- oder Tabellenebene vorhanden sind
Tabellenname abrufenSuche nach Tabellennamen in der Datenbank basierend auf Tabellenkommentaren und -beschreibungen
get_db_health_index_usageErmitteln Sie die Indexnutzung der aktuell verbundenen MySQL-Datenbank, einschließlich redundanter Indexsituationen, Indexsituationen mit schlechter Leistung und der fünf am häufigsten ungenutzten Indexsituationen mit Abfragezeiten von mehr als 30 Sekunden.

Eingabeaufforderungsliste

EingabeaufforderungsnameBeschreibung
Analysieren der MySQL-EingabeaufforderungDies ist eine Eingabeaufforderung zur Analyse MySQL-bezogener Probleme
Abfragetabellen-DateneingabeaufforderungDies ist eine Eingabeaufforderung zum Abfragen von Tabellendaten mithilfe von Tools. Wenn die Beschreibung leer ist, wird sie als MySQL-Datenbankabfrageassistent initialisiert.

Gebrauchsanweisung

SSE-Modus

  • Verwenden Sie uv, um den Dienst zu starten

Fügen Sie Ihren MCP-Client-Tools den folgenden Inhalt hinzu, z. B. Cursor, Cline usw.

mcp json wie folgt:

{ "mcpServers": { "operateMysql": { "name": "operateMysql", "description": "", "isActive": true, "baseUrl": "http://localhost:9000/sse" } } }

Ändern Sie den Inhalt der .env-Datei, um die Datenbankverbindungsinformationen mit Ihren Datenbankdetails zu aktualisieren:

# MySQL Database Configuration MYSQL_HOST=192.168.xxx.xxx MYSQL_PORT=3306 MYSQL_USER=root MYSQL_PASSWORD=root MYSQL_DATABASE=a_llm MYSQL_ROLE=readonly # Optional, default is 'readonly'. Available values: readonly, writer, admin

Startbefehle:

# Download dependencies uv sync # Start uv run server.py

STDIO-Modus

Fügen Sie Ihren MCP-Client-Tools den folgenden Inhalt hinzu, z. B. Cursor, Cline usw.

mcp json wie folgt:

{ "mcpServers": { "operateMysql": { "isActive": true, "name": "operateMysql", "command": "uv", "args": [ "--directory", "G:\\python\\mysql_mcp\\src", # Replace this with your project path "run", "server.py", "--stdio" ], "env": { "MYSQL_HOST": "192.168.xxx.xxx", "MYSQL_PORT": "3306", "MYSQL_USER": "root", "MYSQL_PASSWORD": "root", "MYSQL_DATABASE": "a_llm", "MYSQL_ROLE": "readonly" # Optional, default is 'readonly'. Available values: readonly, writer, admin } } } }

Benutzerdefinierte Tool-Erweiterungen

  1. Fügen Sie eine neue Tool-Klasse im Handles-Paket hinzu, erben Sie von BaseHandler und implementieren Sie die Methoden get_tool_description und run_tool
  2. Importieren Sie das neue Tool in init .py, um es auf dem Server verfügbar zu machen

Beispiele

  1. Erstellen Sie eine neue Tabelle und fügen Sie Daten ein. Geben Sie das Eingabeformat wie folgt ein:
# Task Create an organizational structure table with the following structure: department name, department number, parent department, is valid. # Requirements - Table name: department - Common fields need indexes - Each field needs comments, table needs comment - Generate 5 real data records after creation

  1. Fragen Sie Daten basierend auf Tabellenkommentaren ab. Die Eingabeaufforderung lautet wie folgt:
Search for data with Department name 'Executive Office' in Department organizational structure table

  1. Analysieren Sie langsames SQL und geben Sie die folgende Eingabeaufforderung ein:
select * from t_jcsjzx_hjkq_cd_xsz_sk xsz left join t_jcsjzx_hjkq_jcd jcd on jcd.cddm = xsz.cddm Based on current index situation, review execution plan and provide optimization suggestions in markdown format, including table index status, execution details, and optimization recommendations
  1. Analysieren Sie SQL-Deadlock-Probleme und geben Sie die folgende Eingabeaufforderung ein:
update t_admin_rms_zzjg set sfyx = '0' where xh = '1' is stuck, please analyze the cause
  1. Analysieren Sie die Eingabeaufforderung zum Gesundheitsstatus wie folgt
Check the current health status of MySQL

You must be authenticated.

A
security – no known vulnerabilities
F
license - not found
A
quality - confirmed to work

hybrid server

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

Unterstützung für STDIO-Modus und SSE-Modus hinzugefügt. Unterstützung für mehrere SQL-Ausführungen hinzugefügt, getrennt durch ";". Möglichkeit hinzugefügt, Datenbanktabellennamen und -felder basierend auf Tabellenkommentaren abzufragen. SQL-Ausführungsplananalyse hinzugefügt. Konvertierung chinesischer Felder in Pinyin hinzugefügt.

  1. Einführung
    1. Werkzeugliste
      1. Eingabeaufforderungsliste
        1. Gebrauchsanweisung
          1. SSE-Modus
          2. STDIO-Modus
        2. Benutzerdefinierte Tool-Erweiterungen
          1. Beispiele

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              Facilitates interaction with Microsoft SQL Server Express, supporting database operations such as querying, table management, and schema inspection via natural language MCP commands.
              Last updated -
              1
              Python
              MIT License
            • -
              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
              F
              license
              -
              quality
              A natural language interface that allows Claude to execute SQL queries on your local MySQL databases, enabling database interaction using natural language.
              Last updated -
              2
              Python
              • Linux
              • Apple
            • -
              security
              F
              license
              -
              quality
              Enables secure interaction with MySQL databases, allowing AI assistants to list tables, read data, and execute SQL queries through a controlled interface.
              Last updated -
              Python
              • Linux
              • Apple

            View all related MCP servers

            ID: 3w3wd880vr