跳至主要內容
hs-sql-agent

Safe DML

核准精確的 Mutation Evidence,再決定整批提交或全部回滾。

execute_dml_sql 以 Preview、核准、commit 前重新驗證與單一伺服器 Transaction 執行一個或多個受支援 DML。第一方預設是 MCP Elicitation,也可使用官方 Webhook 或客製 Provider。

01

一個 Tool,一個 Transaction

分號分隔的 DML 仍由 execute_dml_sql 處理,只核准一次,並依原順序原子提交。

02

Evidence-bound 核准

UPDATE / DELETE 綁定精確 Row Set;INSERT VALUES 綁定不可變 Payload 與編譯 Command。

03

可替換核准 Provider

可用 MCP Elicitation、官方 Webhook adapter 或客製 IDmlApprovalProvider,而且不會把 SQL 執行權交出去。

不新增 Tool,也能做原子 multi-statement DML

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。

Durable 外部流程仍會重新驗證

非同步 Provider 可回傳 Pending。後續完成決策會重新載入目前授權與資料庫設定、重新 Parse / Preview DML、比對核准 Evidence,再建立新的短效 Execution Challenge。