Postgres MCP — MCP-сервер для Claude Code: доступ к PostgreSQL
Даёт агенту карту схем и таблиц PostgreSQL и безопасные запросы на чтение. Пригодится, когда нужно, чтобы модель смотрела на реальную базу, а не угадывала имена.
claude mcp add --env MCP_KEY_HOST=<MCP_KEY_HOST> --env MCP_KEY_PORT=<MCP_KEY_PORT> --env MCP_KEY_NAME=<MCP_KEY_NAME> --env MCP_KEY_USER=<MCP_KEY_USER> --env MCP_KEY_PASS=<MCP_KEY_PASS> --transport stdio edelciomolina-postgres-mcp -- npx -y @edelciomolina/postgres-mcpЧто делает Postgres MCP
Postgres MCP — сервер на @modelcontextprotocol/sdk и pg. Он строит для модели карту базы: схемы, таблицы, столбцы, внешние ключи, связи между таблицами, а также отмечает уровень риска и к каким доменам относятся данные. Всё это берётся из настоящей схемы, а не придумывается.
По умолчанию сервер работает в режиме только чтения: записи, DDL и произвольный SQL отключены, пока вы сами не разрешите их. Инструмент pg_classify_query_risk позволяет модели проверить запрос на безопасность перед запуском. Учётные данные сервер читает из .env при старте, поэтому в mcp.json они не хранятся. Каждый инструмент включается отдельно через аргумент tool=<name>.
Нужен Node.js версии 18 или новее и файл .env с данными подключения. Если включить пишущие инструменты, но забыть про POSTGRES_MCP_ALLOW_WRITE=true в env, сервер завершится при запуске — это стоит проверить до первого подключения.
Какие задачи решает
- посмотреть реальную схему базы перед написанием запроса
- проверить запрос на риск до его выполнения
- дать агенту доступ к PostgreSQL без записи в него
- подключиться к базе по строке подключения из
DATABASE_URL - включать только нужные инструменты работы с базой
Примеры запросов агенту
- Покажи схему таблицы
ordersи её внешние ключи - Проверь этот запрос на риск перед запуском
- Подключись к базе и опиши, к каким доменам относятся таблицы
Как установить Postgres MCP
Командой платформы
claude mcp add --env MCP_KEY_HOST=<MCP_KEY_HOST> --env MCP_KEY_PORT=<MCP_KEY_PORT> --env MCP_KEY_NAME=<MCP_KEY_NAME> --env MCP_KEY_USER=<MCP_KEY_USER> --env MCP_KEY_PASS=<MCP_KEY_PASS> --transport stdio edelciomolina-postgres-mcp -- npx -y @edelciomolina/postgres-mcpВместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
codex mcp add edelciomolina-postgres-mcp --env MCP_KEY_HOST=<MCP_KEY_HOST> --env MCP_KEY_PORT=<MCP_KEY_PORT> --env MCP_KEY_NAME=<MCP_KEY_NAME> --env MCP_KEY_USER=<MCP_KEY_USER> --env MCP_KEY_PASS=<MCP_KEY_PASS> -- npx -y @edelciomolina/postgres-mcpВместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"mcpServers": {
"edelciomolina-postgres-mcp": {
"command": "npx",
"args": [
"-y",
"@edelciomolina/postgres-mcp"
],
"env": {
"MCP_KEY_HOST": "<MCP_KEY_HOST>",
"MCP_KEY_PORT": "<MCP_KEY_PORT>",
"MCP_KEY_NAME": "<MCP_KEY_NAME>",
"MCP_KEY_USER": "<MCP_KEY_USER>",
"MCP_KEY_PASS": "<MCP_KEY_PASS>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Файл настроек
{
"servers": {
"edelciomolina-postgres-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@edelciomolina/postgres-mcp"
],
"env": {
"MCP_KEY_HOST": "<MCP_KEY_HOST>",
"MCP_KEY_PORT": "<MCP_KEY_PORT>",
"MCP_KEY_NAME": "<MCP_KEY_NAME>",
"MCP_KEY_USER": "<MCP_KEY_USER>",
"MCP_KEY_PASS": "<MCP_KEY_PASS>"
}
}
}
}Вместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
Командой платформы
gemini mcp add -e MCP_KEY_HOST=<MCP_KEY_HOST> -e MCP_KEY_PORT=<MCP_KEY_PORT> -e MCP_KEY_NAME=<MCP_KEY_NAME> -e MCP_KEY_USER=<MCP_KEY_USER> -e MCP_KEY_PASS=<MCP_KEY_PASS> edelciomolina-postgres-mcp npx -y @edelciomolina/postgres-mcpВместо <…> подставьте свои значения. Ещё 1 переменная окружения — в README сервера
По шагам, с командами для каждой платформы: Как подключить MCP-сервер: Claude Code, Codex, Cursor, VS Code, Gemini CLI и другие
Вопросы о Postgres MCP
Как установить Postgres MCP в Claude Code?
Выполните claude mcp add postgres-mcp -- npx -y @edelciomolina/postgres-mcp. Если нужны свои привязки ключей, используйте вторую команду с `--env MCP_KEY_HOST=<MCP_KEY_HOST> --env MCP_KEY_PORT=<MCP_KEY_PORT> --env MCP_KEY_NAME=<MCP_KEY_NAME> --env MCP_KEY_USER=<MCP_KEY_USER> --env MCP_KEY_PASS=<MCP_KEY_PASS> --transport stdio edelciomolina-postgres-mcp -- npx -y @edelciomolina/postgres-mcp`.
Что делает Postgres MCP?
Строит для модели карту схем, таблиц, столбцов и связей PostgreSQL и даёт инструменты для работы с базой. По умолчанию доступно только чтение.
Нужно ли что-то настраивать для записи в базу?
Да. Пишущие инструменты включаются явно через tool=<name>, и без POSTGRES_MCP_ALLOW_WRITE=true в env сервер не запустится.