Skip to main content
Glama

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

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: SQL Server Express MCP Server

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

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

Описание

выполнить_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

изображение

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

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