# DryRun — Offline PostgreSQL MCP (No DB Creds) > DryRun snapshots your PostgreSQL schema once and provides offline linting plus migration/query checks via CLI + MCP, without sharing prod credentials. ## Install Merge the JSON below into your `.mcp.json`: ## Quick Use ```bash brew install boringsql/boringsql/dryrun dryrun init dryrun import schema.json dryrun lint claude mcp add dryrun -- dryrun mcp-serve ``` ## Intro DryRun snapshots your PostgreSQL schema once and provides offline linting plus migration/query checks via CLI + MCP, without sharing prod credentials. **Best for:** teams who want database-aware agents without sharing `DATABASE_URL` **Works with:** PostgreSQL schemas (JSON snapshots), MCP clients over stdio/SSE, Homebrew/Rust installs **Setup time:** 10-18 minutes ### Key facts (verified) - GitHub: 27 stars · 2 forks · pushed 2026-05-12. - License: BSD-2-Clause · owner avatar + repo URL verified via GitHub API. - README-verified entrypoint: `brew install boringsql/boringsql/dryrun`. ## Main - Adopt the “schema file” model: one person dumps/imports a snapshot, everyone else runs `dryrun lint` offline as shown in the README demo. - Use the MCP server to give agents schema intelligence without credentials; README shows `claude mcp add dryrun -- dryrun mcp-serve`. - Treat lint output as actionable checklists: README includes example warnings/errors and suggested fixes (PKs, timestamptz, FK indexes). ### Source-backed notes - README states `dryrun` is both a CLI tool and an MCP server, intentionally separated. - README explains the MCP server reads snapshots and exposes tools over stdio or SSE without a live DB connection. - README includes offline demo output with violations and fixes, and documents `dryrun mcp-serve` usage. ### FAQ - **Does it need prod DB access for the MCP server?**: No — README emphasizes snapshots so credentials stay with DBAs. - **How do I start the MCP server?**: Use `dryrun mcp-serve` and add it via your client config (README shows Claude). - **Can it lint offline?**: Yes — README demonstrates `dryrun lint` working entirely from a schema file. ## Source & Thanks > Source: https://github.com/boringSQL/dryrun > License: BSD-2-Clause > GitHub stars: 27 · forks: 2 --- ## Quick Use ```bash brew install boringsql/boringsql/dryrun dryrun init dryrun import schema.json dryrun lint claude mcp add dryrun -- dryrun mcp-serve ``` ## Intro DryRun 是 PostgreSQL 的 CLI + MCP server:先快照一次 schema,之后离线提供 lint/查询校验/迁移安全检查,并可通过 stdio/SSE 暴露给 MCP 客户端,让助手无需接触生产库凭据。 **Best for:** 想让 agent “懂库”,但不想分发 `DATABASE_URL` 的团队 **Works with:** PostgreSQL schema 快照(JSON);stdio/SSE MCP 客户端;Homebrew/Rust 安装 **Setup time:** 10-18 minutes ### Key facts (verified) - GitHub:27 stars · 2 forks;最近更新 2026-05-12。 - 许可证:BSD-2-Clause;作者头像与仓库链接均已通过 GitHub API 复核。 - README 中核对过的入口命令:`brew install boringsql/boringsql/dryrun`。 ## Main - 按 README 的“schema 文件”思路落地:有人导出/导入快照,其他人直接离线 `dryrun lint`。 - 用 MCP server 给 agent 供“schema 大脑”,但不暴露凭据;README 给出 `claude mcp add dryrun -- dryrun mcp-serve`。 - 把 lint 输出当可执行清单:README 示例包含主键、timestamptz、FK 覆盖索引等问题与修复建议。 ### Source-backed notes - README 明确说明 `dryrun` 同时是 CLI 与 MCP server,并刻意分离。 - README 说明 MCP server 基于快照工作,可用 stdio/SSE 暴露工具且无需实时 DB 连接。 - README 提供离线 demo 的违规输出与修复建议,并写明 `dryrun mcp-serve` 用法。 ### FAQ - **MCP server 需要生产库权限吗?**:不需要。README 强调用快照避免分发凭据。 - **怎么启动 MCP server?**:执行 `dryrun mcp-serve` 并按客户端配置添加(README 以 Claude 为例)。 - **离线能 lint 吗?**:能。README 展示了仅靠 schema 文件就能 `dryrun lint`。 ## Source & Thanks > Source: https://github.com/boringSQL/dryrun > License: BSD-2-Clause > GitHub stars: 27 · forks: 2 --- Source: https://tokrepo.com/en/workflows/dryrun-offline-postgresql-mcp-no-db-creds Author: MCP Hub