Loading…
Safe-by-default SQL guardrails for AI agents: AST-checked queries, per-table policy, audit log.
Midplane is an MCP server entry in ChatHome Skills, sourced from Official MCP Registry and scored 73/100. As a Model Context Protocol server, it exposes tools that MCP-compatible LLM clients such as Claude, Cursor, and Copilot can call directly, extending an agent's reach beyond its built-in capabilities. ChatHome Skills discovered this entry through its daily ingest of official registries and GitHub discovery queries, and re-verifies repository facts, freshness signals, and install metadata on every run. The quality score weighs official-registry presence, a working install command, license clarity, GitHub star trajectory, and repository freshness — the full formula is on the Sources page. The install command above is ready to copy. Review the last-pushed date and repository status before adding Midplane to a production agent workflow; the snapshot facts below are point-in-time values from the most recent ingest.
npx -y midplane@0.20.0Review the upstream source before running this command.
{
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"isLatest": true,
"updatedAt": "2026-08-25T13:07:26.745026Z",
"publishedAt": "2026-08-25T13:07:26.745026Z",
"statusChangedAt": "2026-08-25T13:07:26.745026Z"
}
},
"server": {
"name": "ai.midplane/midplane",
"title": "Midplane",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.20.0",
"packages": [
{
"version": "0.20.0",
"transport": {
"type": "stdio"
},
"identifier": "midplane",
"runtimeHint": "npx",
"registryType": "npm",
"registryBaseUrl": "https://registry.npmjs.org",
"packageArguments": [
{
"type": "positional",
"value": "server",
"valueHint": "subcommand"
},
{
"name": "--stdio",
"type": "named"
}
],
"environmentVariables": [
{
"name": "DATABASE_URL",
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "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."
},
{
"name": "MIDPLANE_POLICY_FILE",
"format": "filepath",
"description": "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`."
},
{
"name": "DB_PATH",
"format": "filepath",
"description": "Where the local SQLite audit log is written. Defaults to ~/.midplane/audit.db; read it back with `midplane audit denies`."
},
{
"name": "MIDPLANE_TELEMETRY",
"choices": [
"1",
"0",
"debug"
],
"default": "1",
"description": "Set to 0 to disable anonymous usage telemetry (DO_NOT_TRACK=1 also works). Never includes SQL, table or column names, or identifiers."
}
]
},
{
"transport": {
"url": "http://localhost:8080/mcp",
"type": "streamable-http"
},
"identifier": "docker.io/midplane/midplane:0.20.0",
"runtimeHint": "docker",
"registryType": "oci",
"environmentVariables": [
{
"name": "DATABASE_URL",
"format": "string",
"isSecret": true,
"isRequired": true,
"description": "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."
},
{
"name": "MIDPLANE_POLICY_FILE",
"format": "filepath",
"description": "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."
},
{
"name": "PORT",
"default": "8080",
"description": "Port the Streamable HTTP transport binds. Must match the url above if changed."
}
]
}
],
"repository": {
"url": "https://github.com/midplaneai/midplane",
"source": "github",
"subfolder": "engine/packages/mcp-server"
},
"websiteUrl": "https://midplane.ai/docs",
"description": "Safe-by-default SQL guardrails for AI agents: AST-checked queries, per-table policy, audit log."
}
}