跳至主要內容
hs-sql-agent
2.0.3
文件 2.0.3
文件 管理

Custom Tools

建立並發布特定用途的 Query / DML MCP 工具,同時保留 hs-sql-agent 的完整安全政策邊界。

Custom Tools 讓管理者把特定用途的 SQL 操作包裝成具名 MCP 工具,由既有 SQL 定義驅動,不必讓用戶端每次都從頭產生完整 SQL 語句。

已發布的工具會依照目前驗證通過的 MCP 金鑰所綁定的資料庫解析。伺服器讀取已發布定義,依宣告的參數展開 SQL 範本,再根據工具類型送進型別化的查詢或 DML 執行流程。

工具類型

目前 Custom Tool 有兩種執行類型:

  • Query — 經查詢編譯器與執行階段處理,回傳序列化後的資料列。
  • DML — 展開完成的資料修改 SQL 先進入型別化 DML 執行流程,再沿用和內建資料修改工具相同的 DML 核准流程。

未知的工具類型會直接拒絕。

只有發布後才可使用

執行階段只會在目前 MCP 金鑰綁定的資料庫中尋找已發布工具。即使某個定義已存在於管理介面,只要尚未發布,就不會以對應的 MCP 工具名稱提供給用戶端。

因此,編輯與審查可以和實際對外開放的 MCP 工具集合分開進行。

Custom 不代表繞過治理

執行前,proxy 會先驗證工具存取權與資料庫綁定。Query 工具仍套用目前的安全政策、資料表白名單與 SQL 並行執行限制;DML 工具則使用型別化 DML parser 與 TypedDmlApprovalFlow,包含資料表白名單解析與人工核准。

每次執行也會寫入稽核事件。換句話說,Custom Tool 是同一安全邊界內的可重用介面,不是繞過安全邊界的捷徑。

MCP 金鑰可見範圍

Custom Tool 名稱可以和內建工具名稱一起加入 MCP 金鑰的允許工具清單。建議只開放用戶端真正需要的具名工具,不要讓整個工具集合維持不受限制的狀態。