Midplane MCP Server

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

Local serverstdiostreamable-http

What is the Midplane MCP Server?

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

Packages and local setup

The published npm package is midplane, version 0.20.0. Its declared MCP transport is stdio.

The package declares DATABASE_URL (required): 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..

This package has launch arguments in its registry record. Use the maintainer’s configuration for those arguments rather than launching it with only the package name.

The published oci package is docker.io/midplane/midplane:0.20.0. Its declared MCP transport is streamable-http.

The package declares DATABASE_URL (required): 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..

Before connecting

Check the maintainer’s instructions for account access, authentication and the supported client configuration. Once connected, inspect the tools your client receives and try a small task that matches the server’s stated purpose. The registry description does not include a verified, complete tool list.

Project and source

View the publisher’s registry entry · Project repository · Project website. This profile uses version 0.20.0 from the registry. Registration identifies the publisher namespace; it does not establish that this is a first-party integration for every service it connects.

Browse related databases MCP servers for tools that cover the same kind of work.

Configuration

VariableDescriptionRequired
DATABASE_URLPostgres 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.Yes
MIDPLANE_POLICY_FILEPath 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.Optional
DB_PATHWhere the local SQLite audit log is written. Defaults to ~/.midplane/audit.db; read it back with midplane audit denies.Optional
MIDPLANE_TELEMETRYSet to 0 to disable anonymous usage telemetry (DO_NOT_TRACK=1 also works). Never includes SQL, table or column names, or identifiers.Optional