Midplane MCP Server
by midplaneaiai.midplane/midplanev0.20.0
Safe-by-default SQL guardrails for AI agents: AST-checked queries, per-table policy, audit log.
context tax
queued
security
queued
cold start
queued
freshness
Active6d ago
Install Midplane MCP server
Install in Claude Code
claude mcp add midplaneai -e DATABASE_URL='<database-url>' -- npx -y midplane serverInstall in Cursor
{
"mcpServers": {
"midplaneai": {
"command": "npx",
"args": [
"-y",
"midplane",
"server"
],
"env": {
"DATABASE_URL": "<database-url>"
}
}
}
}Add to ~/.cursor/mcp.json (global) or .cursor/mcp.json (project).
Install in Claude Desktop
{
"mcpServers": {
"midplaneai": {
"command": "npx",
"args": [
"-y",
"midplane",
"server"
],
"env": {
"DATABASE_URL": "<database-url>"
}
}
}
}Settings → Developer → Edit Config (claude_desktop_config.json), then restart.
Install in VS Code
{
"servers": {
"midplaneai": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"midplane",
"server"
],
"env": {
"DATABASE_URL": "<database-url>"
}
}
}
}Add to .vscode/mcp.json in your workspace.
Install in Windsurf
{
"mcpServers": {
"midplaneai": {
"command": "npx",
"args": [
"-y",
"midplane",
"server"
],
"env": {
"DATABASE_URL": "<database-url>"
}
}
}
}Add to ~/.codeium/windsurf/mcp_config.json.
Configuration
| Variable | Required | Secret | Description |
|---|---|---|---|
| DATABASE_URL | yes | yes | 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. |
| PORT | — | — | Port the Streamable HTTP transport binds. Must match the url above if changed. |
Freshness
Active — last maintenance signal 6d ago. The newest of the signals below sets the band.
Last commit (default branch)
2026-10-03 · 6d ago · GitHub
Latest release
2026-10-03 · 6d ago · GitHub · v0.22.0
Package published
no data · npm/PyPI
Registry entry updated
2026-08-25 · 45d ago · official registry · v0.20.0
FAQ
›How do I install the Midplane MCP server in Claude Code?
Run: claude mcp add midplaneai -e DATABASE_URL='<database-url>' -- npx -y midplane server. For Cursor, VS Code, Claude Desktop and Windsurf, use the install tabs above.
›Does Midplane require an API key?
Yes. It expects DATABASE_URL, of which 1 is a secret.
›Can I use Midplane as a remote (hosted) MCP server?
Yes — it offers both a hosted endpoint and a local stdio package.
›Is Midplane in the official MCP registry?
Yes, as ai.midplane/midplane.
Alternatives to Midplane
Other database MCP servers.