PostgreSQL MCP Server · yawlabs — MCP-сервер для Claude Code: запросы к базе
Даёт агенту доступ к PostgreSQL: запросы, разбор схемы, планы EXPLAIN и диагностика. По умолчанию только чтение.
claude mcp add postgres-mcp -- npx -y @yawlabs/postgres-mcpЧто делает 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.
Какие задачи решает
- посмотреть схему чужой базы без ручных джойнов по
pg_catalog - получить план запроса и понять, где он тормозит
- найти таблицы с последовательным сканированием и неиспользуемые индексы
- разобраться, кто держит блокировку
- дать агенту доступ к базе, не рискуя потерять таблицы
Примеры запросов агенту
- Покажи таблицы в схеме
publicи опишиorders - Сними план для
SELECT * FROM orders WHERE user_id = $1с analyze - Какие индексы стоит добавить для этого запроса?
Как установить PostgreSQL MCP Server
Командой платформы
claude mcp add postgres-mcp -- npx -y @yawlabs/postgres-mcpКомандой платформы
codex mcp add yawlabs-postgresql-mcp-server -- npx -y @yawlabs/postgres-mcpФайл настроек
{
"mcpServers": {
"yawlabs-postgresql-mcp-server": {
"command": "npx",
"args": [
"-y",
"@yawlabs/postgres-mcp"
]
}
}
}Файл настроек
{
"servers": {
"yawlabs-postgresql-mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@yawlabs/postgres-mcp"
]
}
}
}Командой платформы
gemini mcp add yawlabs-postgresql-mcp-server npx -y @yawlabs/postgres-mcpПо шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о PostgreSQL MCP Server
Как установить PostgreSQL MCP Server в Claude Code?
Одной командой: claude mcp add postgres-mcp -- npx -y @yawlabs/postgres-mcp. Дальше укажите строку подключения в DATABASE_URL.
Что делает PostgreSQL MCP Server?
Отдаёт агенту инструменты для запросов к PostgreSQL, разбора схемы, планов EXPLAIN и диагностики производительности. Запись включается только через ALLOW_WRITES=1.
Чем он отличается от @modelcontextprotocol/server-postgres?
Тот пакет архивирован и не обновляется, а в нём осталась известная инъекция через несколько команд в одной строке. Здесь пользовательский SQL идёт через extended query protocol, и лишние выражения отбиваются.
Похожие MCP-серверы
Все MCP-серверы по теме «Данные и базы» →Сначала — PostgreSQL MCP Server от других авторов.