# DBeast PostgreSQL MCP

Подключает ИИ-ассистента к PostgreSQL: разбор схемы, безопасные запросы, аудит безопасности и производительности.

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 9
- Автор: snss10
- Лицензия: MIT · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/snss10/DBeast
- Обновлён: 2026-08-10
- HTML: https://affpapa.org/nevibecode/mcp/dbeast-postgresql-mcp

## Что делает

DBeast работает как локальный stdio MCP-сервер на Python. Ассистент запускает его отдельным процессом, а доступ к базе передаётся через переменные окружения — `DATABASE_URL`, `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`. HTTP-сервис поднимать не нужно, ничего лишнего в инфраструктуре не появляется.

Вместо одного универсального `execute_sql` сервер отдаёт 21 инструмент по десяти категориям: `get_schema` и `dependency_analysis` для разбора структуры, `execute_query` для чтения, `analyze_query` и `query_optimizer` для планов и индексов, `analyze_impact` для предпросмотра записи, `security_audit` и `sensitive_data_scan`, `maintenance_analysis`, `data_quality_report`, `replication_status`. Чтение ограничено автоматическим лимитом строк.

Нужен Python 3.11+ и PostgreSQL 12+. Установка описана двумя путями: из исходников через `pip install -e .` или через Docker-образ `ghcr.io/snss10/dbeast:2.0.2`. Второй вариант удобнее для Claude, Codex и Gemini CLI — команды `claude mcp add`, `codex mcp add` и `gemini mcp add` подставляют переменные окружения сами. Для Cursor, GitHub Copilot и Windsurf конфигурация прописывается вручную в JSON. Без переменных с учётными данными базы сервер не подключится.

## Требования
- Нужно: Docker
- Переменные окружения: `DATABASE_URL`, `DB_HOST`, `DB_PORT`, `DB_USER`, `DB_PASSWORD`, `DB_NAME`, `AWS_SECRET_NAME`, `AWS_REGION` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.
- Работает с: PostgreSQL

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env DB_HOST=<DB_HOST> --env DB_PORT=<DB_PORT> --env DB_USER=<DB_USER> --env DB_PASSWORD=<DB_PASSWORD> --transport stdio dbeast-postgresql-mcp -- docker run -i --rm -e DATABASE_URL -e DB_HOST -e DB_PORT -e DB_USER -e DB_PASSWORD ghcr.io/snss10/dbeast:2.0.2
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### Codex

**Командой платформы**
```bash
codex mcp add dbeast-postgresql-mcp --env DATABASE_URL=<DATABASE_URL> --env DB_HOST=<DB_HOST> --env DB_PORT=<DB_PORT> --env DB_USER=<DB_USER> --env DB_PASSWORD=<DB_PASSWORD> -- docker run -i --rm -e DATABASE_URL -e DB_HOST -e DB_PORT -e DB_USER -e DB_PASSWORD ghcr.io/snss10/dbeast:2.0.2
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "dbeast-postgresql-mcp": {
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "DATABASE_URL",
                "-e",
                "DB_HOST",
                "-e",
                "DB_PORT",
                "-e",
                "DB_USER",
                "-e",
                "DB_PASSWORD",
                "ghcr.io/snss10/dbeast:2.0.2"
            ],
            "env": {
                "DATABASE_URL": "<DATABASE_URL>",
                "DB_HOST": "<DB_HOST>",
                "DB_PORT": "<DB_PORT>",
                "DB_USER": "<DB_USER>",
                "DB_PASSWORD": "<DB_PASSWORD>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "dbeast-postgresql-mcp": {
            "type": "stdio",
            "command": "docker",
            "args": [
                "run",
                "-i",
                "--rm",
                "-e",
                "DATABASE_URL",
                "-e",
                "DB_HOST",
                "-e",
                "DB_PORT",
                "-e",
                "DB_USER",
                "-e",
                "DB_PASSWORD",
                "ghcr.io/snss10/dbeast:2.0.2"
            ],
            "env": {
                "DATABASE_URL": "<DATABASE_URL>",
                "DB_HOST": "<DB_HOST>",
                "DB_PORT": "<DB_PORT>",
                "DB_USER": "<DB_USER>",
                "DB_PASSWORD": "<DB_PASSWORD>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e DATABASE_URL=<DATABASE_URL> -e DB_HOST=<DB_HOST> -e DB_PORT=<DB_PORT> -e DB_USER=<DB_USER> -e DB_PASSWORD=<DB_PASSWORD> dbeast-postgresql-mcp docker run -i --rm -e DATABASE_URL -e DB_HOST -e DB_PORT -e DB_USER -e DB_PASSWORD ghcr.io/snss10/dbeast:2.0.2
```
Вместо <…> подставьте свои значения. Ещё 3 переменные окружения — в README сервера

## Когда брать
- разобрать схему незнакомой базы перед правками
- посмотреть план запроса и понять, почему он тормозит
- оценить, сколько строк затронет массовое обновление, до его запуска
- проверить роли, привилегии и открытые таблицы в public
- найти дубликаты и пропуски в ключевых колонках

## Примеры запросов агенту
- Покажи схему таблицы `orders` со связями и индексами
- Разбери план запроса дашборда и предложи индексы
- Проверь public на проблемы безопасности и устаревшие данные

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
