Skip to main content
Glama
midplaneai

Midplane

Official
by midplaneai

Midplane

License: MIT CI Docs MCP

Standardmäßig sichere SQL-Schutzmechanismen für KI-Agenten. Midplane sitzt im Abfragepfad zwischen einem KI-Agenten (Claude, Cursor, einem beliebigen MCP-Client) und Ihrer Postgres-Datenbank. Es parst jede Anweisung mit einem echten SQL-AST – nicht mit einer Regex-Blocklist –, erzwingt eine deklarative Zugriffsrichtlinie pro Tabelle, blockiert destruktives DML/DDL und schreibt ein ereignisbasiertes Audit-Log darüber, welcher Agent was ausgeführt hat, bevor die Abfrage ausgeführt wird.

📖 Die vollständige Dokumentation befindet sich unter midplane.ai/docs – Agenteneinrichtung, die Richtlinienreferenz, Self-Hosting, Bereitstellung und das Bedrohungsmodell. Dieses README ist nur die Orientierung.

Warum es das gibt

KI-Codierungsagenten werden ohne Audit-Trail oder Sicherheitsebene an Produktions-Postgres-Datenbanken angeschlossen. Die veraltete Anthropic-Referenz-Postgres-MCP enthielt einen Stacked-Statement-Injection-Vektor (Datadog Security Labs, 2025); die übliche Service-Rolle-Konfiguration gibt einem Agenten eine Verbindung, die jede Tabelle lesen und schreiben kann. Midplane parst jede Abfrage als AST, verweigert die gefährlichen Formen und schreibt eine dauerhafte Audit-Zeile, bevor die Abfrage Ihre Datenbank erreicht.

Related MCP server: sql-steward

Was es blockiert

  • Destruktive Schreibvorgänge standardmäßig blockiertDELETE FROM users wird selbst mit einem WHERE verweigert, bis Sie die Tabelle für read_write freigeben.

  • Komplette Tabellenlöschungen und Schema-ZerstörungDELETE / UPDATE ohne WHERE sowie alle DROP / TRUNCATE / ALTER, unabhängig von der Tabellenrichtlinie.

  • Stacked-Statement-InjectionSELECT 1; DROP TABLE users wird bereits beim Parsen verweigert.

  • In einer Leseabfrage versteckte SchreibvorgängeWITH x AS (DELETE FROM users RETURNING *) SELECT * FROM x wird beim inneren DELETE verweigert, nicht beim äußeren SELECT. Derselbe rekursive Durchlauf deckt Unterabfragen, UNION-Zweige und JOINs ab.

Das vollständige Richtlinienmodell, die Parse-→-Policy-→-Audit-Pipeline und das adversariale Korpus, das sie festlegt, sind unter midplane.ai/docs dokumentiert.

In einem echten Chat

Eine delete all users-Eingabeaufforderung an Claude Code, gegenüber einer Midplane-geschützten DB:

⏺ Moment – das ist destruktiv und irreversibel. Bevor ich DELETE FROM public.users ausführe, bitte bestätigen.

user: Bestätige das Löschen aller Benutzer

⏺ Midplane hat es blockiert: „Schreibvorgänge auf Tabelle users sind durch die Tabellenzugriffsrichtlinie nicht erlaubt." Das DELETE wurde protokolliert, aber nicht ausgeführt.

Schnellstart

Drei Wege hinein – hinter allen steckt dieselbe Open-Core-Codebasis. Schritt-für-Schritt-Anleitungen finden Sie unter midplane.ai/docs.

Managed Cloud

Der schnellste Weg, Midplane auszuprobieren: Registrieren Sie sich unter app.midplane.ai und gelangen Sie in ein paar Minuten von null zu Ihrer ersten abgesicherten Abfrage. Dashboard, Richtlinien-Editor, gehostetes Audit-Log, Agent-Token-Ausstellung. Nichts zu installieren, Multi-Region, voll unterstützt.

Eine Datenbank selbst absichern

Stellen Sie die MIT-Engine vor eine Postgres-Datenbank und richten Sie einen Agenten darauf aus. Nichts zu installieren – npx wird mit Node ausgeliefert und lädt das midplane-Paket beim ersten Start (benötigt Node 22.16+; bei älteren Versionen meldet es dies und beendet sich). Fügen Sie dies zur Konfiguration Ihres MCP-Clients hinzu (Claude Code, Claude Desktop, Cursor – sie akzeptieren alle diese Form):

{
  "mcpServers": {
    "midplane": {
      "command": "npx",
      "args": ["-y", "midplane", "server", "--stdio"],
      "env": { "DATABASE_URL": "postgres://user:pass@host:5432/db" }
    }
  }
}

Bewahren Sie die Verbindungszeichenfolge in diesem env-Block auf und nicht in einer Befehlszeile, wo sie an ps aux und Ihren Shell-Verlauf gelangen würde. Der Block landet weiterhin in einer Klartext-Konfigurationsdatei. Geben Sie Midplane daher eine eigene Postgres-Rolle mit minimalen Rechten: Sie bestimmt, welches SQL ausgeführt wird, nicht, was die darunterliegende Rolle erreichen kann.

Diese Konfiguration ist bereits die sichere Standardeinstellung: Lesezugriffe erlaubt, Schreibvorgänge und DDL verweigert, jede Abfrage wird in ~/.midplane/audit.db protokolliert. Lesen Sie das Log mit npx midplane audit denies zurück. Um bestimmte Tabellen zu öffnen, erzeugen Sie eine Richtlinie mit npx midplane init – es untersucht Ihr Schema über eine schreibgeschützte Verbindung, schlägt eine Tenant-Spalte vor und schreibt eine validierte midplane.policy.yaml.

Für eine CI-Pipeline oder einen langlebigen Sidecar wird dieselbe Engine als eigenständiges Image ohne Node ausgeliefert – midplane/midplane:0.19.0, das Streamable HTTP statt stdio bedient. Einrichtung · engine/README.md.

Die gesamte App selbst hosten

Das vollständige Single-Tenant-Produkt – Dashboard, Richtlinien-Editor, Audit-Log, Agent-Token-Ausstellung – schlüssellos und ohne Obergrenze, auf Ihrer eigenen Postgres-Datenbank. Docker ist die einzige Voraussetzung:

git clone https://github.com/midplaneai/midplane && cd midplane
./bin/self-host up                               # → http://localhost:3000

Das erzeugt Geheimnisse in .env.self-host, startet Postgres + die Web-App, wendet Migrationen beim Booten an und gibt die Dashboard-URL aus – die erste Anmeldung mit E-Mail+Passwort wird zum Eigentümer.

Ausführen aus dem Quellcode, das Single-Image-Deployment, die Engine-Spawn-Topologie und die vollständige Schritt-für-Schritt-Anleitung: midplane.ai/docs (im Repo: SELF_HOST.md).

Open Core

Midplane ist Open Core, MIT und selbst hostbar. Alles außerhalb von apps/web/src/ee/ ist die Community Edition – das gesamte Single-Tenant-Produkt, beim Selbsthosten ohne Obergrenze. apps/web/src/ee/ ist die kommerzielle Enterprise Edition (heute SSO/SAML; im Laufe der Zeit die Governance-Funktionen); wenn Sie sie löschen, bleibt ein funktionierender MIT-Build übrig. Die verwaltete Cloud ist dieselbe Codebasis und der unterstützte, kostenpflichtige Weg. Siehe LICENSE für die MIT-Bedingungen und NOTICE für die ee/-Ausnahme.

Architektur

Eine Codebasis, zwei Deployables:

  • Control Plane (Repo-Stammverzeichnis) – Dashboard, Richtlinienverwaltung, Audit-Ansichten, Agent-Token-Ausstellung, gehosteter MCP-Proxy. MIT außer apps/web/src/ee/.

  • Engine (engine/) – die MIT-Query-Path-Engine, kompiliert zu einer eigenständigen Binärdatei. Die Control Plane startet sie pro Projekt und implementiert sie nie neu, sodass gehostet und selbst gehostet exakt dieselbe Engine ausführen – nur die Verpackung unterscheidet sich.

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

Der Betrieb der verwalteten Multi-Region-Cloud (Fly + Neon + KMS) ist in docs/deploy.md beschrieben.

Mitwirken

Issues und PRs sind willkommen – beginnen Sie mit CONTRIBUTING.md. Der einzelne Beitrag mit der größten Hebelwirkung ist ein neuer Eintrag im adversarialen SQL-Korpus: ein Umgehungsversuch und der Richtlinien-Fix, der ihn abwehrt. Commits sind DCO-signiert (git commit -s). Für Sicherheitsprobleme folgen Sie SECURITY.md – eröffnen Sie kein öffentliches Issue.

Lizenz

MIT – siehe LICENSE. Kein Copyleft, kein BSL, kein Source-Available-Rückzieher. Die eine Ausnahme ist apps/web/src/ee/ (die kommerzielle Enterprise Edition, geregelt durch apps/web/src/ee/LICENSE und festgehalten in NOTICE); wenn Sie sie löschen, bleibt ein voll funktionsfähiger MIT-Build übrig.


Mehr: Dokumentation · Preise · Support · Designsystem · Verhaltenskodex

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