不執行修改,先讀取將受影響的目標資料列。
MCP 原生 · 失敗即拒絕 · 六種 SQL 方言
讓 AI Agent 安全執行 SQL。
在 AI 產生的 SQL 與資料庫之間建立 SQL 編譯器與存取控制邊界。hs-sql-agent 會先解析並驗證 SQL,確認目標資料庫能安全維持原始語意,同時檢查存取權限,最後才執行對應資料庫的 SQL。
docker compose up -d SELECT customer_id, total
FROM orders
WHERE status = 'ready'
FROM orders
WHERE status = 'ready'
01ParseRaw SQL → AST
02ValidateSource semantics
03ProveCapability boundary
04CompileProvider SQL
✓ 可執行 SQL 已產生
SQL 執行邊界
把 AI 產生的 SQL 當成不可信輸入。
關鍵不是能不能產生 SQL,而是能不能確認這段語句在允許的 SQL 方言、功能支援範圍與存取政策內維持原始含義並安全執行。
安全的資料修改
DML 核准是一套執行協定,不只是一個確認視窗。
UPDATE 與 DELETE 會在修改前讀取目標資料列,把核准內容綁定到已驗證的執行計畫與資料列集合指紋,並在真正認可前再次核對。
預覽
核准
透過 MCP form Elicitation 明確取得使用者核准。
重新驗證
在認可交易中重新查詢目標資料列,並與核准時的狀態比較。
認可
只有執行計畫、政策、核准挑戰值、資料列數與目標資料列集合全部保持一致時,才真正修改資料。
MCP 與 .NET 整合
直接接入 Agent 正在使用的環境。
可以連接 Claude Desktop、Cursor 等遠端 MCP 用戶端,也可以把相同的存取控制嵌入 ASP.NET Core 應用程式。