
Настраиваем MCP-сервер для получения контекста из базы данных MySQL
Современные IDE и редакторы кода всё чаще интегрируются с мощными инструментами, позволяющими разработчикам получать дополнительный контекст прямо в процессе написания кода.
Один из таких инструментов - MCP (Model Context Protocol), который позволяет передавать информацию от внешних источников в LLM-ассистенты.
Особенно это удобно при разработке в Cursor IDE, где в диалоге с ИИ можно использовать внешний контекст - например, подключиться к базе данных и получать оттуда нужную информацию прямо во время общения. Это помогает быстрее находить ответы, писать код с учётом реальных данных и лучше понимать, что именно нужно разработчику.
Что такое MCP?
MCP (Model Context Protocol) - это открытый стандартный протокол, запущенный компанией Anthropic, который предоставляет разработчикам мощный инструмент для установления безопасных двусторонних соединений между источниками данных и инструментами, основанными на ИИ.
MCP-архитектура
Чтобы лучше понять MCP, можно использовать простую аналогию: если ИИ подобен компьютеру, то MCP похож на USB-протокол, а серверы MCP - на различные USB-устройства (например, камеры, микрофоны и т. д.). Реализуя серверы MCP, мы можем легко подключать ИИ к различным источникам данных, существенно расширяя его функциональные возможности.
Настройка MCP-сервера
Cursor, редактор кода на базе искусственного интеллекта, теперь поддерживает MCP в качестве клиента. Это означает, что ИИ-ассистент Cursor'а может подключаться к внешним инструментам и источникам данных для расширения своих возможностей. Вы можете подключить сразу несколько серверов MCP, предоставив Cursor доступ к широкому спектру внешних инструментов.
Список подключенных MCP-серверов
По кнопке Add new global MCP Server мы можем редактировать конфигурацию MCP-серверов:
Глобальная конфигурация MCP-серверов
В объекте mcpServers мы делаем добавление описания MCP-серверов, как правило, в различных репозиториях есть инструкция, что требуется прописать для подключения.
Не всегда обязательно настраивать MCP-сервер глобально, можно так же добавлять их в рамках проекта в .cursor/mcp.json
.
Настройка MySQL и MCP-сервера
Если в у вас не развернута СУБД, то вы можете для теста развернуть с помощью Docker.
Для Ubuntu, Debian, WSL, т.д. (с Mock-данными):
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 ваши необходимые данные для доступа):
{
"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-сервера и в Output можем наблюдать его логи
Используя в начале Use Mysql, мы делаем запрос в диалоговом окне и получаем необходимую информацию из Mysql базы данных:
Вывод полученных данных прямо из MySQL базы данных
Заключение
MCP открывает прямой доступ ИИ-ассистентов к MySQL и другим источникам данных. Cursor IDE поддерживает интеграцию через MCP-серверы.
С помощью Node.js и npm-пакетов можно быстро подключить MySQL, после чего ИИ будет выполнять запросы и работать с реальными данными. Это повышает точность, упрощает анализ и делает разработку более эффективной.
Комментарии