designcomputer/mysql_mcp_server

MCP-сервер для безопасного взаимодействия с базами данных MySQL

MCP⭐ 1 394Pythonпоследний релиз: v0.4.4
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

Это MCP-сервер для безопасного взаимодействия AI-агентов с базами данных MySQL, позволяющий читать схемы, выборки и выполнять SQL-запросы.

Зачем нужен

Инструмент решает задачу интеграции LLM с реляционными данными, предоставляя структурированный интерфейс для анализа и запросов. Он полезен тем, что обеспечивает безопасный доступ через переменные окружения, поддерживает различные режимы транспорта (STDIO, SSE) и упрощает навигацию по схемам баз данных для AI-приложений.

Что можно реализовать

  • Исследование структуры базы данных и метаданных таблиц через AI-ассистентов
  • Быстрый анализ содержимого таблиц с помощью выборки данных (sampling) без загрузки полных наборов
  • Выполнение аналитических SQL-запросов (SELECT, SHOW, DESCRIBE) в рамках RAG-систем
  • Безопасное подключение к MySQL через SSH-туннели для удаленных или изолированных сред
  • Работа с несколькими базами данных одновременно в режиме multi-database

Ключевые возможности

  • Поддержка транспорта Streamable HTTP (SSE) для удаленных и self-hosted развертываний
  • Встроенная поддержка SSH-туннелирования для безопасного подключения к базам
  • Режим multi-database: автоматический список баз и запросы через нотацию database.table
  • Детальная информация о схеме (типы колонок, nullable, дефолтные значения, комментарии)
  • Защита через переменные окружения и автоматическая загрузка .env файла

👤 Кому подойдёт: разработчики, работающие с AI-агентами и MCP, инженеры данных, аналитики, использующие LLM для работы с MySQL

Релизы

v0.4.4patch
🕐 1 мес назад · релиз на GitHub ↗

Исправлена ошибка с принудительным использованием C-расширения mysql-connector-python, теперь используется чистый Python при невозможности загрузки расширения.

  • Fixed: Устранена проблема с ImportError при использовании mysql-connector-python 26.7.0 на Linux из-за несовместимости C-расширения с OpenSSL.
  • Fixed: Параметр use_pure больше не устанавливается в значение False по умолчанию, что позволяет корректно переключаться на реализацию на чистом Python.
  • Fixed: Параметр use_pure теперь настраивается только при явном указании переменной окружения MYSQL_USE_PURE.
v0.4.2patch
🕐 3 мес назад · релиз на GitHub ↗

Исправлена уязвимость DNS-rebinding в SSE-сервере и добавлена документация по настройке безопасности.

  • Fixed: В SseServerTransport включена защита от DNS-rebinding атак с проверкой заголовков Host и Origin.
  • Added: Добавлена переменная окружения MCP_SSE_ALLOWED_HOSTS для расширения списка разрешённых хостов.
  • Added: Добавлен раздел Security Considerations с рекомендациями по использованию nginx в качестве обратного прокси.
  • Added: Обновлён пример .env файла, включена переменная MCP_SSE_ALLOWED_HOSTS.