easy-mysql-mcp
easy-mysql-mcp
Легковесный сервер Model Context Protocol (MCP), который позволяет ИИ-ассистентам проверять и запрашивать базу данных MySQL через безопасный структурированный интерфейс инструментов.
Этот проект использует Node.js, TypeScript, официальный SDK MCP и mysql2/promise. Он работает через stdio, поэтому его можно напрямую использовать в MCP-клиентах, таких как Claude Desktop.
Функции
Пул соединений MySQL на базе
mysql2/promiseИнструмент для выполнения запросов только для чтения для получения данных
Инструмент выполнения для операторов изменения данных
Инструменты обнаружения схемы для таблиц, представлений, индексов и триггеров
Проверка плана выполнения запроса с помощью
EXPLAINПроверка текущего пользователя и привилегий
Защита stdout для предотвращения засорения протокола stdio логами, не относящимися к MCP
Требования
Node.js 18 или новее
npm
Доступная база данных, совместимая с MySQL
Установка
Запустите сервер напрямую с помощью npx:
npx -y easy-mysql-mcpДля локальной разработки после клонирования репозитория:
cd easy-mysql-mcp
npm install
npm run buildКонфигурация
Настройте сервер с помощью переменных окружения. Вы можете предоставить их через конфигурацию вашего MCP-клиента или создав локальный файл .env.
Переменная | Обязательно | По умолчанию | Описание |
| Да | - | Имя хоста или IP-адрес MySQL |
| Нет |
| Порт MySQL |
| Да | - | Имя пользователя MySQL |
| Да | - | Пароль MySQL |
| Да | - | База данных/схема по умолчанию |
| Нет |
| Максимальное количество активных соединений в пуле |
| Нет |
| Максимальное количество простаивающих соединений в пуле |
| Нет |
| Тайм-аут простаивающего соединения в миллисекундах |
| Нет |
| Максимальное количество запросов на соединение в очереди, где |
| Нет |
| Ожидает ли пул, когда все соединения заняты |
| Нет |
| Включен ли TCP keep-alive |
| Нет |
| Начальная задержка TCP keep-alive в миллисекундах |
Пример .env:
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your_password
MYSQL_DATABASE=your_databaseИспользование
Настройте ваш MCP-клиент для запуска пакета через npx.
Для локальной разработки сначала соберите исходный код TypeScript:
npm run buildЗапустите MCP-сервер:
npm startСервер обменивается данными через stdio и обычно запускается MCP-клиентом, а не вручную.
Пример для Claude Desktop
Добавьте сервер в ваш claude_desktop_config.json:
{
"mcpServers": {
"easy-mysql-mcp": {
"command": "npx",
"args": ["-y", "easy-mysql-mcp"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_PORT": "3306",
"MYSQL_USER": "root",
"MYSQL_PASSWORD": "your_password",
"MYSQL_DATABASE": "your_database"
}
}
}
}Перезапустите Claude Desktop после обновления конфигурации.
Доступные инструменты
Инструмент | Описание |
| Выполнение SQL-запроса, предназначенного для получения данных, например |
| Выполнение оператора изменения данных, например |
| Запуск |
| Список базовых таблиц в текущей базе данных, включая приблизительное количество строк и комментарии |
| Список представлений в текущей базе данных |
| Показать информацию о столбцах для одной или нескольких таблиц |
| Показать индексы для таблицы |
| Список триггеров в текущей базе данных |
| Показать текущего пользователя MySQL и его права |
Примечания по безопасности
Используйте выделенного пользователя MySQL с минимальными правами, необходимыми вашему ассистенту.
Отдавайте предпочтение учетным данным базы данных только для чтения, если вам нужна только проверка и отчетность.
Будьте осторожны с
mysql_execute, так как это может изменить данные.Не добавляйте файлы
.envили реальные учетные данные базы данных в GitHub.Проверяйте сгенерированный SQL перед запуском на производственных данных.
Разработка
npm run devЭто запускает TypeScript в режиме наблюдения.
Для создания производственной сборки:
npm run buildСтруктура проекта
src/
db.ts MySQL pool and query helpers
index.ts MCP server and tool registration
proxy.ts stdout protection for stdio-based MCP transportЛицензия
ISC
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/chenkumi/easy-mysql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server