MySQL MCP Server
MCP-сервер на Python для работы с MySQL: список таблиц, чтение данных, выполнение SQL и разбор схемы через контролируемый интерфейс
Высокий риск
Высокий уровень ставим, когда инструмент пишет во внешние системы, работает с деньгами, рабочими базами или секретами либо выполняет произвольные команды. CLI поставит его только после вашего согласия.
Почему такой уровень
- Выполняет произвольный SQL, включая INSERT, UPDATE и DELETE в базе
- Работает с учетными данными базы и может изменять данные при доступе на запись
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/mysql-mcp-serverОпределит агенты на машине, проверит риск и зафиксирует версию.
Другие способы установки
У записи высокий риск, поэтому установки в один клик нет. Посмотрите код и добавьте конфиг вручную.
Выполните в терминале
claude mcp add --transport stdio --env 'MYSQL_HOST=<значение MYSQL_HOST>' --env 'MYSQL_USER=<значение MYSQL_USER>' --env 'MYSQL_PASSWORD=<ваш MYSQL_PASSWORD>' mysql -- uvx --from mysql-mcp-server mysql_mcp_serverИли добавьте в файл .mcp.json, в проекте
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.cursor/mcp.json, для всех проектов
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Для одного проекта тот же блок кладут в .cursor/mcp.json.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
code --add-mcp '{"name":"mysql","type":"stdio","command":"uvx","args":["--from","mysql-mcp-server","mysql_mcp_server"],"env":{"MYSQL_HOST":"<значение MYSQL_HOST>","MYSQL_USER":"<значение MYSQL_USER>","MYSQL_PASSWORD":"<ваш MYSQL_PASSWORD>"}}'Или добавьте в файл .vscode/mcp.json, в проекте
{
"servers": {
"mysql": {
"type": "stdio",
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа servers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Выполните в терминале
codex mcp add mysql --env 'MYSQL_HOST=<значение MYSQL_HOST>' --env 'MYSQL_USER=<значение MYSQL_USER>' --env 'MYSQL_PASSWORD=<ваш MYSQL_PASSWORD>' -- uvx --from mysql-mcp-server mysql_mcp_serverИли добавьте в файл ~/.codex/config.toml, для всех проектов
[mcp_servers.mysql]
command = "uvx"
args = ["--from", "mysql-mcp-server", "mysql_mcp_server"]
env = { MYSQL_HOST = "<значение MYSQL_HOST>", MYSQL_USER = "<значение MYSQL_USER>", MYSQL_PASSWORD = "<ваш MYSQL_PASSWORD>" }Если файл уже есть, допишите блок в конец.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.gemini/settings.json, для всех проектов
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/devin/mcp_config.json, для всех проектов
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. В легаси Cascade конфиг MCP лежит в ~/.codeium/windsurf/mcp_config.json.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Бывший Windsurf.
Добавьте в файл cline_mcp_settings.json, для всех проектов
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers. Файл настроек открывается в Cline: вкладка MCP Servers, кнопка Configure MCP Servers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .roo/mcp.json, в проекте
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Форк Roo Code, папки .roo те же.
Добавьте в файл opencode.json, в проекте
{
"mcp": {
"mysql": {
"type": "local",
"command": [
"uvx",
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"environment": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcp.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл ~/.config/zed/settings.json, для всех проектов
{
"context_servers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа context_servers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
Добавьте в файл .codeassistant/mcp.json, в проекте
{
"mcpServers": {
"mysql": {
"command": "uvx",
"args": [
"--from",
"mysql-mcp-server",
"mysql_mcp_server"
],
"env": {
"MYSQL_HOST": "<значение MYSQL_HOST>",
"MYSQL_USER": "<значение MYSQL_USER>",
"MYSQL_PASSWORD": "<ваш MYSQL_PASSWORD>"
}
}
}
}Если файл уже есть, добавьте сервер внутрь ключа mcpServers.
Ключи и настройки
MYSQL_HOSTобязательнаяMYSQL_PORTнеобязательнаяMYSQL_USERобязательнаяMYSQL_PASSWORDсекрет, обязательнаяMYSQL_DATABASEнеобязательная
Замените значения в угловых скобках своими. Ключи не попадают в ссылки установки и не хранятся у нас.
В Claude Code выполни claude mcp add --transport stdio designcomputer-mysql_mcp_server uvx mysql_mcp_server. Затем задай переменные MYSQL_HOST, MYSQL_PORT, MYSQL_USER, MYSQL_PASSWORD и при необходимости MYSQL_DATABASE в блоке env конфигурации MCP. Нужен установленный uv.
Другие способы из описания автора
claude mcp add --transport stdio designcomputer-mysql_mcp_server uvx mysql_mcp_serverНужен uv. Переменные подключения к MySQL задают в блоке env конфигурации MCP.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Сервер дает агенту безопасный доступ к базе MySQL через набор инструментов. Он показывает таблицы как ресурсы, читает их содержимое и выполняет SQL с обработкой ошибок: SELECT, SHOW, DESCRIBE и операции изменения данных, которые помечаются как разрушающие. Инструмент get_schema_info возвращает столбцы, типы, допустимость NULL, значения по умолчанию и комментарии, а get_table_sample берет небольшую выборку строк. Есть режим нескольких баз, когда переменная MYSQL_DATABASE не задана, и обращение по имени вида база.таблица. Имена таблиц и баз проверяются по строгому списку допустимых символов, чтобы отсечь инъекции. Сервер работает по stdio и по SSE или HTTP, поддерживает SSL и туннель по SSH, маскирует пароли и ключи в логах. Отдельно предлагаются готовые сценарии-подсказки для обзора базы и разбора таблицы.
Для кого. Для разработчиков и аналитиков, которым нужно исследовать базу MySQL и выполнять запросы через агента.
Подходит, если
- Нужно, чтобы агент читал схему и данные из MySQL
- Нужно выполнять SQL-запросы к базе прямо из диалога
- Нужен обзор незнакомой базы: таблицы, структура, примеры строк
- Нужен доступ к нескольким базам на одном сервере MySQL
Не подходит, если
- Нужна СУБД, отличная от MySQL
- Нельзя давать агенту доступ к данным продакшена, а тестовой базы нет
Пример запроса к агенту
Покажи таблицы в базе и сделай выборку из таблицы customersОграничения
Доступ настраивается переменными окружения 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.
MCP
- Транспорт
- stdio, sse
- Авторизация
- не нужна
| Переменные окружения | |
|---|---|
| MYSQL_HOST обязательная | Хост базы MySQL. |
| MYSQL_USER обязательная | Имя пользователя MySQL, лучше отдельного с минимальными правами. |
| MYSQL_PASSWORD обязательная, секрет | Пароль пользователя MySQL. |
| MYSQL_DATABASE | База по умолчанию. Если не задана, включается режим нескольких баз. |
| MYSQL_PORT | Порт базы, по умолчанию 3306. |
Проверка безопасности
- Выполняет произвольный SQL, включая INSERT, UPDATE и DELETE в базе
- Работает с учетными данными базы и может изменять данные при доступе на запись
Коротко о 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.
Частые вопросы
Может ли сервер менять данные?
Да. execute_sql выполняет INSERT, UPDATE и DELETE, такие операции помечаются как разрушающие. Права ограничивают выбором прав пользователя MySQL.
Это то же самое, что MCP-сервер benborla для MySQL?
Нет, это другой проект. Здесь сервер на Python, пакет mysql-mcp-server, у benborla сервер на Node с пакетом другого имени.
Похожие
166 скиллов для научных задач: биоинформатика, хемоинформатика, клинические данные, геоданные и доступ к 100+ базам
Открытый MCP-сервер Google для баз данных: готовые инструменты для Postgres, MySQL, BigQuery, Spanner и других, плюс свои инструменты в tools.yaml
Официальные скиллы Hugging Face: работа с Hub через CLI hf, датасеты, обучение моделей, Spaces, оценка и деплой
Язык визуализации для агентов и MCP-сервер: из простой семантической спецификации собираются аккуратные графики