Skip to main content
Glama

mysql_mcp_server

by wenb1n-dev

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 el análisis del estado de salud de la base de datos
  • 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
  • Admite la invocación de plantillas de solicitud

Lista de herramientas

Nombre de la herramientaDescripción
ejecutar_sqlHerramienta de ejecución de SQL que puede ejecutar comandos ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"] según la configuración de permisos
obtener_iniciales_chinasConvertir nombres de campos chinos a iniciales pinyin
obtener_salud_de_la_base_de_datos_en_ejecuciónAnalizar el estado de salud de MySQL (estado de conexión, estado de transacción, estado de ejecución, detección de estado de bloqueo)
obtener_desc_tablaBusque estructuras de tablas en la base de datos según los nombres de las tablas, admitiendo consultas de múltiples tablas
obtener_índice_de_tablaBusque índices de tablas en la base de datos según los nombres de las tablas, admitiendo consultas de múltiples tablas
obtener_bloqueo_de_tablaComprueba si hay bloqueos a nivel de fila o bloqueos a nivel de tabla en el servidor MySQL actual
obtener_nombre_de_tablaBusque nombres de tablas en la base de datos basándose en comentarios y descripciones de las tablas
obtener_uso_del_índice_de_salud_de_la_base_de_datosObtenga el uso del índice de la base de datos MySQL actualmente conectada, incluidas las situaciones de índice redundantes, las situaciones de índice de bajo rendimiento y las 5 principales situaciones de índice sin uso con tiempos de consulta superiores a 30 segundos

Lista de indicaciones

Nombre del avisoDescripción
analizando-el-prompt-de-mysqlEste es un mensaje para analizar problemas relacionados con MySQL.
solicitud de datos de la tabla de consultaEste es un mensaje para consultar datos de tablas mediante herramientas. Si la descripción está vacía, se inicializará como un asistente de consulta de bases de datos MySQL.

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
  1. Analice el mensaje de estado de salud de la siguiente manera
Check the current health status of MySQL

You must be authenticated.

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.

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 y campos de tablas de bases de datos según los comentarios de la tabla Se agregó análisis del plan de ejecución de SQL Se agregó la conversión de campo chino a pinyin

  1. Introducción
    1. Lista de herramientas
      1. Lista de indicaciones
        1. Instrucciones de uso
          1. Modo SSE
          2. Modo STDIO
        2. Extensiones de herramientas personalizadas
          1. Ejemplos

            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

            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