SQL 审核 MCP Server,面向 AI Agent

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 二进制文件,无需手动安装。

MCP 工具列表

通过 MCP 进行元数据感知审核

提供连接信息可让 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 控制的元数据感知审核。

MCP Server 的 runtime config

deltascope-mcp -runtime-config /etc/deltascope/runtime.yaml

Runtime config 设置日志默认值和 metadata connect timeout,不改变审核规则。完整示例见 runtime-config.yaml

支持的数据库

DeltaScope 不是什么

常见问题

哪些 AI Agent 可以使用这个 MCP Server?
任何兼容 MCP 的 Agent 都可以使用:Claude Code、Codex、Cursor、Windsurf 以及其他支持 Model Context Protocol 的工具。Server 以 stdio 进程方式运行。
MCP Server 需要数据库连接吗?
不需要。默认模式是离线优先。它解析 SQL 文本并评估规则,无需任何网络连接。可选的元数据感知模式可以通过只读表统计信息丰富结果。
可以自定义审核规则吗?
可以。每条规则都有可配置的严重级别(blocker、warning、notice)和可选参数。通过 YAML 策略文件配置。
connect_timeout 怎么用?
在命名连接 YAML 中设置 connect_timeout,或在直接连接输入中传入。它控制元数据连接的超时等待时间。Runtime config 可以设置进程级默认值;请求级别的值会覆盖它。