Skip to content

Курс по современной разработке

Создавайте веб-сайты с помощью ИИ. Вайб-кодинг для начинающих

Узнать больше
Preview Image

Настраиваем MCP-сервер для получения контекста из базы данных MySQL

Аватар автора
Даниил Городилов·

Современные IDE и редакторы кода всё чаще интегрируются с мощными инструментами, позволяющими разработчикам получать дополнительный контекст прямо в процессе написания кода.

Один из таких инструментов - MCP (Model Context Protocol), который позволяет передавать информацию от внешних источников в LLM-ассистенты.

Особенно это удобно при разработке в Cursor IDE, где в диалоге с ИИ можно использовать внешний контекст - например, подключиться к базе данных и получать оттуда нужную информацию прямо во время общения. Это помогает быстрее находить ответы, писать код с учётом реальных данных и лучше понимать, что именно нужно разработчику.

Что такое MCP?

MCP (Model Context Protocol) - это открытый стандартный протокол, запущенный компанией Anthropic, который предоставляет разработчикам мощный инструмент для установления безопасных двусторонних соединений между источниками данных и инструментами, основанными на ИИ.

MCP-архитектураMCP-архитектура

Чтобы лучше понять MCP, можно использовать простую аналогию: если ИИ подобен компьютеру, то MCP похож на USB-протокол, а серверы MCP - на различные USB-устройства (например, камеры, микрофоны и т. д.). Реализуя серверы MCP, мы можем легко подключать ИИ к различным источникам данных, существенно расширяя его функциональные возможности.

Настройка MCP-сервера

Cursor, редактор кода на базе искусственного интеллекта, теперь поддерживает MCP в качестве клиента. Это означает, что ИИ-ассистент Cursor'а может подключаться к внешним инструментам и источникам данных для расширения своих возможностей. Вы можете подключить сразу несколько серверов MCP, предоставив Cursor доступ к широкому спектру внешних инструментов.

Список подключенных MCP-серверовСписок подключенных MCP-серверов

По кнопке Add new global MCP Server мы можем редактировать конфигурацию MCP-серверов:

Глобальная конфигурация MCP-серверовГлобальная конфигурация MCP-серверов

В объекте mcpServers мы делаем добавление описания MCP-серверов, как правило, в различных репозиториях есть инструкция, что требуется прописать для подключения.

Не всегда обязательно настраивать MCP-сервер глобально, можно так же добавлять их в рамках проекта в .cursor/mcp.json.

Настройка MySQL и MCP-сервера

Если в у вас не развернута СУБД, то вы можете для теста развернуть с помощью Docker.

Для Ubuntu, Debian, WSL, т.д. (с Mock-данными):

bash
echo "
CREATE DATABASE IF NOT EXISTS mydatabase;
USE mydatabase;
CREATE TABLE IF NOT EXISTS users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100)
);
INSERT INTO users (name, email) VALUES
  ('Alice', 'alice@example.com'),
  ('Bob', 'bob@example.com');
" > init.sql

docker run --name some-mysql \
 -e MYSQL_ROOT_PASSWORD=my-secret-pw \
 -v $(pwd)/init.sql:/docker-entrypoint-initdb.d/init.sql \
 -d -p 3306:3306 mysql:8.0

Необходимо будет установить Node.js, чтобы развернуть данную MCP. Настраиваем MCP-конфиг (вы можете указать в env ваши необходимые данные для доступа):

json
{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": [
        "-y",
        "@kevinwatt/mysql-mcp"
      ],
      "env": {
        "MYSQL_HOST": "127.0.0.1",
        "MYSQL_PORT": "3306",
        "MYSQL_USER": "root",
        "MYSQL_PASS": "my-secret-pw",
        "MYSQL_DB": "mydatabase"
      }
    }
  }
}

Проверяем, что загорелся положительный статус у MCP-сервера (В Output можно проверять логи MCP-серверов):

Вывод подключенного MCP-сервераВывод подключенного MCP-сервера и в Output можем наблюдать его логи

Используя в начале Use Mysql, мы делаем запрос в диалоговом окне и получаем необходимую информацию из Mysql базы данных:

Вывод полученных данныхВывод полученных данных прямо из MySQL базы данных

Заключение

MCP открывает прямой доступ ИИ-ассистентов к MySQL и другим источникам данных. Cursor IDE поддерживает интеграцию через MCP-серверы.

С помощью Node.js и npm-пакетов можно быстро подключить MySQL, после чего ИИ будет выполнять запросы и работать с реальными данными. Это повышает точность, упрощает анализ и делает разработку более эффективной.

Комментарии