pgops-mcp
pgops-mcp
Промышленный MCP-сервер, который даёт AI-агентам безопасный, аудируемый и экспертный контроль над реальной базой данных PostgreSQL и Docker-стеком вокруг неё — без shell-команд, без Python-скриптов, только инструменты.
Зачем
Существующие Postgres MCP-серверы — это тонкие обёртки над запросами: интроспекция + SELECT. Ни один не обрабатывает миграции с анализом влияния на блокировки, ни один не диагностирует производительность через EXPLAIN + pg_stat_statements, ни один не понимает контейнеризованное окружение, в котором живёт база данных. Агенты, работающие с базами данных сегодня, действуют вслепую и небезопасно.
pgops-mcp — это операционный мозг: интеллект схемы → защищённые запросы → движок миграций → диагностика производительности → осведомлённость об окружении, с архитектурой безопасности, которая делает каждое действие классифицируемым, подтверждаемым и аудируемым.
Related MCP server: PostgreSQL MCP Server
Поверхность инструментов (v0.1)
Группа | Инструменты |
Схема |
|
Запросы |
|
Производительность |
|
Миграции |
|
Окружение |
|
Ограниченный |
|
* Не регистрируются вообще, если сервер не запущен с --approval-mode, и даже тогда
каждый вызов требует токен подтверждения. container.exec дополнительно применяет
разрешённый список диагностических команд только для чтения — он не предоставляет shell.
Docker-сокет эквивалентен root на хосте, поэтому по умолчанию доступ только для чтения.
Модель безопасности (ключевое отличие)
Раздельные роли подключения только для чтения / чтения-записи; инструменты привязаны к нужной роли
Классификация операторов перед выполнением — неограниченные
DELETE/UPDATEблокируютсяДеструктивные действия требуют явных токенов подтверждения
Каждый выполненный оператор попадает в append-only журнал аудита с временем и вердиктом
Отмена вышедших из-под контроля запросов с многоуровневыми таймаутами
MCP-поверхность
Примитив | Что здесь |
Инструменты | 13 — схема, запрос, explain, совет, миграция, окружение |
Ресурсы |
|
Промпты |
|
Элиситация | Опасные действия спрашивают пользователя напрямую, а не через агента; токены подтверждения — запасной вариант |
Прогресс / логирование | Уведомления best-effort во время длительных операций |
Удалённый доступ и токены агентов
stdio не требует аутентификации — сервер является подпроцессом, который запускает ваш клиент, без открытого порта. HTTP требует, поэтому он отказывается запускаться без ключа:
pgops-mcp keygen # RS256 keypair
pgops-mcp issue-token --subject my-agent # read-only by default
pgops-mcp issue-token --subject deploy-bot --scope pgops:read --scope pgops:write
pgops-mcp scopes # which scope each tool needs
pgops-mcp --transport http --public-key ~/.pgops/keys/pgops_public.pemСервер хранит только публичный ключ, поэтому он может проверять токены, но никогда не создавать их. Области (pgops:read / pgops:write / pgops:admin) соответствуют тем же уровням опасности, что и защитные механизмы, а инструмент без записи в области требует admin — отказ по умолчанию. Привязывается к loopback, если не указано иное.
Быстрый старт
uv sync
# point at your local Postgres in Docker:
export PGOPS_DSN="postgresql://user:pass@localhost:5432/mydb"
uv run pgops-mcp # stdio transport for Claude Desktop / Cursor / VS CodeДобавьте в Claude Desktop:
{
"mcpServers": {
"pgops": {
"command": "uv",
"args": ["run", "--directory", "/path/to/pgops-mcp", "pgops-mcp"]
}
}
}Документация
docs/PRD.md— что и зачем, цели, не-целиdocs/SPEC.md— поэтапная техническая спецификация с жёсткими воротамиdocs/ARCHITECTURE.md— системный дизайн + компромиссыdocs/TOOLS.md— полный каталог инструментов со схемами и примерамиdocs/adr/— записи архитектурных решенийdocs/flow.md— живой журнал прогрессаdocs/interview_prep.md— растущий Q&A для интервью
Статус
Фазы 0–6b завершены (319 тестов, каждый защитный механизм, вердикт и правило влияния на блокировки проверены на реальном Postgres через testcontainers — без моков — плюс сквозные наборы, управляющие сервером как реальным MCP-подпроцессом через stdio и как аутентифицированным HTTP-сервером).
Фаза | Состояние | Инструменты |
0 · Bootstrap | ✅ | подготовленный dev-стек (таблица |
1 · Ядро подключения + путь чтения | ✅ |
|
2 · Путь записи + безопасность | ✅ |
|
3 · Мозг производительности | ✅ |
|
4 · Движок миграций | ✅ |
|
5 · Docker-слой | ✅ |
|
6a · Полнота MCP | ✅ | ресурсы, промпты, элиситация, прогресс |
6b · Удалённый доступ + аутентификация | ✅ | HTTP-транспорт, JWT, токены агентов с областями, CLI для генерации ключей |
6c · Упаковка | следующая | PyPI, Smithery, MCP registry |
migration.rollback намеренно остаётся открытым — см. docs/TOOLS.md.
Пример того, что migration.plan возвращает для изменения типа в таблице orders на 1,2 млн строк:
ALTER TABLE "orders" ALTER COLUMN "total_cents" TYPE bigint
op=table_rewrite risk=high estimate=4800ms confidence=medium
why: rewrites every row and rebuilds every index, holding AccessExclusiveLock
SAFER: add a new column of the target type, backfill in batches, sync with a
trigger, swap the names, then drop the old columnБыстрый старт dev-базы данных (порт хоста 5433, чтобы не конфликтовать с локальным Postgres на 5432):
docker compose up -d
export PGOPS_DSN="postgresql://pgops:pgops_dev@localhost:5433/pgops_demo"
uv run pgops-mcp --selfcheckThis server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with PostgreSQL databases through schema intelligence, query execution, and DBA tooling including index analysis and health monitoring. Features configurable access levels and audit logging for secure database operations.539MIT
- FlicenseNot gradedqualityDmaintenanceExposes PostgreSQL database operations as tools for AI assistants, allowing SQL queries and schema inspection.
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with PostgreSQL databases through natural language queries, schema inspection, and safe SQL execution.91
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.2
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Comprehensive PostgreSQL documentation and best practices, including ecosystem tools
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/arzharch/pgops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server