MySQL MCP-сервер
Сервер протокола контекста модели MySQL (MCP) — это инструмент, который позволяет подключаться к локальной базе данных MySQL и разрешать большим языковым моделям (LLM) выполнять SQL-запросы к ней.
Требования
Node.js : 20.0.0 или более поздняя версия
MySQL : сервер MySQL или MariaDB версии 5.7 или более поздней
Related MCP server: MCP MySQL Server
функция
Выполнение запросов MySQL : выполнение запросов SQL напрямую из LLM
Получение информации о базе данных : список баз данных, список таблиц, подтверждение структуры таблицы
Совместимость с MCP : поддерживает протокол контекста модели и может быть интегрирован с LLM
stdio-коммуникация : взаимодействие с LLM с использованием стандартного ввода/вывода, без привязки к порту
Управление профилем подключения : управление и переключение между несколькими настройками подключения по имени профиля.
Сохранение информации о подключении : сохранение информации о подключении к базе данных локально и ее повторное использование.
Установка и использование
Временное исполнение в NPX
npx -y https://github.com/yuki777/mysql-mcp-server --host 127.0.0.1 --port 13306 --user rootвариант
вариант | объяснение | Значение по умолчанию |
| MySQL-хост | локальный хост |
| MySQL-порт | 13306 |
| Пользователь MySQL | корень |
| Пароль MySQL | (пустая строка) |
| База данных по умолчанию | (вариант) |
| Путь к файлу конфигурации | (вариант) |
| Автоматически подключаться к базе данных при запуске сервера | ЛОЖЬ |
| Порт сервера MCP (не используется в режиме stdio) | 3000 |
| Хост сервера MCP (не используется в режиме stdio) | локальный хост |
| Время ожидания запроса (мс) | 30000 |
| Максимальное количество строк результата | 1000 |
| Режим отладки | ЛОЖЬ |
Сохраните и повторно используйте информацию о подключении
Сервер MySQL MCP хранит информацию об успешно подключенных базах данных локально в виде именованных профилей. Это позволяет повторно использовать информацию о соединении по имени при следующем вызове. Сохраненная информация о подключении хранится в файле .mysql-mcp-connections.json в домашнем каталоге пользователя.
Каждый профиль подключения включает в себя:
Имя профиля
Имя хоста
Номер порта
Имя пользователя
пароль
Имя базы данных (если установлено)
Вы можете управлять несколькими подключениями к базам данных по имени профиля и легко переключаться между ними.
Использование файлов конфигурации
Вы также можете настроить информацию о подключении с помощью файла конфигурации (в формате JSON):
{
"server": {
"port": 3000,
"host": "localhost"
},
"mysql": {
"host": "localhost",
"port": 13306,
"user": "root",
"password": "yourpassword",
"database": "mydb"
},
"debug": false,
"queryTimeout": 30000,
"maxResultSize": 1000
}Если вы используете файл конфигурации:
npx -y https://github.com/yuki777/mysql-mcp-server -c ./mysql-mcp-config.jsonМетод связи
Сервер MySQL MCP работает в режиме «stdio» в соответствии с протоколом MCP (Model Context Protocol). Это позволяет ему взаимодействовать через стандартный ввод и вывод, а не привязываться к определенному порту. Это имеет следующие преимущества:
Избегайте конфликтов портов : не используются никакие определенные порты, поэтому не возникает проблем с конфликтами портов.
Улучшенная безопасность : сетевое взаимодействие не используется, что снижает риск атак на сетевом уровне.
Простая межпроцессная коммуникация : упрощенная коммуникация с LLM
Важные моменты, на которые следует обратить внимание
В режиме stdio сообщения отправляются в формате JSON.
Необходимо отправить одно сообщение JSON на строку.
Информация об ошибках и журналы подключений выводятся в стандартный поток ошибок (stderr).
Предоставляемые инструменты MCP
Управление подключением к базе данных
Название инструмента | объяснение | Требуемые параметры |
подключение_базы_данных | Подключиться к базе данных | хост, порт, пользователь |
connect_by_profile | Подключитесь с сохраненным именем профиля | Имя профиля |
отключить_базу_данных | Отключает текущее соединение с базой данных. | никто |
получить_статус_подключения | Получает статус соединения с базой данных | никто |
Управление профилем подключения
Название инструмента | объяснение | Требуемые параметры |
список_профилей | Получает список сохраненных профилей | никто |
получить_профиль | Получить данные профиля | Имя профиля |
добавить_профиль | Добавить новый профиль | Имя профиля, хост, порт, пользователь |
удалить_профиль | Удалить профиль | Имя профиля |
Операции SQL-запросов
Название инструмента | объяснение | Требуемые параметры |
выполнить_запрос | Выполнить запрос MySQL | запрос: оператор SQL |
получить_базы_данных | Получить список доступных баз данных | никто |
получить_таблицы | Получает список таблиц в указанной базе данных. | база данных (необязательно) |
описать_таблицу | Получает структуру указанной таблицы. | стол |
Функция управления соединением
MySQL MCP Server позволяет разделить запуск сервера и подключения к базе данных. Такой подход обеспечивает следующие преимущества:
Запуск без информации о подключении : сервер можно запустить без информации о подключении к базе данных.
Несколько подключений к базам данных : вы можете переключать подключения к разным базам данных после запуска сервера.
Простая установка : просто запустите
npx -y https://github.com/yuki777/mysql-mcp-server
Как использовать управление соединениями
Запустить сервер без автоподключения :
npx -y https://github.com/yuki777/mysql-mcp-serverПодключитесь к базе данных с помощью инструмента подключения (укажите имя профиля и сохраните его) :
{ "type": "tool_call", "request_id": "req_1", "tool": "connect_database", "arguments": { "host": "localhost", "port": 3306, "user": "root", "password": "your_password", "database": "your_db", "profileName": "my-db" } }Получить список профилей :
{ "type": "tool_call", "request_id": "req_2", "tool": "list_profiles", "arguments": {} }Подключиться по имени профиля :
{ "type": "tool_call", "request_id": "req_3", "tool": "connect_by_profile", "arguments": { "profileName": "my-db" } }Добавить новый профиль (без подключения) :
{ "type": "tool_call", "request_id": "req_4", "tool": "add_profile", "arguments": { "profileName": "production-db", "host": "prod.example.com", "port": 3306, "user": "prod_user", "password": "prod_password", "database": "production" } }Проверьте статус вашего подключения :
{ "type": "tool_call", "request_id": "req_5", "tool": "get_connection_status", "arguments": {} }Потеря связи :
{ "type": "tool_call", "request_id": "req_6", "tool": "disconnect_database", "arguments": {} }
Тестовый сценарий
Репозиторий включает тестовый скрипт под названием test-connection-management.js . Вы можете использовать этот скрипт для проверки функциональности управления соединениями:
node test-connection-management.jsИнформация для разработчиков
Настройка среды разработки
# リポジトリのクローン
git clone [repository-url]
cd mysql-mcp-server
# 依存関係のインストール
npm install
# 開発モードでの実行
npm run devСтроить
npm run buildлицензия
МСК
вклад
Сообщения об ошибках, запросы на новые функции и предложения по их внесению приветствуются.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/yuki777/mysql-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
