Skip to main content
Glama

mysql_mcp_server

by wenb1n-dev

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

BildBild

  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

Bild

  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

Bild

Install Server
A
security – no known vulnerabilities
A
license - permissive license
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

            • A
              security
              A
              license
              A
              quality
              Allows AI assistants to list tables, read data, and execute SQL queries through a controlled interface, making database exploration and analysis safer and more structured.
              Last updated -
              1
              580
              Python
              MIT License
              • Linux
              • Apple
            • -
              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 tool that provides simple API to execute SQL queries and manage MySQL databases, designed to integrate with Cursor IDE for AI assistants to directly perform database operations.
              Last updated -
              Python
              • Linux
              • Apple
            • -
              security
              F
              license
              -
              quality
              Provides Claude Desktop with secure access to multiple database connections, allowing users to query MySQL, PostgreSQL, SQLite, and SQL Server databases directly through natural language.
              Last updated -
              • 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/wenb1n-dev/mysql_mcp_server_pro'

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