MCP Database Server — MCP-сервер для Claude Code: SQL из фраз
MCP-сервер подключает PostgreSQL и MySQL к агенту и переводит вопросы на обычном языке в SQL. Пригодится, когда нужно посмотреть данные без ручных запросов.
claude mcp add --env DATABASE_URL=<DATABASE_URL> --transport stdio mcp-database-server -- docker run -i --rm -e DATABASE_URL docker.io/souhardyak/mcp-db-server:1.3.1Что делает MCP Database Server
Сервер поднимает FastAPI-приложение и отдаёт агенту список таблиц, схему конкретной таблицы, примеры строк и выполнение запросов. Вопросы вроде «покажи топ-5 клиентов по сумме заказов» уходят на HuggingFace transformers, оттуда возвращается SQL и структурированный результат.
Все операции только на чтение, запросы проходят валидацию, а результаты ограничены по объёму. С версии 1.4.0 HTTP-маршруты к базе требуют заголовок X-API-Key; публичным остаётся только /health. Без переменной MCP_API_KEY эти маршруты просто отключены, так что ключ придётся задать заранее. Из той же версии — привязка по умолчанию к 127.0.0.1, проверка имён таблиц по реальной схеме и поддержка sslmode=require для asyncpg.
Запуск проще всего через Docker Compose: клонируете репозиторий, генерируете ключ через openssl rand -hex 32, поднимаете контейнеры. Для локальной разработки нужен Python 3.11+ и установка зависимостей из requirements.txt. В репозитории лежит демо-база с заказами и клиентами — на ней удобно проверить связку до подключения рабочей базы.
Какие задачи решает
- посмотреть содержимое таблицы, не заходя в psql
- получить схему таблицы прямо в диалоге с агентом
- сформулировать SQL-запрос словами и увидеть результат
- вытащить несколько строк из таблицы для проверки данных
- подключить PostgreSQL или MySQL к агенту без своего кода
Примеры запросов агенту
- Покажи список таблиц в базе и число колонок в каждой
- Опиши схему таблицы
customers - Сколько заказов в каждом статусе?
Как установить MCP Database Server
Командой платформы
claude mcp add --env DATABASE_URL=<DATABASE_URL> --transport stdio mcp-database-server -- docker run -i --rm -e DATABASE_URL docker.io/souhardyak/mcp-db-server:1.3.1Вместо <…> подставьте свои значения
Командой платформы
codex mcp add mcp-database-server --env DATABASE_URL=<DATABASE_URL> -- docker run -i --rm -e DATABASE_URL docker.io/souhardyak/mcp-db-server:1.3.1Вместо <…> подставьте свои значения
Файл настроек
{
"mcpServers": {
"mcp-database-server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"docker.io/souhardyak/mcp-db-server:1.3.1"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}Вместо <…> подставьте свои значения
Файл настроек
{
"servers": {
"mcp-database-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"DATABASE_URL",
"docker.io/souhardyak/mcp-db-server:1.3.1"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>"
}
}
}
}Вместо <…> подставьте свои значения
Командой платформы
gemini mcp add -e DATABASE_URL=<DATABASE_URL> mcp-database-server docker run -i --rm -e DATABASE_URL docker.io/souhardyak/mcp-db-server:1.3.1Вместо <…> подставьте свои значения
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о MCP Database Server
Как установить MCP Database Server в Claude Code?
Одной командой: `claude mcp add --env DATABASE_URL=<DATABASE_URL> --transport stdio mcp-database-server -- docker run -i --rm -e DATABASE_URL docker.io/souhardyak/mcp-db-server:1.3.1. Подставьте свой DATABASE_URL` вместо плейсхолдера.
Что делает MCP Database Server?
Даёт агенту доступ к PostgreSQL и MySQL: список таблиц, схему, примеры данных и выполнение запросов. Вопросы на обычном языке превращаются в SQL.
Какие базы поддерживаются?
PostgreSQL и MySQL. В DATABASE_URL для PostgreSQL используется драйвер asyncpg, для MySQL — pymysql.