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 →