Skip to main content
Glama
wenb1n-dev

mysql_mcp_server

by wenb1n-dev

简体中文 Английский

mcp_mysql_server

Введение

mcp_mysql_server_pro не только поддерживает операции MySQL CRUD, но также включает в себя возможности анализа аномалий базы данных и позволяет разработчикам легко расширять возможности с помощью специальных инструментов.

  • Поддерживает режимы STDIO и SSE

  • Поддерживает многократное выполнение SQL, разделенное символом «;»

  • Поддерживает запросы имен таблиц и полей базы данных на основе комментариев к таблицам.

  • Поддерживает анализ плана выполнения SQL

  • Поддерживает преобразование китайского поля в пиньинь

  • Поддерживает анализ блокировки таблиц

  • Поддерживает анализ состояния работоспособности базы данных

  • Поддерживает управление разрешениями с тремя ролями: только чтение, запись и администратор

    "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
  • Поддерживает вызов шаблона подсказки

Related MCP server: MySQL MCP Server Pro

Список инструментов

Название инструмента

Описание

выполнить_sql

Инструмент выполнения SQL, который может выполнять команды ["SELECT", "SHOW", "DESCRIBE", "EXPLAIN", "INSERT", "UPDATE", "DELETE", "CREATE", "ALTER", "DROP", "TRUNCATE"] на основе конфигурации разрешений

получить_китайские_инициалы

Преобразовать китайские названия полей в инициалы пиньинь

get_db_health_running

Анализ состояния работоспособности MySQL (состояние соединения, состояние транзакции, состояние выполнения, обнаружение состояния блокировки)

получить_таблицу_описание

Поиск структур таблиц в базе данных на основе имен таблиц, поддержка многотабличных запросов

получить_табличный_индекс

Поиск индексов таблиц в базе данных на основе имен таблиц, поддержка многотабличных запросов

получить_таблицу_блокировку

Проверьте, есть ли блокировки на уровне строк или таблиц на текущем сервере MySQL.

получить_имя_таблицы

Поиск названий таблиц в базе данных на основе комментариев и описаний таблиц.

get_db_health_index_usage

Получите данные об использовании индекса текущей подключенной базы данных MySQL, включая ситуации с избыточными индексами, ситуации с неэффективной работой индексов и 5 основных неиспользуемых ситуаций с индексами, время запроса которых превышает 30 секунд.

Список подсказок

Имя подсказки

Описание

анализ-mysql-prompt

Это подсказка для анализа проблем, связанных с MySQL.

запрос-таблица-данных-подсказка

Это приглашение для запроса табличных данных с помощью инструментов. Если описание пустое, оно будет инициализировано как помощник по запросам базы данных MySQL

Инструкция по применению

Режим SSE

  • Используйте uv для запуска службы

Добавьте следующий контент в инструменты клиента mcp, например, cursor, cline и т. д.

mcp json следующим образом:

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

Измените содержимое файла .env, чтобы обновить информацию о подключении к базе данных, указав сведения о вашей базе данных:

# 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

Команды запуска:

# Download dependencies
uv sync

# Start
uv run server.py

Режим STDIO

Добавьте следующий контент в инструменты клиента mcp, например, cursor, cline и т. д.

mcp json следующим образом:

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

Расширения для пользовательских инструментов

  1. Добавьте новый класс инструмента в пакет handles, унаследуйте его от BaseHandler и реализуйте методы get_tool_description и run_tool.

  2. Импортируйте новый инструмент в init .py, чтобы сделать его доступным на сервере.

Примеры

  1. Создайте новую таблицу и вставьте данные, формат запроса должен быть следующим:

# 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. Запрос данных на основе комментариев к таблице, выполнив следующий запрос:

Search for data with Department name 'Executive Office' in Department organizational structure table

изображение

  1. Проанализируйте медленный SQL, запросив следующее:

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. Проанализируйте проблемы взаимоблокировки SQL, выполнив следующие действия:

update t_admin_rms_zzjg set sfyx = '0' where xh = '1' is stuck, please analyze the cause
  1. Проанализируйте запрос о состоянии здоровья следующим образом:

Check the current health status of MySQL

изображение

Install Server
A
license - permissive license
B
quality
F
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    -
    quality
    D
    maintenance
    A universal SQLite database management tool that enables SQL query execution through MCP protocol. Supports SELECT/INSERT/UPDATE/DELETE/CREATE operations with built-in SQL injection protection across stdio, SSE, and streamable-http communication modes.
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides comprehensive MySQL database operations including CRUD, performance optimization, health analysis, and anomaly detection. Supports multiple connection modes, OAuth2.0 authentication, and role-based permissions for database management through natural language.
    9
    1
    MIT
  • F
    license
    C
    quality
    D
    maintenance
    Enables interaction with openGauss databases through multiple transport methods (Stdio, SSE, Streamable-Http). Supports database operations and queries with configurable connection parameters.
    4
    1
  • A
    license
    -
    quality
    A
    maintenance
    Multi-database management tool and MCP server supporting MySQL, PostgreSQL, SQLite, and Dameng DM8, enabling AI assistants to query and manage databases via stdio or HTTP.
    MIT

View all related MCP servers

Related MCP Connectors

  • Connect to PlanetScale databases, branches, schema, query insights, and execute SQL

  • GibsonAI MCP server: manage your databases with natural language

  • 16 AI-native tools with dual SSE + streamable-http transport. Free tier available.

View all MCP Connectors

Latest Blog Posts

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