- ✓Actively maintained (<30d)
- ✓Documented (README)
- !Licence file present but not machine-readable
- !No description
claude mcp add postgres-mcp -- python -m postgres-mcp-pro{
"mcpServers": {
"postgres-mcp": {
"command": "python",
"args": ["-m", "postgres_mcp.server"]
}
}
}MCP Servers overview
# 📘 Postgres MCP Pro — сервер MCP для PostgreSQL
<!-- mcp-name: io.github.sparta2025/postgres-mcp -->
<img src="assets/postgres-mcp-pro.png" alt="Postgres MCP Pro Logo" width="600"/>
[](https://opensource.org/licenses/MIT)
[](https://pypi.org/project/postgres-mcp-pro/)
[](https://discord.gg/4BEHC7ZM)
[](https://x.com/auto_dba)
[](https://github.com/crystaldba/postgres-mcp/graphs/contributors)
---
## 🔎 Обзор
**Postgres MCP Pro** — это open-source сервер **Model Context Protocol (MCP)**, предназначенный для помощи разработчикам и AI-агентам на всех этапах разработки: от начального кода и тестирования до деплоя и продакшн-оптимизации.
> 🙌 Основано на [crystaldba/postgres-mcp](https://github.com/crystaldba/postgres-mcp) (MIT, © 2025 Crystal Corp / Johann Schleier-Smith).
> Форк развивается и поддерживается [sparta2025](https://github.com/sparta2025) — автономный MCP-сервер, Gradio-оболочка, LLM-чат с tool-calling, сертификаты шифрования.
> 📚 **Полная документация**: [docs/DOCUMENTATION.md](docs/DOCUMENTATION.md) — развёртывание (Docker/облако), Gradio-оболочка, подключение клиентов (stdio/SSE), все инструменты и переменные окружения.
Отличается от простого подключения к базе данных следующими возможностями:
* **Анализ состояния БД**: индекс, буферный кэш, autovacuum, последовательности, репликация и др.
* **Оптимизация индексов**: автоматический подбор лучших индексов с помощью промышленных алгоритмов.
* **Планы выполнения**: EXPLAIN и симуляция с гипотетическими индексами.
* **Интеллект схемы**: генерация SQL с учётом структуры базы.
* **Безопасное выполнение SQL**: поддержка режима только для чтения и защита в продакшне.
Поддерживает транспорты: **stdio** и **SSE**.
[Запуск проекта и причины его создания](https://www.crystaldba.ai/blog/post/announcing-postgres-mcp-server-pro)
---
## 📺 Демонстрация
**От медленного к молниеносному**
AI сгенерировал приложение на SQLAlchemy ORM — но оно было слишком медленным.
Postgres MCP Pro с Cursor решил проблему за считанные минуты.
* 🚀 Оптимизация ORM-запросов, индексации и кэширования
* 🛠️ Исправление сломанной страницы
* 🧠 Улучшение вывода "топ-фильмов" путём анализа данных и корректировки запросов
👉 Подробнее: [movie-app.md](examples/movie-app.md)
---
## ⚡ Быстрый старт
### Требования:
1. Доступ к вашей базе данных PostgreSQL
2. Docker *или* Python 3.12+
#### Удостоверьтесь в доступе:
Пример — подключение через `psql` или [pgAdmin](https://www.pgadmin.org/)
> 💡 Для запуска через `docker compose` заранее создайте пустые файлы хранилищ
> подключений (иначе Docker смонтирует каталоги вместо файлов):
>
> ```bash
> touch connections.json llm_connections.json
> ```
---
### Установка
#### 🐳 Docker
```bash
docker pull crystaldba/postgres-mcp
```
#### 🐍 Python (через `pipx`)
```bash
pipx install postgres-mcp-pro
```
или через `uv`:
```bash
uv pip install postgres-mcp-pro
```
> Консольная команда после установки — `postgres-mcp`
> (автономный MCP-сервер, stdio по умолчанию; `--transport sse` для SSE).
---
## ⚙️ Настройка AI-ассистента (на примере Claude Desktop)
Откройте конфигурационный файл:
* **MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
* **Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
### Пример конфигурации:
#### Через Docker
```json
{
"mcpServers": {
"postgres": {
"command": "docker",
"args": [
"run", "-i", "--rm", "-e", "DATABASE_URI",
"crystaldba/postgres-mcp", "--access-mode=unrestricted"
],
"env": {
"DATABASE_URI": "postgresql://username:password@localhost:5432/dbname"
}
}
}
}
```
#### Через `pipx`
```json
{
"mcpServers": {
"postgres": {
"command": "postgres-mcp",
"args": ["--access-mode=unrestricted"],
"env": {
"DATABASE_URI": "postgresql://username:password@localhost:5432/dbname"
}
}
}
}
```
#### Через `uv`
```json
{
"mcpServers": {
"postgres": {
"command": "uv",
"args": [
"run", "postgres-mcp", "--access-mode=unrestricted"
],
"env": {
"DATABASE_URI": "postgresql://username:password@localhost:5432/dbname"
}
}
}
}
```
#### Режимы доступа:
* `--access-mode=unrestricted`: полный доступ (dev)
* `--access-mode=restricted`: только чтение (prod)
> ⚠️ Флаг `--access-mode` поддерживает только легаси-сервер
> (`python -m postgres_mcp.server`). Автономный MCP-сервер
> (`postgres_mcp.autonomous.mcp_server`) всегда выполняет переданный SQL;
> разграничение делайте на стороне пользователя БД.
---
## 🔄 SSE Transport
Чтобы использовать SSE:
```bash
docker run -p 8000:8000 \
-e DATABASE_URI=postgresql://username:password@localhost:5432/dbname \
crystaldba/postgres-mcp --access-mode=unrestricted --transport=sse
```
Пример для Cursor:
```json
{
"mcpServers": {
"postgres": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
```
---
## 🧩 Установка расширений (опционально)
Нужно для:
* `pg_stat_statements` — для анализа запросов
* `hypopg` — симуляция индексов
```sql
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION IF NOT EXISTS hypopg;
```
---
## 🧪 Примеры использования
* **Проверка БД**: "Check the health of my database..."
* **Медленные запросы**: "What are the slowest queries..."
* **Рекомендации**: "How can I make it faster?"
* **Индексы**: "Suggest indexes to improve performance"
* **Оптимизация запроса**: "Help me optimize this query: SELECT ..."
---
## 📡 MCP API (интерфейс)
Автономный сервер (`postgres_mcp.autonomous.mcp_server`) предоставляет **15 MCP tools**:
| Tool | Назначение |
| -------------------------- | ----------------------------------- |
| `list_schemas` | Список схем БД |
| `list_objects` | Список таблиц, представлений и т.п. |
| `get_object_details` | Подробности по объекту |
| `execute_sql` | Выполнение SQL |
| `explain_query` | EXPLAIN план запроса |
| `analyze_db_health` | Здоровье БД по множеству метрик |
| `get_top_queries` | Самые медленные запросы (pg_stat_statements) |
| `analyze_index_performance`| Анализ использования индексов |
| `get_active_queries` | Выполняющиеся запросы |
| `get_table_sizes` | Размеры таблиц/индексов |
| `get_database_locks` | Текущие блокировки |
| `format_sql_query` | Форматирование SQL (sqlparse) |
| `get_database_info` | Версия, размер БД, расширения, uptime |
| `manage_encryption_key` | Управление Fernet-сертификатами |
| `list_tools` | Список всех инструментов сервера |
---
## 📌 Отличия от других MCP-серверов
| Postgres MCP Pro | Другие MCP-серверы |
| --------------------------------- | ----------------------- |
| ✅ Проверки здоровья с гарантией | ❌ Генерация LLM |
| ✅ Оптимизация индексов алгоритмом | ❌ Гипотетические советы |
| ✅ Симуляции EXPLAIN | ❌ "Попробуй сам" |
| ✅ Детальный workload-анализ | ❌ Нет анализа запросов |
---
## 🧠 Почему нужны инструменты MCP?
LLM отлично справляется с генерацией SQL, но медленно, дорого и непредсказуемо.
Оптимизация БД давно решается алгоритмами.
MCP Pro сочетает лучшее от LLM и классических алгоритмов.
---
## 🛠️ Технические заметки (ключевые моменты)
* **Индексы**: использование `pg_stat_statements`, генерация кандидатов, анализ через `hypopg`
* **LLM-оптимизация**: экспериментальная, с использованием OpenAI API (`OPENAI_API_KEY`)
* **Здоровье БД**: адаптация проверок из PgHero
* **Библиотека подключения**: `psycopg3` с `libpq`
* **Безопасность SQL**: чтение, защита от `ROLLBACK; DROP ...`
* **Интеграция со схемой**: передаёт схему агенту через инструменты, а не ресурсы
* **Конфигурация соединений**: через переменные среды
* **Dev-сборка**: `uv`, `pip`, запуск с локальной БД
What people ask about postgres-mcp
What is sparta2025/postgres-mcp?
+
sparta2025/postgres-mcp is mcp servers for the Claude AI ecosystem with 0 GitHub stars.
How do I install postgres-mcp?
+
You can install postgres-mcp by cloning the repository (https://github.com/sparta2025/postgres-mcp) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is sparta2025/postgres-mcp safe to use?
+
Our security agent has analyzed sparta2025/postgres-mcp and assigned a Trust Score of 62/100 (tier: OK). See the full breakdown of passed checks and flags on this page.
Who maintains sparta2025/postgres-mcp?
+
sparta2025/postgres-mcp is maintained by sparta2025. The last recorded GitHub activity is dated 2026-08-21, with 0 open issues.
Are there alternatives to postgres-mcp?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy postgres-mcp to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/sparta2025-postgres-mcp)<a href="https://claudewave.com/repo/sparta2025-postgres-mcp"><img src="https://claudewave.com/api/badge/sparta2025-postgres-mcp" alt="Featured on ClaudeWave: sparta2025/postgres-mcp" width="320" height="64" /></a>More MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!