Postgres MCP Pro

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

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

Широкий доступ

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

  • Работает с базой данных и может менять данные в режиме unrestricted
  • Хранит учетные данные базы в конфигурации
Все причины и проверки

crystaldba/postgres-mcp

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add mcp/postgres-mcp-pro

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

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

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

Широкий доступИнструмент может менять данные, выполнять команды или работать с секретами.

  • Работает с базой данных и может менять данные в режиме unrestricted
  • Хранит учетные данные базы в конфигурации

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

Что делает

Сервер берет строку подключения DATABASE_URI при запуске и отдает агенту девять инструментов. Для схемы это list_schemas, list_objects и get_object_details, для запросов execute_sql и explain_query, причем план можно построить с гипотетическими индексами через расширение hypopg. Инструмент get_top_queries показывает самые затратные запросы по данным pg_stat_statements, а analyze_workload_indexes и analyze_query_indexes (до 10 запросов за раз) разбирают колонки из фильтров, соединений, группировок и сортировок, перебирают наборы индексов и оценивают выигрыш по стоимостной модели планировщика. Инструмент analyze_db_health проверяет кэш буферов, соединения, ограничения, дубли и неиспользуемые индексы, последовательности, vacuum и отставание реплик. Работает через stdio или SSE и ставится из Docker-образа, через pipx или через uv.

Для кого. Для бэкенд-разработчиков и администраторов PostgreSQL, которые ищут медленные запросы и проблемы в базе.

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

  • Приложение, которое сгенерировал агент, тормозит из-за ORM-запросов: он смотрит план через explain_query и проверяет гипотетический индекс, не создавая его
  • Вам досталась чужая база, и нужен быстрый осмотр: дубли индексов, последовательности, близкие к пределу, таблицы, которым пора пройти vacuum
  • На рабочей копии нужно собрать топ медленных запросов и получить рекомендации по индексам под всю нагрузку, а не под один запрос
  • Агент пишет SQL для отчета, и ему нужно сначала увидеть таблицы, колонки, ограничения и индексы, чтобы не угадывать имена
  • Вы проверяете гипотезу о новом индексе на PostgreSQL 15, 16 или 17, не создавая его на самом деле

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

  • База не PostgreSQL: для MySQL возьмите MySQL MCP Server, для ClickHouse ClickHouse MCP Server, для разных СУБД сразу MCP Toolbox for Databases
  • Нужно управлять проектами и ветками облачного сервиса, а не самой базой: смотрите Neon MCP Server или Supabase MCP Server
  • Нужна гарантия, что агент не видит данные: сервер читает таблицы через SQL, и в restricted-режиме тоже
  • Расширения pg_stat_statements и hypopg поставить нельзя, а подбор индексов вам нужен: без них этот блок недоступен

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

Подключись к базе shop через postgres, покажи топ-5 самых долгих запросов по pg_stat_statements и предложи индексы для таблицы orders, проверив их через hypopg

MCP

Транспорт
stdio, sse
Авторизация
API-ключ

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

DATABASE_URI обязательная, секрет
Строка подключения к PostgreSQL

Ограничения

Доступ: широкий в режиме unrestricted и расширенный в restricted. Сервер подключается к базе по DATABASE_URI, который вы кладете в конфиг клиента, и читает схему, статистику и данные. В режиме --access-mode=unrestricted агент может менять данные и схему. В режиме restricted работают только транзакции на чтение и лимит времени выполнения, а SQL с commit и rollback отклоняется, но защита обходится, если в базе включены небезопасные процедурные языки. Для подбора индексов нужны расширения pg_stat_statements и hypopg, первое должно стоять в shared_preload_libraries. Нужен Docker или Python 3.12, проверялись версии PostgreSQL 15, 16 и 17. Лицензия MIT.

Как отключить. Удалите блок postgres из конфигурации MCP-клиента.

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

Безопасно ли подключать Postgres MCP Pro к рабочей базе?

Запускайте с --access-mode=restricted: он оставляет только транзакции на чтение, ограничивает время выполнения и отклоняет SQL с commit и rollback. Дополнительно выдайте отдельную роль с минимальными правами, ведь авторы описывают restricted как осторожный режим и обещают доработки для рабочих баз.

Что выбрать, Docker или Python?

Авторы советуют Docker: образ crystaldba/postgres-mcp содержит все зависимости, а при установке на Python чаще встречаются проблемы окружения. Если используете Python, ставьте через pipx install postgres-mcp или uv pip install postgres-mcp.

Чем Postgres MCP Pro отличается от простого SQL-сервера?

Кроме выполнения запросов он дает проверки здоровья, разбор нагрузки и подбор индексов с моделированием через hypopg. Эти шаги выполняет фиксированный код без участия модели, поэтому результат повторяется от запуска к запуску.

Почему не работает подбор индексов?

Скорее всего, в базе нет расширений. Выполните CREATE EXTENSION IF NOT EXISTS pg_stat_statements и то же для hypopg. На своем сервере сначала добавьте pg_stat_statements в shared_preload_libraries, а hypopg может потребовать системной установки.

Как подключиться по сети, а не через stdio?

Запустите сервер с флагом --transport=sse, в Docker порт 8000 пробрасывается командой -p 8000:8000. В клиенте укажите тип sse и адрес http://localhost:8000/sse, у Windsurf поле называется serverUrl.

Как понять, что сервер подключился?

Попросите агента проверить здоровье базы: он должен вызвать analyze_db_health и вернуть сводку по индексам, соединениям и vacuum. Если ответа нет, проверьте строку DATABASE_URI тем же логином через psql.

Обсуждение

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

MCP-серверы
Официальный

Мгновенный REST и MCP поверх PostgreSQL: агент читает данные существующей базы через MCP-эндпоинт без написания бэкенда

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

Два официальных MCP-сервера Prisma: локальный для миграций и Prisma Studio и удаленный для управления базами Prisma Postgres

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

Официальный MCP-сервер Supabase: агент управляет таблицами, читает конфигурацию и данные проектов после входа через OAuth

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

Два инструмента для GraphQL: агент получает схему вашего API и выполняет запросы к нему через один эндпоинт

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

CLI pscale для баз PlanetScale на MySQL и PostgreSQL: ветки, deploy requests, SQL и диагностика, с руководством для агентов

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

MCP-сервер Apollo: превращает заданные операции GraphQL в инструменты, через которые агент работает с вашим API

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

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

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

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Postgres MCP Pro (эта запись)нетAPI-ключ3 437
PG-MCP Serverнетне нужна540MCP-сервер для PostgreSQL с несколькими базами сразу
pgEdge Postgres MCPнетне нужна241postgres MCP на Go с запросами в режиме чтения
Postgres MCP (Microsoft)нетключ необязателен68postgres MCP от Microsoft

Коротко о README

README описывает пять направлений: здоровье базы, подбор индексов, планы запросов, понимание схемы и безопасное выполнение SQL. Есть разбор демо, где с помощью сервера ускорили медленное приложение на SQLAlchemy. Установка через Docker-образ или pipx и uv, конфигурации для Claude Desktop и подсказки для Cursor и Windsurf. Поддерживаются транспорты stdio и SSE. Лицензия MIT.

Бейдж для README

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

Foxx AIPostgres MCP Pro
Foxx AI

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