Skip to main content
Midplane is a gateway between AI agents and your Postgres databases. Claude Code queries your data through it, never holds a connection string, and every statement it sends is checked against your policy before it runs. You need a running gateway (get started). Its URL is on the project’s Agents page, under Connect an agent.
1

Add the gateway

2

Sign in

Start claude, run /mcp, pick midplane and choose Authenticate.
3

Choose what it may reach

Set each database to None, Read or Read + write, and Allow.
4

Try it

Ask Claude Code which tables it can see. Its statement shows up in the project’s Query log.
You’re set: Claude Code can answer questions from your data, and only what your policy allows runs. Masked columns stay masked, writes that need approval wait for a person, and every statement is in the audit log.
Claude Code runs commands as you. If the gateway runs as you too, Claude Code can read its connection strings and reach the database without it. Run the gateway as another user or on another host (deploy the gateway).
To cut it off, Revoke it under Connected agents on the Agents page. It has to sign in again within 15 minutes.
For scripts, or a gateway in local mode, send a token from Tokens for scripts on the Agents page, or from midplane token in local mode:

If it doesn’t work

  • The consent page says it wants access, with no databases: you aren’t a member of the gateway’s project, or the gateway isn’t registered. Ask an owner of the organization.
  • The localhost URL does not resolve: see troubleshooting.
Tested by apps/gateway/test/auth.test.ts for the gateway’s side; the client’s steps by hand.