Midplane
OfficialMidplane
Безопасные по умолчанию SQL-ограничители для ИИ-агентов. Midplane находится на пути выполнения запросов между ИИ-агентом (Claude, Cursor, любой MCP-клиент) и вашей базой данных Postgres. Он разбирает каждое выражение с помощью настоящего SQL AST, а не регулярного блок-списка, применяет декларативную политику доступа к таблицам, блокирует разрушительные DML/DDL и записывает событийный журнал аудита о том, какой агент что выполнил, до выполнения запроса.
📖 Полная документация находится на midplane.ai/docs — настройка агента, справочник по политикам, самостоятельный хостинг, развёртывание и модель угроз. Этот README — лишь краткое введение.
Почему это существует
ИИ-агенты для написания кода подключаются к продакшен-Postgres без журнала аудита и защитного слоя. Устаревший эталонный Postgres MCP от Anthropic содержал вектор многооператорной инъекции (Datadog Security Labs, 2025); типичная настройка с сервисной ролью выдаёт агенту подключение, которое может читать и писать во все таблицы. Midplane разбирает каждый запрос как AST, отклоняет опасные конструкции и записывает долговечную запись аудита до того, как запрос достигнет вашей базы данных.
Related MCP server: sql-steward
Что он блокирует
Разрушительные записи по умолчанию —
DELETE FROM usersотклоняется даже сWHERE, пока вы не включите для таблицы режимread_write.Полное стирание таблиц и разрушение схемы —
DELETE/UPDATEбезWHEREи всеDROP/TRUNCATE/ALTER, независимо от политики таблицы.Многооператорная инъекция —
SELECT 1; DROP TABLE usersотклоняется на этапе разбора.Записи, спрятанные внутри чтения —
WITH x AS (DELETE FROM users RETURNING *) SELECT * FROM xотклоняется во внутреннемDELETE, а не во внешнемSELECT. Тот же рекурсивный обход покрывает подзапросы, ветви UNION и JOIN.
Полная модель политик, конвейер разбор → политика → аудит и состязательный корпус, который закрепляет его, документированы на midplane.ai/docs.
В реальном чате
Промпт delete all users для Claude Code при обращении к БД, перед которой стоит Midplane:
⏺ Погоди — это разрушительно и необратимо. Прежде чем я выполню
DELETE FROM public.users, подтверди, пожалуйста.пользователь: подтверждаю удаление всех пользователей
⏺ Midplane заблокировал его: «запись в таблицу
usersне разрешена политикой доступа к таблицам». DELETE попал в аудит, но не был выполнен.
Быстрый старт
Три способа начать — за всеми ними стоит одна и та же кодовая база open core. Пошаговые руководства находятся на midplane.ai/docs.
Управляемое облако
Самый быстрый способ попробовать Midplane: зарегистрируйтесь на app.midplane.ai и перейдите от нуля до первого защищённого запроса за пару минут. Дашборд, редактор политик, облачный журнал аудита, выпуск агентских токенов. Ничего устанавливать не нужно, мультирегионально, полностью поддерживается.
Защитите одну базу данных самостоятельно
Поместите движок MIT перед базой данных Postgres и направьте на неё агента. Ничего устанавливать не нужно — npx поставляется вместе с Node и при первом запуске загружает пакет midplane (требуется Node 22.16+; на более старых версиях он сообщает об этом и завершает работу). Добавьте это в конфигурацию вашего MCP-клиента (Claude Code, Claude Desktop, Cursor — все они принимают такую форму):
{
"mcpServers": {
"midplane": {
"command": "npx",
"args": ["-y", "midplane", "server", "--stdio"],
"env": { "DATABASE_URL": "postgres://user:pass@host:5432/db" }
}
}
}Держите строку подключения в этом блоке env, а не в командной строке, где она попадёт в ps aux и историю вашей оболочки. Блок всё равно окажется в текстовом конфигурационном файле, поэтому выдайте Midplane отдельную роль Postgres с минимальными привилегиями: он определяет, какой SQL будет выполняться, а не к чему может обратиться лежащая под ним роль.
Эта конфигурация уже безопасна по умолчанию: чтение разрешено, запись и DDL запрещены, каждый запрос записывается в аудит в ~/.midplane/audit.db. Прочитать журнал можно с помощью npx midplane audit denies. Чтобы открыть доступ к отдельным таблицам, сгенерируйте политику с помощью npx midplane init — он проанализирует вашу схему через подключение только для чтения, предложит колонку тенанта и запишет проверенный midplane.policy.yaml.
Для CI-конвейера или долгоживущего сайдкара тот же движок поставляется в виде самодостаточного образа без Node —
midplane/midplane:0.19.0, обслуживающий Streamable HTTP вместо stdio. Настройка ·engine/README.md.
Разверните всё приложение у себя
Полный однотенантный продукт — дашборд, редактор политик, журнал аудита, выпуск агентских токенов — без ключей и без лимитов, на вашем собственном Postgres. Единственное требование — Docker:
git clone https://github.com/midplaneai/midplane && cd midplane
./bin/self-host up # → http://localhost:3000Это сгенерирует секреты в .env.self-host, поднимет Postgres + веб-приложение, применит миграции при запуске и выведет URL дашборда — первая регистрация по email+password становится владельцем.
Запуск из исходников, развёртывание из одного образа, топология с порождением движка и полное пошаговое руководство: midplane.ai/docs (в репозитории: SELF_HOST.md).
Open core
Midplane — это open core с лицензией MIT, который можно разворачивать самостоятельно. Всё за пределами apps/web/src/ee/ — это Community Edition: полный однотенантный продукт, без лимитов при самостоятельном хостинге. apps/web/src/ee/ — это коммерческая Enterprise Edition (сегодня SSO/SAML; со временем — слой управления); её удаление оставляет рабочую MIT-сборку. Управляемое облако — это та же кодовая база и поддерживаемый платный путь. Условия MIT см. в LICENSE, исключение для ee/ — в NOTICE.
Архитектура
Одна кодовая база, два варианта развёртывания:
Control plane (корень репозитория) — дашборд, управление политиками, представления аудита, выпуск агентских токенов, хостируемый MCP-прокси. MIT, кроме
apps/web/src/ee/.Engine (
engine/) — MIT-движок пути выполнения запросов, компилируемый в самодостаточный бинарник. Control plane запускает его для каждого проекта и никогда не реализует заново, поэтому облачная и самостоятельная версии запускают один и тот же движок — отличается только упаковка.
apps/web Next.js dashboard + Better Auth + projects API
packages/db Drizzle schema (customers, projects, audit index)
packages/kms encryptDsn / decryptDsn (env-mode dev, AWS KMS prod)
packages/router Hosted MCP request handler — token → project → engine
engine/ The MIT query-path engine
infra/telemetry-proxy Cloudflare Worker for anonymized OSS install telemetryЭксплуатация управляемого мультирегионального облака (Fly + Neon + KMS) описана в docs/deploy.md.
Участие в разработке
Приветствуются issues и PR — начните с CONTRIBUTING.md. Наибольшую отдачу приносит новая запись в состязательном SQL-корпусе: попытка обхода и исправление политики, которое её отражает. Коммиты подписаны DCO (git commit -s). По вопросам безопасности следуйте SECURITY.md — не открывайте публичный issue.
Лицензия
MIT — см. LICENSE. Никакого копилефта, никакой BSL, никакого внезапного отзыва source-available. Единственное исключение — apps/web/src/ee/ (коммерческая Enterprise Edition, условия которой приведены в apps/web/src/ee/LICENSE и которая отражена в NOTICE); её удаление оставляет полностью рабочую MIT-сборку.
Подробнее: Документация · Цены · Поддержка · Дизайн-система · Кодекс поведения
This 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 gradedqualityAmaintenanceSecure SQL proxy for AI agents. Translates natural language to safe SQL via Claude, validates at the AST level (SELECT-only, no DDL/DML), enforces per-agent row-level security, and audit-logs every query.1MIT
- AlicenseAqualityFmaintenanceA governed SQL gateway that exposes typed tools to AI agents, compiling safe read-only queries from a semantic layer while blocking PII before execution, supporting SQL Server, Postgres, and SQLite.9MIT
- AlicenseNot gradedqualityBmaintenanceConnects AI assistants to PostgreSQL databases with production-grade safety features including query validation, guarded writes, rate limiting, and audit logging.2MIT
- AlicenseNot gradedqualityCmaintenanceA default-deny SQL firewall sidecar for AI agents that enforces per-agent policies on database queries, provides safe rewrites, and maintains a tamper-evident audit chain.AGPL 3.0
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
The WAF for agents. Pattern-based + heuristic firewall scans prompts, RAG documents, tool argume...
See, price, and control every tool call your AI agents make: policy checks, cost, and audit tools.
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/midplaneai/midplane'
If you have feedback or need assistance with the MCP directory API, please join our Discord server