DeltaScope 是一个离线优先的 SQL 审核 MCP Server,支持 AI Agent 在执行前审核 MySQL、TiDB、PostgreSQL 的 DDL 和 DML 语句。它作为 stdio MCP Server 运行,暴露 audit_sql 工具供 AI 编码 Agent 在开发会话中内联调用。
当 AI Agent 生成或遇到 SQL 语句时,调用 DeltaScope 的 audit_sql MCP 工具。DeltaScope 解析 SQL、评估所有适用规则,并返回包含 blocker、warning、notice 的结构化结果。离线审核不需要数据库连接。可选的元数据感知模式使用只读表统计信息丰富结果。
// AI agent 调用 MCP 工具
audit_sql({
sql: "ALTER TABLE users DROP COLUMN email;",
dialect: "mysql"
})
// DeltaScope 返回结构化结果
{
verdict: "reject",
summary: { blockers: 1, warnings: 0, notices: 0 },
statements: [{
findings: [{
severity: "blocker",
rule: "ddl.alter.drop.column",
message: "dropping column \"email\" is a destructive change"
}]
}]
}
# 添加到 Claude Code
claude mcp add --scope user deltascope -- npx -y @fanduzi/deltascope-mcp
# 添加到 Codex
codex mcp add deltascope -- npx -y @fanduzi/deltascope-mcp
npm launcher 会自动下载并运行对应平台的 deltascope-mcp 二进制文件,无需手动安装。
audit_sql — 审核一条或多条 SQL(离线或元数据感知)describe_rule — 查看指定规则的详情和示例list_rules — 列出所有可用的审核规则get_capabilities — 查询方言支持、错误码和连接选项提供连接信息可让 DeltaScope 读取表统计信息,获得更丰富的结果。命名连接支持 connect_timeout:
# ~/.config/deltascope/connections.yaml
connections:
local_mysql:
host: 127.0.0.1
port: 3306
user: root
password_env: MYSQL_PASSWORD
schema: app
dialect: mysql
connect_timeout: 5s
MySQL、TiDB 和 PostgreSQL 都支持带 connect_timeout 控制的元数据感知审核。
deltascope-mcp -runtime-config /etc/deltascope/runtime.yaml
Runtime config 设置日志默认值和 metadata connect timeout,不改变审核规则。完整示例见 runtime-config.yaml。
dialect: "tidb" 启用 TiDB 兼容解析connect_timeout,或在直接连接输入中传入。它控制元数据连接的超时等待时间。Runtime config 可以设置进程级默认值;请求级别的值会覆盖它。