伺服器端驗證
agent 送出的是結構化查詢,而不是原始 SQL。valv 會在任何 SQL 執行前,於伺服器端依據即時 schema 重建並再次檢查。
valv 是一個開發者工具,讓 AI agent 能安全且受範圍控管地存取資料庫。模型不會撰寫原始 SQL;相反地,它會輸出結構化查詢,valv 再依 live schema 驗證、限制在目前呼叫者範圍內、編譯成 SQL,並執行。
這個產品適用於 agent 需要真正資料庫存取、但又不應看見資料庫全部內容的情境。政策以程式碼定義,存取預設為拒絕,且同一個查詢會依呼叫者的 tenant 或角色而回傳不同結果。
agent 送出的是結構化查詢,而不是原始 SQL。valv 會在任何 SQL 執行前,於伺服器端依據即時 schema 重建並再次檢查。
政策以 TypeScript 撰寫,可依呼叫者範圍控管資料列與欄位。文件將預設拒絕所有存取描述為建議做法,並明確加入必要存取。
查詢層支援篩選、彙總、時間序列與 top-N 查詢,因此 agent 能詢問的不只是一對一查找。
回應會被限制,避免寬泛查詢回傳超出模型可處理的資料量。首頁將此描述為具 token 感知的輸出控管。
valv 可搭配 Postgres、MySQL、SQLite 與 ClickHouse,文件也描述了 Prisma 與 ClickHouse 的 adapter。
你可以將工具交給 Vercel AI SDK,或透過 MCP 對外提供,讓同一套資料庫政策能在不同 agent 設定中使用。
在讓資料列與欄位存取綁定目前 tenant 或使用者情境的同時,為應用程式 agent 加入以資料庫為基礎的回答。
讓分析人員可以提出彙總、篩選、時間序列或 top-N 輸出需求,而不需向模型暴露不受限制的 SQL。
當你希望像 Claude Code 這類工具具備無程式碼存取時,透過 MCP 將資料庫提供給 coding agent。
將資料庫存取規則集中以程式碼管理,讓不同呼叫者可從同一個問題看到不同結果。
valv 位於模型與資料庫之間。模型先輸出結構化查詢,valv 會依據 schema 驗證、套用呼叫者專屬政策、將其編譯為 SQL,然後執行。
來源資料指出的情境包括:面向 agent 的資料庫存取、資料列與欄位範圍控管、像篩選與彙總這類分析查詢,以及與 Vercel AI SDK 或 MCP 搭配使用。來源未提供更長的垂直產業用例清單。
valv 的設計目標是讓模型永遠不會撰寫原始 SQL,且無法存取你所定義政策之外的資料。它會在 SQL 存在之前於伺服器端重建並重新檢查查詢,並以預設拒絕存取作為建議起點。
與原始 SQL 工具相比,valv 在保留 agent 驅動查詢彈性的同時,加入伺服器端驗證與政策範圍控管。文件將其與不受限制的 SQL 以及狹窄的手寫端點做了對照。