PostgreSQL MCP Server

PostgreSQL MCP Server

neverinfamousMIT
8 звёзд2 форков
PostgreSQL MCP Server — связующее звено между ИИ-ассистентами (Claude, другие MCP-клиенты) и базами данных PostgreSQL. Сервер предоставляет 278 специализированных инструментов, 24 ресурса и 21 промпт для выполнения любых операций с базами данных через естественный язык. Ключевая особенность — Code Mode. Вместо множества последовательных вызовов инструментов, сложные сценарии выполняются в одном изолированном V8-окружении (worker_threads). Это резко снижает расход токенов и ускоряет работу. Сервер подходит для разработчиков, инженеров DevOps и аналитиков данных.

Характеристики

Общее

  • СтатусСообщество
  • Разработчикneverinfamous
  • ЛицензияMIT

Технологии

  • Языки
    TypeScript
  • Транспорт
    stdio

Описание

Возможности

  • Полный набор инструментов для работы с БД: создание и изменение таблиц, написание запросов, управление данными.
  • Code Mode — выполнение многошаговых сценариев в защищённом V8-воркере, сокращая расход токенов.
  • Автоматическая интроспекция схемы: ИИ видит структуру таблиц, индексы, внешние ключи без ваших пояснений.
  • Версионирование схемы — встроенное отслеживание миграций базы данных.
  • Умная фильтрация инструментов: ассистент сам выбирает релевантные инструменты для задачи, не засоряя контекст.
  • Поддержка расширений: pgvector (векторный поиск), PostGIS (геоданные), pgcrypto (шифрование), citext, ltree, pg_cron, HypoPG.
  • Детерминированная обработка ошибок — предсказуемое поведение при любых сбоях запросов.
  • Промпты для типовых задач: создание базы данных, настройка репликации, анализ производительности.
  • Пул соединений, HTTP/SSE Transport, OAuth 2.1 для корпоративного использования и продакшен-нагрузок.

Как подключить

Установите сервер глобально через npm:

npm install -g @neverinfamous/postgres-mcp

Или используйте Docker:

docker pull writenotenow/postgres-mcp

Добавьте конфигурацию в файл claude_desktop_config.json:

{ "mcpServers": { "postgres-mcp": { "command": "npx", "args": [ "-y", "@neverinfamous/postgres-mcp" ], "env": { "POSTGRES_CONNECTION_STRING": "postgresql://user:password@localhost:5432/your_database" } } } }

Для Docker конфигурация будет выглядеть так:

{ "mcpServers": { "postgres-mcp": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "POSTGRES_CONNECTION_STRING=postgresql://user:password@host.docker.internal:5432/your_database", "writenotenow/postgres-mcp" ] } } }

После добавления конфигурации перезапустите клиент.

Примеры запросов

  • «Покажи структуру всех таблиц в базе данных, включая индексы и внешние ключи.»
  • «Напиши запрос для расчёта средней суммы чека по каждому клиенту за последние 3 месяца.»
  • «Создай миграцию для добавления колонки «preferences» с типом JSONB в таблицу users.»
  • «Найди все повторяющиеся записи в таблице заказов и удали дубликаты.»
  • «Оптимизируй медленный запрос, который висит в pg_stat_activity.»

Технические детали

Язык разработки: TypeScript

Транспорт: stdio, HTTP/SSE

Лицензия: MIT

Совместимые клиенты: Claude Desktop, Cursor, Visual Studio Code, любые MCP-клиенты

Поддержка расширений: pgvector, PostGIS, pgcrypto, citext, ltree, pg_cron, HypoPG

Аутентификация: OAuth 2.1 (для HTTP/SSE транспорта)

Поделиться