MCP Registry: как подключить Claude к любой БД

Влад Лямин9 мин чтенияClaude CodeMCP Registryинтеграциябаза данных
MCP Registry: как подключить Claude к любой БД

Вы когда-нибудь ловили себя на мысли: «Вот бы Claude сам сходил в мою базу данных, вытащил нужные цифры и выдал отчёт, пока я пью кофе»? Я ловлю постоянно. И это настраивается за один вечер — без своего бэкенда, без прослойки, без единой написанной строчки серверного кода.

Ниже — рабочий путь: где искать готовый MCP-сервер под вашу базу, какой командой его подключить, как проверить, что соединение живое, и как сделать так, чтобы конфиг уезжал вместе с проектом в репозиторий.

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

Модели хороши в обработке информации, но у многих фаундеров и разработчиков они до сих пор работают в вакууме: человек руками копирует данные из админки в чат, получает ответ, копирует обратно. В моей практике самая заметная разница появляется ровно в тот момент, когда Claude перестаёт зависеть от копипасты и получает доступ к реальным данным.

Выглядит это так: вы спрашиваете «сколько новых пользователей пришло за прошлую неделю и какой у них средний чек» — Claude сам идёт в PostgreSQL, пишет запрос, показывает его вам, выполняет и возвращает ответ. Никаких промежуточных интерфейсов, только диалог.

Работает это благодаря Model Context Protocol (MCP) — открытому стандарту, через который Claude Code общается с внешними системами. Если хотите шире посмотреть на возможности Claude Code, у меня есть отдельный разбор: 5 навыков Claude Code, экономящих часы еженедельно.

Что такое MCP Registry и как он связан с базой данных

MCP — это протокол, на котором Claude Code разговаривает с внешними инструментами: базами данных, API, вашими внутренними сервисами. Каждый такой инструмент оформлен как MCP-сервер: отдельная программа, которая объявляет набор своих инструментов и выполняет их по запросу модели.

MCP Registry — это каталог таких серверов. Официальный живёт по адресу registry.modelcontextprotocol.io, у него есть и веб-интерфейс для поиска, и API. Есть второй источник — каталог коннекторов Anthropic с проверенными удалёнными серверами; они работают на той же инфраструктуре MCP, поэтому любой из них добавляется в Claude Code той же командой.

Практический вывод простой: писать свой сервер для типовой базы почти никогда не нужно. Под PostgreSQL, MySQL, SQLite, ClickHouse, MongoDB, Supabase уже есть готовые. Ваша работа — найти нужный в реестре, прочитать в его README, какие параметры он ждёт, и подключить.

Шаг 1: установить Claude Code

Если Claude Code ещё не стоит, самый простой способ — нативный установщик.

curl -fsSL https://claude.ai/install.sh | bash

На macOS можно через Homebrew:

brew install --cask claude-code

Отдельной команды логина нет. Запускаете claude в терминале, и при первом запуске он сам предложит войти через браузер — подпиской Claude или аккаунтом Claude Console. Сменить аккаунт потом можно командой /login прямо внутри сессии.

claude

Шаг 2: выбрать MCP-сервер под вашу базу

Дальше нужен сервер, который умеет ходить в вашу СУБД. Для примера возьму dbhub — универсальный сервер, который поддерживает PostgreSQL, MySQL, MariaDB, SQL Server и SQLite. Он запускается через npx, ставить его заранее не нужно.

Что стоит выяснить про любой сервер до подключения:

  • как он принимает строку подключения — аргументом командной строки или переменной окружения;
  • есть ли у него режим только для чтения;
  • какие инструменты он отдаёт модели (обычно перечислены в README).

Отдельно про доступы: заведите для этой истории отдельную учётную запись в базе с правами только на чтение. Это самая дешёвая страховка из всех возможных, и делается она один раз.

Шаг 3: подключить сервер одной командой

Локальные серверы Claude Code запускает как подпроцесс и общается с ними через stdio. Базовый синтаксис такой:

claude mcp add [опции] <имя> -- <команда> [аргументы...]

Всё, что идёт после --, передаётся серверу как есть. Двойной дефис здесь обязателен: без него Claude Code попытается разобрать флаги сервера (--dsn, --port и подобные) как свои собственные.

Для PostgreSQL команда выглядит так:

claude mcp add --transport stdio db -- npx -y @bytebase/dbhub \
  --dsn "postgresql://readonly:pass@prod.db.com:5432/analytics"

Здесь db — имя, которое вы придумываете сами. По нему сервер будет виден в списке и по нему же его можно будет удалить. Строку подключения замените на свою.

Если сервер ждёт секреты через переменные окружения, передайте их флагом --env:

claude mcp add --env DATABASE_URL=postgresql://... --transport stdio db \
  -- npx -y some-db-mcp-server

Одна тонкость: имя сервера нельзя ставить сразу после --env, иначе CLI прочитает его как ещё одну пару KEY=value. Поставьте между ними любую другую опцию, как в примере выше.

Удалённые серверы, которые живут по URL, подключаются через транспорт http. Например, у Supabase MCP-сервер размещённый:

claude mcp add --transport http supabase \
  "https://mcp.supabase.com/mcp?project_ref=ВАШ_PROJECT_REF&read_only=true"

После добавления такого сервера зайдите в сессию claude, наберите /mcp, выберите supabase и нажмите Authenticate — откроется браузер, где вы подтвердите доступ.

Шаг 4: проверить, что соединение живое

Подтверждение «Added» означает только то, что запись сохранилась, а не то, что сервер запустился. Проверяем:

claude mcp list

Каждый сервер выводится со статусом. ✓ Connected — всё в порядке. ! Needs authentication — нужен вход через браузер или токен. ✗ Failed to connect — сервер не поднялся: чаще всего это опечатка в строке подключения или сеть до базы.

Детали по конкретному серверу:

claude mcp get db

Если что-то не заводится, запустите команду сервера напрямую в терминале — она покажет настоящую ошибку. Первый запуск через npx бывает медленным, пока качается пакет; на этот случай есть переменная MCP_TIMEOUT в миллисекундах:

MCP_TIMEOUT=60000 claude

Удаляется сервер так же просто:

claude mcp remove db

Шаг 5: первый запрос

Запускаете claude в проекте и пишете обычным текстом, без всяких префиксов и упоминаний протокола:

Покажи 5 последних заказов из таблицы orders: id, user_id, amount, created_at

Claude сам решит, что для этого нужен ваш MCP-сервер, сформулирует SQL и покажет его вам. При первом вызове инструмента он спросит разрешение — это и есть та точка, где вы видите запрос до того, как он уйдёт в базу. Дальше в выводе каждый вызов помечен именем сервера, так что видно, что ответ пришёл из базы, а не из головы модели.

Схему таблиц он тоже может спросить сам:

Покажи схему таблицы orders

Чтобы конфиг ехал вместе с проектом

По умолчанию claude mcp add пишет сервер в область local: только для вас и только в текущем проекте. Есть ещё две области, обе переключаются флагом --scope:

  • --scope user — сервер доступен во всех ваших проектах;
  • --scope project — конфиг пишется в файл .mcp.json в корне проекта и коммитится в репозиторий.

Третий вариант удобен, когда вы хотите, чтобы у любого, кто клонирует проект, набор инструментов поднялся сам. Файл можно и написать руками:

{
  "mcpServers": {
    "db": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@bytebase/dbhub", "--dsn", "postgresql://readonly:pass@host:5432/analytics"]
    },
    "supabase": {
      "type": "http",
      "url": "https://mcp.supabase.com/mcp?project_ref=ВАШ_PROJECT_REF&read_only=true"
    }
  }
}

Claude Code читает .mcp.json при старте сессии, так что после правки файла сессию надо перезапустить. И в первый раз он спросит подтверждение на каждый сервер из этого файла — защита от того, чтобы клонированный репозиторий не запускал у вас процессы молча.

Строку подключения с паролем в репозиторий, разумеется, класть не надо. В .mcp.json поддерживается подстановка переменных окружения, так что секрет держите в окружении, а в файле оставляйте ссылку на него.

Чтобы Claude понимал вашу предметную область

Схему таблиц он вытащит сам. А вот что status = 3 означает «оплачен, но не отгружен», а тестовые аккаунты отсекаются по домену в почте — не вытащит. Это живёт в файле CLAUDE.md в корне проекта: ключевые таблицы, что означают статусы, какие записи считать мусорными, какие метрики как считаются у вас в компании.

Claude Code читает этот файл автоматически в каждой сессии. По ощущениям, именно он даёт основной прирост точности: без него модель пишет формально корректный SQL с неверной бизнес-логикой. Подробнее про то, как вообще устроен контекст, я писал в статье ИИ-контекст: почему файлы на компьютере важнее чем платная память у ChatGPT.

Как это выглядит на реальном проекте

Я настраивал такую связку для клиента — фаундера SaaS-проекта. Он тратил несколько часов в неделю на ручные отчёты по активности пользователей, конверсии и удержанию: заходил в админку, копировал данные, сводил в Excel.

Я подключил Claude Code к его PostgreSQL через MCP-сервер с доступом только на чтение и описал структуру базы в CLAUDE.md. Теперь он открывает Claude Code и пишет:

Сделай отчёт по активности за последний месяц: новые регистрации,
активные пользователи (был хотя бы один вход), среднее время сессии

Claude генерирует несколько запросов, выполняет их через MCP-сервер, агрегирует результат и выдаёт готовый отчёт.

По его оценке, это экономит 3-4 часа в неделю. Важнее другого: пропала пауза между вопросом и цифрой. Раньше проверка гипотезы означала «поставлю задачу, посмотрю завтра», теперь — минуту разговора.

Частые вопросы

Можно ли подключить Claude Code к любой базе данных?

Практически. MCP — открытый протокол, серверы есть под все распространённые SQL- и NoSQL-базы. Если под вашу экзотику готового нет, сервер пишется самостоятельно на официальном MCP SDK — это обычная программа, которая объявляет набор инструментов и обрабатывает их вызовы.

Насколько это безопасно?

Основная защита — на стороне базы, а не на стороне модели. Заведите отдельную учётную запись с правами только на чтение и только на нужные таблицы; многие MCP-серверы дополнительно умеют режим read-only. Claude Code сверху запрашивает подтверждение при вызове инструментов, так что запрос вы видите до выполнения. Но полагаться только на этот запрос не стоит: права в базе надёжнее.

Нужно ли уметь программировать?

Чтобы подключить готовый сервер — нет, хватит умения работать с терминалом и знания строки подключения к базе. Чтобы написать свой сервер — да, нужен Node.js или Python.

Может ли Claude писать миграции?

Может, если у сервера есть инструменты на запись, а у учётной записи — соответствующие права. Я бы не давал такие права на продовую базу: пусть Claude генерирует файл миграции, а применяете вы сами через обычный пайплайн.

Много ли серверов можно подключить сразу?

Технически много, практически — не увлекайтесь. Каждый подключённый сервер занимает место в контекстном окне, потому что имена его инструментов и инструкции грузятся в каждую сессию. Серверы, которыми вы не пользуетесь, лучше удалять командой claude mcp remove.

Где почитать первоисточник?

Полный справочник по MCP в Claude Code — в документации, пошаговое руководство по первому подключению — в MCP quickstart.

Что делать дальше

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

AI-аудит

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

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

Написать в Telegram →