PostgreSQL — MCP-сервер для Claude Code: что делает и как установить
Подключает ассистента к базам PostgreSQL в Docker или в облаке. Помогает безопасно изучать структуру таблиц и выполнять SQL-запросы прямо из чата.
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env PG_HOST=<PG_HOST> --env PG_PORT=<PG_PORT> --env PG_USER=<PG_USER> --env PG_PASSWORD=<PG_PASSWORD> --transport stdio postgresql -- npx -y mcp-postgres-serverЧто делает PostgreSQL
Сервер работает через npx по протоколу stdio и требует Node.js 20 или новее. Внутри задействованы библиотеки pg, zod и pg-connection-string. Для подключения достаточно передать строку DATABASE_URL либо отдельные параметры хоста и порта.
По умолчанию доступ строго ограничен чтением. Команда query оборачивает запросы в транзакцию с BEGIN READ ONLY и ROLLBACK, отсекая любые попытки изменить данные. Инструменты list_schemas, list_tables и describe_table показывают структуру таблиц и типы колонок.
Запись заблокирована на уровне сервера. Пока флаг PG_ALLOW_WRITE не равен true, инструмент execute отклонит любые INSERT или DDL-команды ещё до отправки в базу.
Какие задачи решает
- исследовать структуру таблиц и внешние ключи в незнакомой базе
- выполнять аналитические выборки через
SELECTбез риска затереть данные - получать типы колонок и ограничения перед написанием миграций
- подключаться к удалённым базам Neon или Supabase через защищённое соединение
Примеры запросов агенту
- Покажи список всех таблиц в схеме
publicэтой базы. - Опиши структуру таблицы
usersс типами колонок и первичными ключами. - Выполни запрос
SELECT count(*) FROM orders WHERE status = $1с параметромcompleted.
Как установить PostgreSQL
Командой платформы
claude mcp add --env DATABASE_URL=<DATABASE_URL> --env PG_HOST=<PG_HOST> --env PG_PORT=<PG_PORT> --env PG_USER=<PG_USER> --env PG_PASSWORD=<PG_PASSWORD> --transport stdio postgresql -- npx -y mcp-postgres-serverВместо <…> подставьте свои значения. Ещё 17 переменных окружения — в README сервера
Командой платформы
codex mcp add postgresql --env DATABASE_URL=<DATABASE_URL> --env PG_HOST=<PG_HOST> --env PG_PORT=<PG_PORT> --env PG_USER=<PG_USER> --env PG_PASSWORD=<PG_PASSWORD> -- npx -y mcp-postgres-serverВместо <…> подставьте свои значения. Ещё 17 переменных окружения — в README сервера
Файл настроек
{
"mcpServers": {
"postgresql": {
"command": "npx",
"args": [
"-y",
"mcp-postgres-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"PG_HOST": "<PG_HOST>",
"PG_PORT": "<PG_PORT>",
"PG_USER": "<PG_USER>",
"PG_PASSWORD": "<PG_PASSWORD>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 17 переменных окружения — в README сервера
Файл настроек
{
"servers": {
"postgresql": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-postgres-server"
],
"env": {
"DATABASE_URL": "<DATABASE_URL>",
"PG_HOST": "<PG_HOST>",
"PG_PORT": "<PG_PORT>",
"PG_USER": "<PG_USER>",
"PG_PASSWORD": "<PG_PASSWORD>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 17 переменных окружения — в README сервера
Командой платформы
gemini mcp add -e DATABASE_URL=<DATABASE_URL> -e PG_HOST=<PG_HOST> -e PG_PORT=<PG_PORT> -e PG_USER=<PG_USER> -e PG_PASSWORD=<PG_PASSWORD> postgresql npx -y mcp-postgres-serverВместо <…> подставьте свои значения. Ещё 17 переменных окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о PostgreSQL
Как установить PostgreSQL в Claude Code?
Выполните в терминале команду `claude mcp add --env DATABASE_URL=<DATABASE_URL> --env PG_HOST=<PG_HOST> --env PG_PORT=<PG_PORT> --env PG_USER=<PG_USER> --env PG_PASSWORD=<PG_PASSWORD> --transport stdio postgresql -- npx -y mcp-postgres-server`.
Что делает этот MCP-сервер?
Он даёт ИИ-агенту доступ к PostgreSQL для чтения схем, проверки колонок и выполнения параметризованных SQL-запросов.
Может ли агент случайно изменить данные?
По умолчанию нет. Любые операции модификации отклоняются сервером, пока в окружении явно не задан флаг PG_ALLOW_WRITE="true".