# PostgreSQL MCP Server

Даёт агенту доступ к PostgreSQL: запросы, разбор схемы, планы EXPLAIN и диагностика. По умолчанию только чтение.

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

## Что делает

Сервер подключается к базе по `DATABASE_URL` и отдаёт агенту набор инструментов: `pg_query` для SQL, `pg_list_schemas`, `pg_list_tables`, `pg_describe_table` для разбора схемы, `pg_explain` для планов, `pg_top_queries`, `pg_seq_scan_tables`, `pg_unused_indexes`, `pg_table_bloat`, `pg_inspect_locks` для диагностики. Пользовательский SQL уходит через extended query protocol, поэтому один запрос — одно выражение. Параметры подставляются через массив `params` для `$1`, `$2`.

Запись выключена, пока не выставлен `ALLOW_WRITES=1`. Отдельный инструмент `pg_readonly` остаётся только для чтения при любом значении этой переменной — его удобно разрешать в хостах, которые гейтят инструменты по одному. Рекомендуемая настройка — роль в Postgres с минимумом прав, тогда границу держит сама база. `pg_explain` с `analyze: true` для не-SELECT требует `ALLOW_WRITES=1` и откатывает транзакцию, но последовательность, которую запрос сдвинул, останется сдвинутой.

В 0.12 добавился советник по индексам `pg_index_advisor`: он оценивает кандидатов через гипотетические индексы HypoPG и на диск ничего не создаёт. Аудит-лог SQL выключен по умолчанию, значения связанных параметров в него не попадают. Нужен Node 22 или новее. Если вы на 0.12.0, обновитесь до 0.12.1: в `pg_index_advisor` SQL из аргумента `statements` мог выполниться вне транзакции только для чтения, а хост часто разрешает этот инструмент автоматически, потому что он помечен read-only.

## Требования
- Нужно: Node.js (команды через npx)
- Работает с: PostgreSQL

## Установка

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

**Командой платформы**
```bash
claude mcp add postgres-mcp -- npx -y @yawlabs/postgres-mcp
```

### Codex

**Командой платформы**
```bash
codex mcp add yawlabs-postgresql-mcp-server -- npx -y @yawlabs/postgres-mcp
```

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "yawlabs-postgresql-mcp-server": {
            "command": "npx",
            "args": [
                "-y",
                "@yawlabs/postgres-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "yawlabs-postgresql-mcp-server": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@yawlabs/postgres-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add yawlabs-postgresql-mcp-server npx -y @yawlabs/postgres-mcp
```

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

## Примеры запросов агенту
- Покажи таблицы в схеме `public` и опиши `orders`
- Сними план для `SELECT * FROM orders WHERE user_id = $1` с analyze
- Какие индексы стоит добавить для этого запроса?

## Похожие
- [World Monitor](https://affpapa.org/nevibecode/mcp/world-monitor.md) — MCP-сервер · ★ 89609
- [Scrapling MCP Server](https://affpapa.org/nevibecode/mcp/scrapling-mcp-server.md) — MCP-сервер · ★ 89899
- [MCP Toolbox for Databases](https://affpapa.org/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP-сервер · ★ 16730
- [PostHog MCP Server](https://affpapa.org/nevibecode/mcp/posthog-mcp-server.md) — MCP-сервер · ★ 40459
- [dbx](https://affpapa.org/nevibecode/mcp/dbx.md) — MCP-сервер · ★ 27844
- [Metabase](https://affpapa.org/nevibecode/mcp/metabase.md) — MCP-сервер · ★ 49863

## Другие версии с тем же именем
- [PostgreSQL MCP Server · neverinfamous](https://affpapa.org/nevibecode/mcp/neverinfamous-postgresql-mcp-server.md) — ★ 12

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