MCP-сервер за 20 минут: подключил Claude к своей БД

Влад Лямин9 мин чтенияClaude CodeMCPбаза данныхинтеграция

У каждого фаундера есть своя база данных. У меня это аналитическая PostgreSQL, куда стекаются данные по блогу: просмотры статей, источники трафика, поисковые запросы. Раньше, чтобы получить хоть какую-то аналитику или ответить на вопрос «какая статья сработала лучше всего в прошлом месяце?», я открывал DBeaver, писал SQL-запросы, порой довольно сложные, и тратил на это часы. Это тормозит принятие решений. А если ты не разработчик, твои данные вообще лежат мертвым грузом.

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

Почему Claude нужен доступ к вашей базе данных?

В 2024 году нейросети давно перестали быть просто чат-ботами. Claude — это полноценный ИИ-ассистент для разработчиков и не только. Но даже самый умный ассистент бесполезен, если у него нет доступа к нужной информации. Слишком часто я видел, как люди используют Claude только для написания кода, забывая о его потенциале как аналитика, способного работать с реальными данными.

Мой блог — это 29 таблиц, 34 мегабайта данных, 213 постов. Если мне нужно понять, о чём писать дальше, или оценить эффективность новой рубрики, раньше это был отдельный проект. Я мог потратить полдня на ручные запросы, сводил цифры в таблицу, чтобы потом увидеть паттерн. Это медленно и дорого.

Model Context Protocol (MCP) изменил всё. Это открытый стандарт, который позволяет Claude напрямую взаимодействовать с внешними инструментами и источниками данных. Представьте, что вы дали своему самому умному аналитику полный доступ к вашей базе, и он понимает вас с полуслова. Вы спрашиваете: «покажи топ-10 статей по просмотрам за февраль 2024 года», и он сам пишет SQL, выполняет его, возвращает результат. Это новый уровень скорости принятия решений.

Что такое MCP-сервер и зачем он вам?

MCP-сервер — это специальный сервис, который выступает посредником между Claude и вашим инструментом, в нашем случае — базой данных. Он переводит запросы Claude на язык, понятный базе, и наоборот. Это API-шлюз с дополнительной логикой.

Для чего это нужно:

  1. Естественный язык для запросов: Больше никаких SQL-запросов вручную, если вы не хотите. Просто задайте вопрос на русском.
  2. Глубокий анализ данных: Claude не просто выполняет запросы, он может анализировать схему базы данных, понимать связи между таблицами и предлагать инсайты, которые вы могли пропустить. Как я писал в статье про анализ бизнес-данных с помощью ИИ, это освобождает голову от рутины.
  3. Безопасность: Вы контролируете, к каким данным имеет доступ Claude. MCP-сервер можно настроить как read-only, то есть только для чтения, что важно для продакшен-баз.
  4. Скорость: Получаете ответы на свои вопросы в разы быстрее, чем если бы вы ждали аналитика или писали запросы сами.

Claude может подключаться к сотням внешних инструментов через MCP, и база данных — один из самых мощных вариантов. Подробнее про документацию можно почитать на официальном сайте Anthropic. (Примечание: "Claude Code Docs" не является официальным названием документации Anthropic, а "code.claude.com" не является официальным доменом Anthropic для документации по API. Документация по MCP находится в рамках общей документации Anthropic API).

Шаг 1: Подготовка базы данных к интеграции с Claude

Прежде чем мы приступим к развертыванию MCP-сервера, нужно убедиться, что ваша база данных готова к взаимодействию. Я буду использовать PostgreSQL, но описанные принципы применимы к любой реляционной БД.

Создание пользователя с ограниченными правами

Важно: никогда не давайте ИИ-асистенту доступ к вашей базе данных под учетной записью с полными правами. Создайте отдельного пользователя, который будет иметь только права на чтение (SELECT) тех таблиц, к которым вы хотите дать доступ.

Пример для PostgreSQL:

CREATE USER claude_user WITH PASSWORD 'your_secure_password';
GRANT CONNECT ON DATABASE your_database_name TO claude_user;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO claude_user;
-- Если у вас есть другие схемы, повторите для них
-- GRANT SELECT ON ALL TABLES IN SCHEMA your_schema_name TO claude_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO claude_user;

Это гарантирует, что Claude сможет только читать данные, но не изменять или удалять их. Для большинства аналитических задач этого более чем достаточно.

Убедитесь, что ваша база доступна извне (или через VPN)

Если ваш MCP-сервер будет работать на отдельной машине или в облаке, убедитесь, что он сможет подключиться к вашей базе данных. Это может потребовать настройки файрвола или VPN. Для тестовых целей, если MCP-сервер и БД на одной машине, это не проблема.

Шаг 2: Установка и настройка PostgreSQL MCP-сервера

Теперь, когда база данных готова, перейдем к установке и настройке MCP-сервера. Я использую готовый PostgreSQL MCP-сервер от UshurbakiyevDavlat, который я нашёл на GitHub UshurbakiyevDavlat/PostgresMCP. Он написан на TypeScript и идеально подходит для нашей задачи.

Установка Node.js и npm

Если у вас ещё нет Node.js, установите его. Это займет пару минут.

# Для Ubuntu/Debian
sudo apt update
sudo apt install nodejs npm

# Для macOS с Homebrew
brew install node

Загрузка и установка MCP-сервера

  1. Клонируйте репозиторий:

    git clone https://github.com/ushurbakiyevdavlat/postgresmcp.git
    cd postgresmcp
    
  2. Установите зависимости:

    npm install
    
  3. Настройка переменных окружения:

    Создайте файл .env в корневой директории проекта и добавьте туда данные для подключения к вашей базе данных.

    # .env
    DB_HOST=localhost
    DB_PORT=5432
    DB_USER=claude_user
    DB_PASSWORD=your_secure_password
    DB_NAME=your_database_name
    MCP_PORT=8080 # Порт, на котором будет работать MCP-сервер
    

    Замените your_secure_password и your_database_name на свои значения.

  4. Запуск MCP-сервера:

    npm start
    

    Если всё настроено правильно, вы увидите сообщение о том, что сервер запущен на указанном порту (например, MCP server running on port 8080).

Поздравляю! Ваш MCP-сервер для PostgreSQL готов. Это реально заняло не больше 20 минут, если не считать время на установку Node.js.

Шаг 3: Подключение MCP-сервера к Claude

Теперь, когда MCP-сервер работает, осталось самое простое — дать Claude адрес, куда стучаться.

  1. Откройте Claude: Зайдите в свой аккаунт Claude.

  2. Перейдите в настройки инструментов: Обычно это находится в разделе Settings или Tools. (Примечание: Anthropic не предоставляет публичного интерфейса для самостоятельного подключения MCP-серверов пользователями Claude. MCP — это концепция, используемая разработчиками для интеграции своих приложений с моделями Claude через API. Если речь идет о пользовательском интерфейсе, то это может быть кастомное приложение, использующее Claude API).

  3. Добавьте новый MCP-сервер: Выберите опцию добавления нового MCP-сервера и введите URL вашего сервера. Если вы запускали его локально, это будет http://localhost:8080 (или любой порт, который вы указали в .env).

    Официальная документация по подключению серверов MCP доступна здесь. (Примечание: Прямой ссылки на "mcp-quickstart" в документации Anthropic нет, MCP является частью общей концепции использования моделей через API).

  4. Проверьте соединение: Claude обычно предлагает кнопку для проверки соединения. Убедитесь, что всё работает.

После успешного подключения вы увидите ваш PostgreSQL MCP-сервер в списке доступных инструментов Claude. Теперь вы можете использовать его в своих промптах.

Как это работает на практике: ИИ-аналитик для моего блога

Когда я подключил свою аналитическую базу к Claude через MCP, я почувствовал, что мой "второй мозг" наконец-то получил доступ к реальным данным. Вместо того чтобы открывать DBeaver, я теперь просто пишу в Claude:

Покажи мне топ-5 самых просматриваемых статей за последний месяц, с указанием количества просмотров и даты публикации.

Claude принимает этот запрос, анализирует схему моей базы данных (благодаря MCP-серверу, который предоставляет ему эту информацию), генерирует соответствующий SQL-запрос, выполняет его через MCP-сервер, и возвращает мне отформатированный результат. Вот пример того, что я могу получить:

SELECT title, views_count, published_at
FROM articles
WHERE published_at >= DATE('now', '-1 month')
ORDER BY views_count DESC
LIMIT 5;

А потом выдаёт мне:

1. "Как ИИ помогает писать тексты: не вместо вас, а рядом" (12400 просмотров, 2024-06-15)
2. "ИИ для принятия решений: как я перестал застревать в неопределённости" (11800 просмотров, 2024-06-20)
3. "Делегирование ИИ: какую рутину убрать со своего стола прямо сейчас" (10500 просмотров, 2024-06-01)
4. "Claude vs ChatGPT vs Gemini: честное сравнение для рабочих задач фаундера" (9800 просмотров, 2024-06-10)
5. "Голосовые заметки + ИИ: как я превращаю мысли в задачи за 10 минут" (9100 просмотров, 2024-06-25)

Это не просто список статей. Claude может пойти дальше:

Проанализируй, есть ли корреляция между длиной статьи и количеством просмотров за последний квартал.

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

Подобные возможности открывают горизонты не только для аналитики, но и для отладки, мониторинга и даже автоматического формирования отчетов. Как я писал ранее, MCP-серверы для Claude позволяют подключить всё что угодно, будь то Telegram или базу данных, что значительно расширяет возможности ИИ-ассистента. Подробнее об этом можно почитать на Хабре.

Частые вопросы об интеграции Claude и баз данных

Что такое Claude и MCP?

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

Насколько безопасно давать Claude доступ к моей базе данных?

При правильной настройке это безопасно. Вы создаете отдельного пользователя с ограниченными правами (только SELECT), и MCP-сервер выступает прослойкой, через которую проходят запросы. Claude не имеет прямого доступа к файлам вашей БД.

Можно ли использовать MCP с другими базами данных, кроме PostgreSQL?

Да, концепция MCP универсальна. Существуют или могут быть разработаны MCP-серверы для MySQL, MongoDB, SQLite и других баз данных. Главное — иметь соответствующий коннектор и логику на стороне MCP-сервера.

Нужно ли быть разработчиком, чтобы настроить MCP-сервер?

Базовые навыки работы с командной строкой и понимание концепций баз данных помогут. Представленный гайд максимально упрощает процесс, но без минимального технического бэкграунда может быть сложно. Однако, если вы фаундер, который хочет принимать решения быстрее, инвестиция в эти знания окупится с лихвой.

Какие ещё возможности открывает MCP помимо работы с БД?

MCP позволяет интегрировать модели Claude практически с любым инструментом, у которого есть API. Это могут быть системы управления проектами (Jira, Asana), CRM, Telegram, GitHub, внутренние корпоративные инструменты. Я активно использую это для построения "второго мозга" на ИИ, как описано здесь.

Этот процесс — стратегическое решение, которое позволяет вам использовать свои данные вместо того, чтобы они просто лежали мертвым грузом. Claude с доступом к вашей базе данных становится мощным ИИ-аналитиком, способным отвечать на ваши бизнес-вопросы в реальном времени.

Если вы хотите системно разобраться в работе с ИИ и Claude, понять, как это применить в своём бизнесе без лишних трат и головной боли, у меня есть гайд «ИИ вместо команды». Там я собрал готовые системы и команды, которые настраиваются за вечер, и позволяют вам делегировать рутину ИИ, освобождая время для роста.

AI-аудит

Автоматизируйте свой бизнес с AI

Напишите «Аудит» в Telegram — разберу ваши процессы и предложу конкретное решение

Написать в Telegram →