Midplane
OfficialMidplane
AIエージェント向けの、デフォルトで安全なSQLガードレール。 Midplaneは、AIエージェント(Claude、Cursor、任意のMCPクライアント)とPostgresデータベースの間のクエリ経路に位置します。すべてのステートメントを、正規表現のブロックリストではなく、実際のSQL ASTで解析し、宣言的なテーブル単位のアクセスポリシーを適用し、破壊的なDML/DDLをブロックし、クエリ実行前に、どのエージェントが何を実行したかのイベントソーシング監査ログを書き込みます。
📖 完全なドキュメントは midplane.ai/docs にあります — エージェントのセットアップ、ポリシーリファレンス、セルフホスティング、デプロイ、脅威モデル。このREADMEは概要にすぎません。
なぜこれが必要か
AIコーディングエージェントが、監査証跡や安全レイヤーなしで本番Postgresに接続されています。非推奨となったAnthropicのリファレンスPostgres MCPには、スタックステートメントインジェクションの経路が含まれていました(Datadog Security Labs、2025年)。一般的なサービスロール設定では、エージェントにすべてのテーブルを読み書きできる接続が渡されます。MidplaneはすべてのクエリをASTとして解析し、危険な形状を拒否し、クエリがデータベースに到達する前に永続的な監査行を書き込みます。
Related MCP server: sql-steward
ブロックするもの
デフォルトで破壊的な書き込みを拒否 —
DELETE FROM usersは、WHERE句があっても、テーブルをread_writeにオプトインするまで拒否されます。テーブル全体の消去とスキーマ破壊 —
WHEREなしのDELETE/UPDATE、およびすべてのDROP/TRUNCATE/ALTERを、テーブルポリシーに関係なく拒否。スタックステートメントインジェクション —
SELECT 1; DROP TABLE usersは解析時に拒否。読み取りの中に隠された書き込み —
WITH x AS (DELETE FROM users RETURNING *) SELECT * FROM xは、外側のSELECTではなく内側のDELETEで拒否されます。同じ再帰的走査がサブクエリ、UNIONの各分岐、JOINもカバーします。
完全なポリシーモデル、解析 → ポリシー → 監査のパイプライン、そしてそれを固定する敵対的コーパスは、midplane.ai/docs に文書化されています。
実際のチャットでの動作
Midplaneを前面に置いたDBに対して、Claude Codeに delete all users とプロンプトした場合:
⏺ ちょっと待ってください — それは破壊的で元に戻せません。
DELETE FROM public.usersを実行する前に、確認をお願いします。user: 全ユーザー削除を確認
⏺ Midplaneがブロックしました:「テーブル
usersへの書き込みは、テーブルアクセスポリシーで許可されていません。」 DELETEは監査されましたが、実行されませんでした。
クイックスタート
3つの導入方法 — すべて同じオープンコアのコードベースです。ステップバイステップのガイドは midplane.ai/docs にあります。
マネージドクラウド
Midplaneを試す最速の方法:app.midplane.ai でサインアップ して、数分でゼロから最初のガード付きクエリまで到達できます。ダッシュボード、ポリシーエディタ、ホスト型監査ログ、エージェントトークン発行。インストール不要、マルチリージョン、完全サポート。
自分で1つのデータベースをガードする
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ロールを付与してください。MidplaneはどのSQLが実行されるかを制御するものであり、その下にあるロールが到達できる範囲を制御するものではありません。
この設定はすでに安全なデフォルトです:読み取りは許可、書き込みとDDLは拒否、すべてのクエリは ~/.midplane/audit.db に監査されます。ログは npx midplane audit denies で読み戻せます。特定のテーブルを開放するには、npx midplane init でポリシーを生成します — 読み取り専用接続でスキーマを検査し、テナント列を提案し、検証済みの midplane.policy.yaml を書き込みます。
CIパイプラインや長期稼働するサイドカーの場合、同じエンジンはNodeを含まない自己完結型イメージとして提供されます —
midplane/midplane:0.19.0で、stdioの代わりにStreamable HTTPを提供します。セットアップ ·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 + Webアプリが起動し、起動時にマイグレーションが適用され、ダッシュボードのURLが表示されます — 最初のメール+パスワードでのサインアップがオーナーになります。
ソースからの実行、単一イメージでのデプロイ、エンジンスポーントポロジー、完全なウォークスルー:midplane.ai/docs(リポジトリ内:SELF_HOST.md)。
オープンコア
Midplaneは オープンコア、MIT、セルフホスト可能 です。apps/web/src/ee/ 以外はすべてコミュニティエディションです — シングルテナント製品全体で、セルフホスト時は上限なし。apps/web/src/ee/ は商用エンタープライズエディションです(現在はSSO/SAML、今後はガバナンス機能)。これを削除しても動作するMITビルドが残ります。マネージドクラウドは同じコードベースであり、サポート対象の有料パスです。MITの条件については LICENSE を、ee/ の除外については NOTICE を参照してください。
アーキテクチャ
1つのコードベース、2つのデプロイ可能な成果物:
コントロールプレーン(リポジトリルート)— ダッシュボード、ポリシー管理、監査ビュー、エージェントトークン発行、ホスト型MCPプロキシ。
apps/web/src/ee/を除きMIT。エンジン(
engine/)— MITのクエリパスエンジンで、自己完結型バイナリにコンパイルされます。コントロールプレーンはプロジェクトごとにこれを起動し、再実装することはありません。したがって、ホスト型とセルフホスト型はまったく同じエンジンを実行します — パッケージングだけが異なります。
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 にあります。
コントリビューション
IssueとPRを歓迎します — CONTRIBUTING.md から始めてください。最も効果の高いコントリビューションは、敵対的SQLコーパスへの新しいエントリです:バイパス試行と、それを無効化するポリシー修正。コミットはDCO署名されています(git commit -s)。セキュリティ問題については、SECURITY.md に従ってください — 公開Issueを開かないでください。
ライセンス
MIT — LICENSE を参照してください。コピーレフトなし、BSLなし、ソースアベイラブルへの変更による騙し討ちもありません。唯一の例外は apps/web/src/ee/ です(商用エンタープライズエディションで、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