Skip to main content
Glama
midplaneai

Midplane

Official
by midplaneai

Midplane

License: MIT CI Docs MCP

Безопасные по умолчанию 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-сборку.


Подробнее: Документация · Цены · Поддержка · Дизайн-система · Кодекс поведения

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    A
    maintenance
    Secure 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.
    1
    MIT
  • A
    license
    A
    quality
    F
    maintenance
    A 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.
    9
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Connects AI assistants to PostgreSQL databases with production-grade safety features including query validation, guarded writes, rate limiting, and audit logging.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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