pg-mcp-server
MCP-сервер для PostgreSQL: агент выполняет SQL, видит таблицы и схемы, запись в базу выключена, пока ее не разрешат явно
- 179 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Агент выполняет произвольный SQL по переданной строке подключения, а результаты уходят в контекст модели
- Переменная `DANGEROUSLY_ALLOW_WRITE_OPS` включает запись и удаление данных
Установка
- Работает в
В терминале, через SkillFoxx CLI
npx skillfoxx add mcp/ericzakariasson-pg-mcp-serverОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Агент выполняет произвольный SQL по переданной строке подключения, а результаты уходят в контекст модели
- Переменная `DANGEROUSLY_ALLOW_WRITE_OPS` включает запись и удаление данных
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
pg-mcp-server открывает агенту базу PostgreSQL через один инструмент `query`, который выполняет SQL-запрос. Два ресурса дополняют его: `postgres://tables` перечисляет таблицы, а `postgres://table/{schema}/{table}` отдает схему таблицы и пример данных. По умолчанию запись отключена, ее включает переменная `DANGEROUSLY_ALLOW_WRITE_OPS`. Сервер работает по stdio и по HTTP: в режиме `--transport=http` он слушает адрес `/mcp` на порту 3000 по умолчанию. Для TLS можно указать корневой сертификат в `PG_SSL_ROOT_CERT`, например пакет AWS RDS. В репозитории лежит правило Cursor для работы с ноутбуками вместе с этим сервером, а `docker-compose.yml` поднимает тестовый PostgreSQL с таблицами users, products, orders и order_items и командой `bun run inspector` для проверки через MCP Inspector.
Для кого. Аналитикам и бэкенд-разработчикам, которые хотят давать Cursor или Claude Code читать боевую или тестовую PostgreSQL без стороннего хостинга.
Подходит, если
- Нужно быстро выяснить, сколько активных пользователей в таблице users, не открывая клиент базы
- Агент разбирает чужую схему и должен увидеть таблицы и пример строк перед написанием запроса
- Анализ данных идет в ноутбуке Cursor и опирается на SQL к базе
- Подключение к AWS RDS требует корневого сертификата, и его можно передать переменной
- Сервер нужен по HTTP для клиента, который не умеет запускать процессы по stdio
Не подходит, если
- Нужны планы EXPLAIN, подбор индексов и проверка здоровья базы: для этого есть более богатые серверы
- Агент должен работать с несколькими базами за одним подключением: здесь одна строка DATABASE_URL
- База содержит персональные данные, а политика запрещает отправлять их модели
- Требуется точный разбор SQL с белым списком таблиц: инструмент один, запрос произвольный
Пример запроса к агенту
Покажи таблицы базы и схему orders, затем выведи пять последних заказов с именами клиентов.MCP
- Транспорт
- stdio, http
- Авторизация
- не нужна
Переменные окружения
DATABASE_URLобязательная, секрет- Строка подключения к PostgreSQL
DANGEROUSLY_ALLOW_WRITE_OPS- Разрешает запись в базу, по умолчанию false
DEBUG- Включает отладочные логи, по умолчанию false
PG_SSL_ROOT_CERT- Путь к корневому сертификату для TLS, например пакет AWS RDS
PORT- Порт HTTP-режима, по умолчанию 3000
Ограничения
- Одна строка подключения DATABASE_URL, один инструмент `query`. Планов EXPLAIN и подсказок по индексам нет.
- Запись включается переменной `DANGEROUSLY_ALLOW_WRITE_OPS`. Включайте ее только на тестовой базе, а боевую подключайте пользователем с правами только на чтение.
- Результаты запросов уходят в контекст модели: большие выборки ограничивайте через `LIMIT`.
- Для запуска нужен Node.js, а для сборки из исходников Bun.
Как отключить. Удалите блок postgres из конфигурации MCP-клиента. Для проверочной базы остановите Docker командой `bun run db:stop`.
Частые вопросы
Как поставить pg-mcp-server в Cursor?
Нажмите кнопку установки в README или добавьте в настройки MCP блок с командой npx и аргументами `--yes pg-mcp-server --transport stdio`. В env нужна переменная DATABASE_URL со строкой подключения.
Может ли агент менять данные в базе?
По умолчанию нет: запись отключена. Ее включает переменная `DANGEROUSLY_ALLOW_WRITE_OPS`, значение по умолчанию false. Если включать, делайте это на тестовой базе.
Как запустить сервер по HTTP?
Добавьте флаг `--transport=http`: сервер отдаст Streamable HTTP на адресе `/mcp` порта 3000, а клиент подключается к `http://localhost:3000/mcp`. Порт меняет переменная PORT.
Как проверить сервер без своей базы?
В репозитории есть `docker-compose.yml` с тестовой PostgreSQL. Команда `bun run db:start` поднимает ее с таблицами users, products, orders и order_items, а `bun run inspector` открывает MCP Inspector.
Какие ресурсы отдает сервер кроме инструмента?
Два: `postgres://tables` со списком таблиц и `postgres://table/{schema}/{table}` со схемой и примером данных выбранной таблицы.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
MCP-серверыMCP-сервер на Go: агент задает вопросы базе PostgreSQL обычными словами и получает результат запроса
MCP-сервер для PostgreSQL с несколькими базами сразу, описаниями таблиц из каталога, подсказками по PostGIS и pgvector и планами запросов
pgEdge Postgres MCP
pgEdge Postgres MCP Server
Postgres MCP на Go с запросами в режиме чтения, планами EXPLAIN, поиском по смыслу, несколькими базами, чат-клиентом и веб-интерфейсом
Postgres MCP (Microsoft)
Postgres MCP Server (Microsoft)
Postgres MCP от Microsoft: профили подключения с паролями в связке ключей ОС, вход через Entra ID для Azure, запросы, схема, CSV и метрики сервера
Один MCP-сервер для SQLite, SQL Server, PostgreSQL и MySQL: агент читает и меняет данные, правит схему и выгружает CSV и JSON
MCP-сервер и скиллы от TigerData, с которыми агент пишет схемы и запросы PostgreSQL по актуальной документации и практикам
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| pg-mcp-server (эта карточка) | нет | не нужна | 179 | |
| Postgres MCP Pro | нет | API-ключ | 3 472 | сервер с планами EXPLAIN, подбором индексов и проверкой здоровья, этот проще и ограничен одним инструментом query |
| PG-MCP Server | нет | не нужна | 541 | одноименный MCP-сервер другого автора, это отдельный проект с запуском через npx и режимом HTTP |
Коротко о README
README короткий: установка кнопкой для Cursor и JSON-фрагмент, список переменных окружения, режимы stdio и HTTP, инструмент и ресурсы, пример запроса. Дальше идут правило Cursor для ноутбуков, быстрый старт в Docker, команды разработки и процесс выпуска релизов в npm.