変更を実行せず、影響を受ける行を先に確認します。
MCP ネイティブ · フェイルクローズ · 6 種類の SQL 方言
AI エージェントから SQL を安全に実行。
AI が生成した SQL とデータベースの間に、SQL コンパイラとアクセス制御の境界を設けます。hs-sql-agent は SQL を解析・検証し、接続先で意味を安全に保てることとアクセス権限を確認してから、データベースごとの SQL を実行します。
docker compose up -d FROM orders
WHERE status = 'ready'
SQL 実行境界
AI が生成した SQL を、信頼できない入力として扱う。
重要なのは SQL を生成できることではありません。その文の意味を、許可した SQL 方言・機能・アクセスポリシーの範囲内で安全に実行できると確認できることです。
フェイルクローズ SQL コンパイラ
対応していない構文は、意味の異なる SQL に暗黙変換せず、その場で拒否します。
02 / DML人の承認を必須にする DML
変更前に影響範囲を確認し、承認内容を検証済み実行計画へ固定したうえで、コミット直前に対象行を再検証します。
03 / DIALECTS6 種類のデータベース方言
PostgreSQL、MySQL、SQL Server、Oracle、SQLite、Firebird を共通の MCP インターフェースから利用できます。
04 / POLICYアクセス制御をモデルの外側へ
MCP キーごとにデータベース、テーブル、ツール、レート制限、セキュリティポリシー、監査をサーバー側で強制します。
安全なデータ更新
DML の承認は、確認ダイアログではなく実行プロトコルです。
UPDATE と DELETE は変更前に対象行を読み取り、承認を検証済み実行計画と行集合のフィンガープリントへ結び付け、コミット直前にもう一度確認します。
MCP form Elicitation を使い、人の明示的な承認を要求します。
コミット用トランザクションで対象行を再取得し、承認時の状態と一致するか確認します。
実行計画、ポリシー、承認チャレンジ、行数、対象行集合がすべて一致する場合にだけ変更を確定します。
共通の MCP、6 種類の SQL 方言
既存のデータベースをそのまま使う。
SQL コンパイラがデータベースごとの意味の違いを明示的に扱い、MCP クライアントには共通の統制されたインターフェースを提供します。
MCP と .NET 連携
エージェントが使う環境へそのまま接続。
Claude Desktop や Cursor などのリモート MCP クライアントへ接続するか、同じアクセス制御を ASP.NET Core アプリケーションへ組み込めます。