MySQL MCP Server

by yuki777
Integrations
  • Connects to a MySQL database, allowing LLMs to execute SQL queries, retrieve database information (databases, tables, and table structures), with configurable query timeout and result size limits.

MySQL MCP-сервер

Сервер протокола контекста модели MySQL (MCP) — это инструмент, который позволяет подключаться к локальной базе данных MySQL и разрешать большим языковым моделям (LLM) выполнять SQL-запросы к ней.

Требования

  • Node.js : 20.0.0 или более поздняя версия
  • MySQL : сервер MySQL или MariaDB версии 5.7 или более поздней

функция

  • Выполнение запросов 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

вариант

вариантобъяснениеЗначение по умолчанию
-h, --host <host>MySQL-хостлокальный хост
-p, --port <port>MySQL-порт13306
-u, --user <user>Пользователь MySQLкорень
--password <password>Пароль MySQL(пустая строка)
-d, --database <database>База данных по умолчанию(вариант)
-c, --config <path>Путь к файлу конфигурации(вариант)
--auto-connectАвтоматически подключаться к базе данных при запуске сервераЛОЖЬ
--server-port <port>Порт сервера MCP (не используется в режиме stdio)3000
--server-host <host>Хост сервера MCP (не используется в режиме stdio)локальный хост
--query-timeout <ms>Время ожидания запроса (мс)30000
--max-results <count>Максимальное количество строк результата1000
--debugРежим отладкиЛОЖЬ

Сохраните и повторно используйте информацию о подключении

Сервер 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). Это позволяет ему взаимодействовать через стандартный ввод и вывод, а не привязываться к определенному порту. Это имеет следующие преимущества:

  1. Избегайте конфликтов портов : не используются никакие определенные порты, поэтому не возникает проблем с конфликтами портов.
  2. Улучшенная безопасность : сетевое взаимодействие не используется, что снижает риск атак на сетевом уровне.
  3. Простая межпроцессная коммуникация : упрощенная коммуникация с LLM

Важные моменты, на которые следует обратить внимание

  • В режиме stdio сообщения отправляются в формате JSON.
  • Необходимо отправить одно сообщение JSON на строку.
  • Информация об ошибках и журналы подключений выводятся в стандартный поток ошибок (stderr).

Предоставляемые инструменты MCP

Управление подключением к базе данных

Название инструментаобъяснениеТребуемые параметры
подключение_базы_данныхПодключиться к базе данныххост, порт, пользователь
connect_by_profileПодключитесь с сохраненным именем профиляИмя профиля
отключить_базу_данныхОтключает текущее соединение с базой данных.никто
получить_статус_подключенияПолучает статус соединения с базой данныхникто

Управление профилем подключения

Название инструментаобъяснениеТребуемые параметры
список_профилейПолучает список сохраненных профилейникто
получить_профильПолучить данные профиляИмя профиля
добавить_профильДобавить новый профильИмя профиля, хост, порт, пользователь
удалить_профильУдалить профильИмя профиля

Операции SQL-запросов

Название инструментаобъяснениеТребуемые параметры
выполнить_запросВыполнить запрос MySQLзапрос: оператор SQL
получить_базы_данныхПолучить список доступных баз данныхникто
получить_таблицыПолучает список таблиц в указанной базе данных.база данных (необязательно)
описать_таблицуПолучает структуру указанной таблицы.стол

Функция управления соединением

MySQL MCP Server позволяет разделить запуск сервера и подключения к базе данных. Такой подход обеспечивает следующие преимущества:

  1. Запуск без информации о подключении : сервер можно запустить без информации о подключении к базе данных.
  2. Несколько подключений к базам данных : вы можете переключать подключения к разным базам данных после запуска сервера.
  3. Простая установка : просто запустите npx -y https://github.com/yuki777/mysql-mcp-server

Как использовать управление соединениями

  1. Запустить сервер без автоподключения :
    npx -y https://github.com/yuki777/mysql-mcp-server
  2. Подключитесь к базе данных с помощью инструмента подключения (укажите имя профиля и сохраните его) :
    { "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" } }
  3. Получить список профилей :
    { "type": "tool_call", "request_id": "req_2", "tool": "list_profiles", "arguments": {} }
  4. Подключиться по имени профиля :
    { "type": "tool_call", "request_id": "req_3", "tool": "connect_by_profile", "arguments": { "profileName": "my-db" } }
  5. Добавить новый профиль (без подключения) :
    { "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" } }
  6. Проверьте статус вашего подключения :
    { "type": "tool_call", "request_id": "req_5", "tool": "get_connection_status", "arguments": {} }
  7. Потеря связи :
    { "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

лицензия

МСК

вклад

Сообщения об ошибках, запросы на новые функции и предложения по их внесению приветствуются.

Related MCP Servers

  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
    Last updated -
    1,363
    350
    TypeScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server providing read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
    Last updated -
    1,363
    TypeScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol server that provides read-only access to MySQL databases, enabling LLMs to inspect database schemas and execute read-only queries.
    Last updated -
    1,363
    MIT License
  • -
    security
    A
    license
    -
    quality
    A Model Context Protocol (MCP) server that enables AI assistants to interact with MySQL databases by executing SQL queries and checking database connectivity.
    Last updated -
    TypeScript
    MIT License
    • Apple
    • Linux

View all related MCP servers

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