← Index

Midplane

ai.midplane/midplanev0.19.0Monitoring & Logs

Safe-by-default SQL guardrails for AI agents: AST-checked queries, per-table policy, audit log.

The current version, v0.19.0, was published to the official MCP registry on 2026-08-19. It is distributed as midplane on npm and as the Docker image docker.io/midplane/midplane:0.19.0, filed under Monitoring & Logs by this index, and declares 5 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.

In-path gate · all MCP tools

Using Midplane in Claude, Cursor, Gemini CLI, Cline, or Zed?

MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).

Install the mcpindex gate (one command)

Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less

uv tool install mcpindex-gate && mcpindex-config-wire
Trust verdict · v1 advisory · method
NOT YET SCREENEDno verdict on file

Verdict not yet evaluated for this tool. The semantic screen takes adversarial cases first; coverage rolls out as the corpus expands (15/150 labels to graduation). The deterministic conformance probe is built but has not yet run on the public corpus, so a recorded verdict here is REVIEW or UNVERIFIED, never a clearing ALLOW. Until a verdict is recorded, an agent should treat this tool as not-yet-cleared and fall back to its own checks. Method: the eval, four-state verdict, honest limits.

Own this server? Screen its description →

That verdict was true at screening time (snapshot 2026-08-19).

Contracts can change after screening, with no version bump. The gate pins Midplane’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.

See your first HOLD in 2 minutes →

Related: how to trust an MCP server · screen before install · silent contract drift

Environment variables
DATABASE_URL
requiredsecret

Postgres connection string the agent's queries run against. Give it a least-privilege role: Midplane constrains what SQL is allowed, it does not widen or narrow what the role itself can reach.

MIDPLANE_POLICY_FILE

Path to a policy YAML granting per-table read/read_write access, tenant scoping, and column masking. Omit for the safe default: reads allowed, writes and DDL denied. Generate one with `npx midplane init`.

DB_PATH

Where the local SQLite audit log is written. Defaults to ~/.midplane/audit.db; read it back with `midplane audit denies`.

MIDPLANE_TELEMETRY

Set to 0 to disable anonymous usage telemetry (DO_NOT_TRACK=1 also works). Never includes SQL, table or column names, or identifiers.

DATABASE_URL
requiredsecret

Postgres connection string the agent's queries run against. Pass it with --env-file, never with an inline -e: a DSN on the docker command line leaks the password to `ps aux` and your shell history.

MIDPLANE_POLICY_FILE

Path (inside the container) to a policy YAML granting per-table read/read_write access, tenant scoping, and column masking. Omit for the safe default: reads allowed, writes and DDL denied.

PORT

Port the Streamable HTTP transport binds. Must match the url above if changed.

MCP quality score · maturity, not trust · methodology
freshness
25
completeness
20
installability
25
documentation
15
stability
5
Alternatives in Monitoring & Logs