pgEdge Postgres MCP

pgEdge Postgres MCP Server

Postgres MCP на Go с запросами в режиме чтения, планами EXPLAIN, поиском по смыслу, несколькими базами, чат-клиентом и веб-интерфейсом

  • 239 ★ репозитория
  • Последний коммит
  • PostgreSQL
MCP-сервер

Расширенный доступ

Почему такой уровень

  • Модель читает всю схему и данные базы, в том числе персональные, а подписи таблиц и результаты запросов попадают к ее поставщику
  • Запись включается флагом allow_writes, после чего агент меняет данные с правами пользователя базы
Все причины и проверки

pgedge/pgedge-postgres-mcp

Установка

Ручная установка

sudo apt-get install -y pgedge-postgres-mcp

Сначала подключите репозиторий пакетов pgEdge. Бинарник ставится в /usr/bin/pgedge-postgres-mcp, конфигурация лежит в /etc/pgedge/postgres-mcp.yaml. Для RHEL, Rocky и Alma команда dnf install -y pgedge-postgres-mcp.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Модель читает всю схему и данные базы, в том числе персональные, а подписи таблиц и результаты запросов попадают к ее поставщику
  • Запись включается флагом allow_writes, после чего агент меняет данные с правами пользователя базы

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Postgres MCP от pgEdge — сервер на Go, который дает агенту SQL-запросы к базам PostgreSQL 14 и новее. Параметры подключения лежат в YAML-файле или в переменных `PGHOST`, `PGPORT`, `PGDATABASE`, `PGUSER` и `PGPASSWORD`. В файле можно описать несколько баз, и у каждой отдельно включается запись флагом `allow_writes`. По умолчанию каждый запрос выполняется в транзакции только на чтение. Встроенные инструменты: `query_database` выполняет SQL, `get_schema_info` показывает схему, `count_rows` считает строки таблицы с фильтром, `execute_explain` строит план запроса с реальным временем, `similarity_search` ищет по смыслу и по словам (BM25 и MMR), `generate_embedding` получает вектор текста у OpenAI, Voyage AI, Google Gemini или Ollama, а `search_knowledgebase` ищет по подключенной базе знаний. Каждый инструмент отключается в конфиге, и отключенный не попадает в список для модели. Есть ресурс `system_info` и четыре готовых сценария: исследование базы, настройка семантического поиска, разбор медленного запроса и проектирование схемы. Сервер работает по stdio для локального клиента или по HTTP с пользователями, токенами с истечением срока и входом через OAuth. Вместе с ним в репозитории идут чат-клиент на Go, который запускает сервер как дочерний процесс, и веб-интерфейс на React для вопросов к базе обычным языком.

Для кого. Для разработчиков, аналитиков и администраторов баз, которые работают с PostgreSQL из Claude Code, Cursor, Windsurf или VS Code с Copilot и хотят получить схему, запросы и планы EXPLAIN без ручного SQL. Подходит внутренним командам с доверенными пользователями.

Подходит, если

  • Агенту нужно показать схему базы и ответить на вопрос по данным, не давая ему права записи
  • Медленный запрос надо разобрать по плану EXPLAIN ANALYZE и понять, где не хватает индекса
  • В базе хранятся тексты с векторами, и вопросы к ним нужны по смыслу, а не только по ключевым словам
  • Один сервер должен обслуживать несколько баз и нескольких пользователей с токенами и сроком их действия
  • Нужен готовый веб-интерфейс или чат в терминале, чтобы коллеги без агента задавали вопросы базе обычным языком

Не подходит, если

  • База стоит за общедоступным приложением: автор относит сервер к внутренним инструментам и для открытых сервисов советует свой RAG-сервер
  • Версия PostgreSQL ниже 14: поддерживаются только 14 и новее
  • Нужен сервер с подбором индексов и проверкой состояния базы: такие задачи решает запись postgres-mcp-pro
  • Нет возможности завести YAML-конфиг и, для режима HTTP, пользователей: в этом режиме аутентификация включена по умолчанию

Пример запроса к агенту

Покажи схему базы orders, посчитай заказы со статусом pending и разбери планом EXPLAIN запрос, который ищет их по email клиента

MCP

Транспорт
stdio, http
Авторизация
не нужна

Переменные окружения

PGHOST
Хост PostgreSQL, если база задана переменными, а не YAML-файлом
PGDATABASE
Имя базы данных
PGUSER
Пользователь PostgreSQL, лучше с правами только на чтение
PGPASSWORD секрет
Пароль пользователя PostgreSQL

Ограничения

  • Автор предупреждает, что сервер дает модели чтение всей схемы и данных базы, и не рекомендует его для общедоступных приложений.
  • Встроенные чат-клиент и веб-интерфейс требуют ключ Anthropic или OpenAI либо локальную Ollama. Для веб-интерфейса в конфиге включается раздел `llm`.
  • Эмбеддинги и поиск по базе знаний выключены по умолчанию. Для них нужен провайдер: ключ OpenAI, Voyage AI или Gemini либо запущенная Ollama с моделью эмбеддингов.
  • В режиме HTTP вход обязателен: пользователя создают флагом `-add-user` до запуска сервера. Установка из Docker Compose работает только в режиме HTTP и требует `PGEDGE_HTTP_ENABLED=true` в файле `.env`.
  • Для stdio-клиентов нужен бинарник на диске или команда `docker run -i --rm`.
  • Пакеты в репозиториях apt и dnf собраны для Debian, Ubuntu, RHEL, Rocky и Alma, на других системах сервер собирают из исходников на Go 1.21 или новее.
  • Код распространяется по лицензии PostgreSQL.

Как отключить. Удалите запись pgedge из `.mcp.json` проекта или из настроек клиента и перезапустите агента. Для сервера по HTTP отзовите токены и пользователей: файлы с ними сервер перечитывает без перезапуска.

Частые вопросы

Как подключить Postgres MCP от pgEdge к Claude Code?

Поставьте пакет `pgedge-postgres-mcp` или скачайте бинарник из релизов, заведите YAML-конфиг с разделом `databases` и создайте в проекте `.mcp.json` с командой сервера и аргументами `-config` и путем к конфигу. Параметры базы можно передать и переменными `PGHOST`, `PGPORT`, `PGDATABASE`, `PGUSER` и `PGPASSWORD`.

Может ли Postgres MCP изменять данные в базе?

По умолчанию нет: запросы идут в транзакции только на чтение. Запись включается флагом `allow_writes` у конкретной базы в конфиге, поэтому для остальных баз она остается выключенной.

Какие версии PostgreSQL поддерживает сервер?

PostgreSQL 14 и новее. Для сборки из исходников нужен Go 1.21 или новее.

Нужен ли ключ Anthropic или OpenAI, чтобы пользоваться сервером?

Сам сервер отдает инструменты любому клиенту MCP, например Claude Code или Cursor, и использует их модель. Ключ нужен встроенным чат-клиенту и веб-интерфейсу: Anthropic, OpenAI или локальная Ollama. Для генерации эмбеддингов подключается отдельный провайдер.

Как включить поиск по смыслу в Postgres MCP?

В разделе `embedding` конфига включите генерацию эмбеддингов и выберите провайдера: OpenAI, Voyage AI, Gemini или Ollama. Тогда заработает `generate_embedding`, а `similarity_search` комбинирует векторный поиск с BM25 и MMR. Для поиска по своей документации включается раздел `knowledgebase`.

Можно ли подключить несколько баз и разных пользователей?

Да, в разделе `databases` перечисляют несколько баз, а параметр `available_to_users` у базы ограничивает, кто ее видит. В режиме HTTP пользователей и токены с истечением срока создают командами сервера.

Что еще входит в репозиторий кроме MCP-сервера?

Чат-клиент `pgedge-nla-cli` на Go, веб-интерфейс на React, Dockerfile для сервера, клиента и веба, документация по аутентификации, защите на уровне строк и распределенной установке.

Обсуждение

Вопросов и отзывов пока нет.

MCP-серверы

MCP-сервер для PostgreSQL с несколькими базами сразу, описаниями таблиц из каталога, подсказками по PostGIS и pgvector и планами запросов

MCP-серверРасширенный доступ541Звезды репозитория
Официальный

MCP-сервер и скиллы от TigerData, с которыми агент пишет схемы и запросы PostgreSQL по актуальной документации и практикам

MCP-серверРасширенный доступ1,9 тыс.Звезды репозитория

Postgres MCP (Microsoft)

Postgres MCP Server (Microsoft)

Postgres MCP от Microsoft: профили подключения с паролями в связке ключей ОС, вход через Entra ID для Azure, запросы, схема, CSV и метрики сервера

MCP-серверШирокий доступ61Звезды репозитория

MCP-сервер и REST API для баз данных на Go: PostgreSQL, MySQL, ClickHouse, Snowflake, BigQuery и других, с маскировкой персональных данных и кэшем

MCP-серверШирокий доступ548Звезды репозитория
Официальный

Открытый MCP-сервер Google для баз данных: готовые инструменты для Postgres, MySQL, BigQuery, Spanner и других, плюс свои инструменты в tools.yaml

MCP-серверШирокий доступ16,7 тыс.Звезды репозитория

SQL-движок на SQLite с плагинами для приложений, баз и файлов: команда anyquery mcp открывает эти данные Claude, Cursor и другим клиентам MCP

MCP-серверШирокий доступ1,8 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
pgEdge Postgres MCP (эта запись)нетне нужна239
Postgres MCP ProнетAPI-ключ3 420сервер с упором на администрирование: подбор индексов, проверка здоровья базы и планы с гипотетическими индексами, stdio и SSE
PG-MCP Serverнетне нужна541сервер на Python по SSE с несколькими базами, схемой через ресурсы и справками по PostGIS и pgvector
Postgres MCP (Microsoft)нетключ необязателен61сервер Microsoft на npx с сохраненными профилями подключения, паролями в связке ключей ОС и входом через Entra ID

Из блога

Коротко о README

Документация в папке docs разбита на разделы: быстрый старт для CLI, веб-интерфейса, Claude Code, Claude Desktop, Cursor, Windsurf и VS Code, развертывание в Docker и из исходников, справочник по инструментам, ресурсам и сценариям. Отдельно описаны аутентификация (пользователи, токены, OAuth), чек-лист безопасности, защита на уровне строк и столбцов, распределенное развертывание и свои определения инструментов. В репозитории есть тесты сервера, клиента и веб-части, схема OpenAPI, журнал изменений и данные для Cursor-плагина.

Бейдж для README

Сообщить о проблеме

Foxx AIpgEdge Postgres MCP
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.