mysql_mcp_server

by wenb1n-dev
Verified

hybrid server

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

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.

servidor mcp_mysql

Introducción

mcp_mysql_server_pro no solo trata sobre operaciones CRUD de MySQL, sino que también incluye capacidades de análisis de anomalías de bases de datos y permite que los desarrolladores puedan ampliarlas con herramientas personalizadas.

  • Admite los modos STDIO y SSE
  • Admite ejecución múltiple de SQL, separada por ";"
  • Admite la consulta de nombres y campos de tablas de bases de datos en función de los comentarios de las tablas.
  • Admite el análisis del plan de ejecución de SQL
  • Admite la conversión de campos chinos a pinyin
  • Admite análisis de bloqueo de tabla
  • Admite control de permisos con tres roles: solo lectura, escritor y administrador
    "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

Instrucciones de uso

Modo SSE

  • Utilice uv para iniciar el servicio

Agregue el siguiente contenido a sus herramientas de cliente mcp, como cursor, cline, etc.

mcp json de la siguiente manera:

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

Modifique el contenido del archivo .env para actualizar la información de conexión de la base de datos con los detalles de su base de datos:

# 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

Comandos de inicio:

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

Modo STDIO

Agregue el siguiente contenido a sus herramientas de cliente mcp, como cursor, cline, etc.

mcp json de la siguiente manera:

{ "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 } } } }

Extensiones de herramientas personalizadas

  1. Agregue una nueva clase de herramienta en el paquete handles, herede de BaseHandler e implemente los métodos get_tool_description y run_tool
  2. Importe la nueva herramienta en init .py para que esté disponible en el servidor

Ejemplos

  1. Cree una nueva tabla e inserte datos, con el siguiente formato:
# Task Create an organizational structure table with the following structure: department name, department number, parent department, is valid. # Requirements - Table name: t_admin_rms_zzjg - Field requirements: string type uses 'varchar(255)', integer type uses 'int', float type uses 'float', date and time type uses 'datetime', boolean type uses 'boolean', text type uses 'text', large text type uses 'longtext', large integer type uses 'bigint', large float type uses 'double' - Table header needs to include primary key field, serial number XH varchar(255) - Table must include these fixed fields at the end: creator-CJR varchar(50), creation time-CJSJ datetime, modifier-XGR varchar(50), modification time-XGSJ datetime - Field naming should use tool return content - Common fields need indexes - Each field needs comments, table needs comment - Generate 5 real data records after creation
  1. Consultar datos en función de los comentarios de la tabla, con el siguiente mensaje:
Query Zhang San's data from the user information table
  1. Analice SQL lento, solicite lo siguiente:
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. Analice los problemas de bloqueo de SQL, solicite lo siguiente:
update t_admin_rms_zzjg set sfyx = '0' where xh = '1' is stuck, please analyze the cause

You must be authenticated.

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

Se agregó soporte para el modo STDIO y el modo SSE Se agregó soporte para ejecución SQL múltiple, separada por ";" Se agregó la capacidad de consultar nombres de tablas y campos de bases de datos basados en comentarios de tabla Se agregó análisis de plan de ejecución SQL Se agregó conversión de campo chino a pinyin

  1. Introduction
    1. Usage Instructions
      1. SSE Mode
      2. STDIO Mode
    2. Custom Tool Extensions
      1. Examples
        ID: 3w3wd880vr