一个 Tool,一个 Transaction
用分号分隔的 DML 仍由 execute_dml_sql 处理,只审批一次,并按原顺序原子提交。
用分号分隔的 DML 仍由 execute_dml_sql 处理,只审批一次,并按原顺序原子提交。
UPDATE / DELETE 绑定精确 Row Set;INSERT VALUES 绑定不可变 Payload 和编译 Command。
可使用 MCP Elicitation、官方 Webhook adapter 或自定义 IDmlApprovalProvider,同时不把 SQL 执行权交给审批系统。
Built-in MCP Surface 保持精简。execute_dml_sql 本身接受一个或多个以分号分隔的 UPDATE、DELETE、INSERT VALUES。Batch 只审批一次,由服务器在一个 Transaction 中提交;任意 Statement stale 或失败都会整批 rollback。
审批 Provider 收到的是 transport-neutral Evidence,不是 Database Connection、Transaction、已验证 Plan 或 commit primitive。验证、Evidence Binding、重新验证和执行都留在 hs-sql-agent。
异步 Provider 可返回 Pending。后续完成决策会重新加载当前授权和数据库配置、重新 Parse / Preview DML、比对审批 Evidence,再创建新的短效 Execution Challenge。