Skip to main content
Glama
krishamehta09

Postgres Analytics MCP Server

Postgres Analytics MCP Server

Сервер Model Context Protocol (MCP), который позволяет AI-ассистентам (Claude, Cursor и другим MCP-совместимым клиентам) безопасно просматривать и выполнять запросы к базе данных PostgreSQL — с принудительным режимом только для чтения, ограничениями по количеству строк и времени, а также полным журналированием аудита.

Создан, чтобы ответить на простой вопрос: как позволить AI-агенту работать с реальной базой данных, не давая ему возможности что-либо сломать?

Что он делает

После подключения AI-клиент может задавать вопросы, например:

  • «Какие таблицы есть в моей базе данных?»

  • «Покажи 10 последних заказов.»

  • «Почему этот запрос медленный?»

  • «Каким таблицам не хватает индексов?»

Сервер предоставляет 5 инструментов через MCP:

Инструмент

Назначение

list_schemas

Список всех несистемных схем

list_tables

Список таблиц в заданной схеме

run_query

Выполнение SQL-запроса только для чтения (только SELECT/WITH)

explain_query

Возврат плана выполнения запроса и пометка, если он медленный

get_table_stats

Возврат оценок количества строк и счётчиков индексных/последовательных сканирований для таблицы

Related MCP server: PostgreSQL MCP Server

Зачем это существует

Компании всё чаще подключают AI-агентов к внутренним системам (базам данных, Kubernetes, API), и сложная часть — сделать это безопасно. Этот проект — небольшой конкретный пример такого подхода: защищённый мост между AI-клиентом и базой данных в производственном стиле.

Архитектурные решения

Только чтение по умолчанию, дважды: каждый запрос проверяется по блок-листу и должен начинаться с SELECT, WITH или EXPLAIN. Само подключение к базе данных также открывается в режиме только для чтения — вторая линия защиты.

Ограничение строк и тайм-ауты запросов: каждый запрос ограничен настраиваемым лимитом строк и тайм-аутом выполнения, чтобы он не мог вернуть неограниченный объём данных или зависнуть на сервере.

Аутентификация хранится в окружении процесса, а не в чате: API-ключ задаётся через конфигурацию MCP-клиента как переменная окружения, поэтому AI-модель никогда не видит и не обрабатывает его напрямую.

Журналирование аудита: каждый вызов инструмента записывается с отметкой времени, именем инструмента, аргументами и результатом.

Установка

Требования: Python 3.11+, PostgreSQL

  1. Создайте виртуальное окружение и установите зависимости: python -m venv venv venv\Scripts\Activate.ps1 pip install -r requirements.txt

  2. Создайте базу данных и загрузите пример схемы: psql -U postgres -c "CREATE DATABASE sampledb;" psql -U postgres -d sampledb -f seed.sql

  3. Скопируйте .env.example в .env и заполните свои значения.

  4. Запустите напрямую для проверки: python -m server.main

Подключение к Claude Desktop

Добавьте в claude_desktop_config.json (Claude Desktop -> Settings -> Developer -> Edit Config):

"mcpServers": {
  "postgres-analytics": {
    "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
    "args": ["-m", "server.main"],
    "env": {
      "PYTHONPATH": "C:\\path\\to\\project",
      "MCP_API_KEY": "same-value-as-in-.env"
    }
  }
}

Стек

Python, PostgreSQL, MCP Python SDK, psycopg2

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to safely interact with PostgreSQL databases through read-only operations, providing schema discovery, table inspection, and query execution capabilities with structured context awareness.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides read-only access to PostgreSQL databases, enabling users to list tables, view table structures and statistics, and execute SELECT queries safely through natural language.
    134 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI agents to inspect and query PostgreSQL databases safely, with features like listing tables, retrieving schemas, and running read-only SQL queries.
    3
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.
    2
    -