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
Создайте виртуальное окружение и установите зависимости: python -m venv venv venv\Scripts\Activate.ps1 pip install -r requirements.txt
Создайте базу данных и загрузите пример схемы: psql -U postgres -c "CREATE DATABASE sampledb;" psql -U postgres -d sampledb -f seed.sql
Скопируйте .env.example в .env и заполните свои значения.
Запустите напрямую для проверки: 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
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Deterministic safety, correctness & cost gate that vets Postgres SQL before your AI agent runs it.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseNot gradedqualityDmaintenanceProvides 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 npmMIT
- FlicenseAqualityDmaintenanceEnables AI agents to inspect and query PostgreSQL databases safely, with features like listing tables, retrieving schemas, and running read-only SQL queries.3-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.2-