單一受治理 MCP surface
讓模型使用 PostgreSQL,但不直接交出 unrestricted database connection。
讓模型使用 PostgreSQL,但不直接交出 unrestricted database connection。
PostgreSQL 專屬 SQL 語意留在明確的 source / target capability boundary 裡。
Database scope、table policy、tool restriction、rate limit、Safe DML 與 audit 都先於 commit。
即使 PostgreSQL 本身能執行某段 SQL,也不代表 model-generated statement 就應該被信任。SQL 會先進入 typed validation 與 capability pipeline。
Provider support 代表 runtime 能連線、讀取 metadata、compile 已支援 statement,並在 policy 下執行;不代表所有 vendor-specific syntax 都自動放行。
MCP client 可以先透過 built-in metadata tools 取得 schemas、tables 與 columns,再產生 PostgreSQL SQL,降低盲猜 schema,同時維持在相同 authenticated database scope 裡。
PostgreSQL 與其他 provider 遵守同一規則:不支援的 syntax 或無法證明的 cross-provider semantics 會在正確的 validation / capability boundary 被拒絕,不會偷偷改寫成行為不同的 SQL。
若 MCP 用戶端直接持有資料庫帳密,模型能做什麼往往只剩資料庫帳號權限這一道邊界。hs-sql-agent 把真正的 PostgreSQL 連線保留在伺服器端,SQL 執行前還會經過編譯器、MCP 金鑰範圍、資料表政策、工具限制與執行期限制。
因此 Agent 仍可使用支援範圍內的原始 SQL,不必把「能產生 SQL」等同於「擁有不受限制的資料庫權限」。