MySQL MCP Server
MCP-сервер на Python для работы с MySQL: список таблиц, чтение данных, выполнение SQL и разбор схемы через контролируемый интерфейс
- 1 416 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Выполняет произвольный SQL, включая INSERT, UPDATE и DELETE в базе
- Работает с учетными данными базы и может изменять данные при доступе на запись
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/mysql-mcp-serverОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемШирокий доступИнструмент может менять данные, выполнять команды или работать с секретами.
- Выполняет произвольный SQL, включая INSERT, UPDATE и DELETE в базе
- Работает с учетными данными базы и может изменять данные при доступе на запись
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дает агенту безопасный доступ к базе MySQL через набор инструментов. Он показывает таблицы как ресурсы, читает их содержимое и выполняет SQL с обработкой ошибок: SELECT, SHOW, DESCRIBE и операции изменения данных, которые помечаются как разрушающие. Инструмент get_schema_info возвращает столбцы, типы, допустимость NULL, значения по умолчанию и комментарии, а get_table_sample берет небольшую выборку строк. Есть режим нескольких баз, когда переменная MYSQL_DATABASE не задана, и обращение по имени вида база.таблица. Имена таблиц и баз проверяются по строгому списку допустимых символов, чтобы отсечь инъекции. Сервер работает по stdio и по SSE или HTTP, поддерживает SSL и туннель по SSH, маскирует пароли и ключи в логах. Отдельно предлагаются готовые сценарии-подсказки для обзора базы и разбора таблицы.
Для кого. Для разработчиков и аналитиков, которым нужно исследовать базу MySQL и выполнять запросы через агента.
Подходит, если
- Нужно, чтобы агент читал схему и данные из MySQL
- Нужно выполнять SQL-запросы к базе прямо из диалога
- Нужен обзор незнакомой базы: таблицы, структура, примеры строк
- Нужен доступ к нескольким базам на одном сервере MySQL
Не подходит, если
- Нужна СУБД, отличная от MySQL
- Нельзя давать агенту доступ к данным продакшена, а тестовой базы нет
Пример запроса к агенту
Покажи таблицы в базе и сделай выборку из таблицы customersMCP
- Транспорт
- stdio, sse
- Авторизация
- не нужна
Переменные окружения
MYSQL_HOSTобязательная- Хост базы MySQL.
MYSQL_USERобязательная- Имя пользователя MySQL, лучше отдельного с минимальными правами.
MYSQL_PASSWORDобязательная, секрет- Пароль пользователя MySQL.
MYSQL_DATABASE- База по умолчанию. Если не задана, включается режим нескольких баз.
MYSQL_PORT- Порт базы, по умолчанию 3306.
Ограничения
Доступ настраивается переменными окружения MYSQL_HOST, MYSQL_USER, MYSQL_PASSWORD и другими, пароль хранится в конфигурации клиента. Поддерживаются только одиночные SQL-выражения, составные запросы вида USE db; SELECT не работают. Файл .env читается из рабочего каталога процесса, а Claude Code и Claude Desktop запускают сервер из своего каталога, поэтому переменные задают в блоке env конфигурации MCP. У транспорта SSE нет встроенной аутентификации: сервер по умолчанию слушает 0.0.0.0, за пределами localhost его ставят за обратным прокси с аутентификацией. Автор советует заводить отдельного пользователя MySQL с минимальными правами и не использовать root.
Как отключить. Уберите запись сервера из конфигурации MCP в клиенте или выполните claude mcp remove для его имени. При установке через pip можно удалить пакет mysql-mcp-server.
Частые вопросы
Может ли сервер менять данные?
Да. execute_sql выполняет INSERT, UPDATE и DELETE, такие операции помечаются как разрушающие. Права ограничивают выбором прав пользователя MySQL.
Это то же самое, что MCP-сервер benborla для MySQL?
Нет, это другой проект. Здесь сервер на Python, пакет mysql-mcp-server, у benborla сервер на Node с пакетом другого имени.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер для доступа агента к MySQL: чтение схемы и запросы, по умолчанию только на чтение, запись включается флагами
MySQL MCP Server Pro
mysql_mcp_server_pro
MCP-сервер для MySQL: выполняет SQL с ролями доступа, ищет таблицы по комментариям и разбирает блокировки, индексы и планы запросов
Один бинарник MCP-сервера для MySQL, MariaDB, PostgreSQL и SQLite: запросы только на чтение по умолчанию и маскировка ПДн
Один MCP-сервер для SQLite, SQL Server, PostgreSQL и MySQL: агент читает и меняет данные, правит схему и выгружает CSV и JSON
MCP-сервер для Microsoft SQL Server и Azure SQL: агент смотрит список таблиц и выполняет SQL-запросы на чтение и запись
DB MCP Server
db-mcp-server
Сервер MCP для нескольких баз данных с защитой: режим только чтения по каждой базе и ограничение числа строк. Написан на Go, запуск в Docker
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| MySQL MCP Server (эта карточка) | нет | не нужна | 1 416 | |
| MySQL MCP Server Pro | нет | не нужна | 248 | MCP-сервер для MySQL: выполняет SQL с ролями доступа, ищет таблицы по комментариям и разбирает блокировки, индексы и планы запросов |
| Microsoft SQL Server MCP Server | нет | ключ необязателен | 404 | MCP-сервер для Microsoft SQL Server и Azure SQL |
Коротко о README
README описывает MCP-сервер на Python для безопасной работы с базами MySQL. Он перечисляет инструменты execute_sql, get_schema_info и get_table_sample, режим нескольких баз, подсказки explore_database и analyze_table. Установка идет через pip, uvx или Smithery, доступ настраивается переменными окружения, поддерживаются транспорты stdio и SSE, SSL и туннель по SSH. Отдельный раздел о безопасности объясняет проверку идентификаторов, маскирование секретов в логах и отсутствие аутентификации у SSE, для которого рекомендуют обратный прокси. Автор советует создавать пользователя MySQL с минимальными правами. Лицензия MIT.