メインコンテンツへスキップ
vsql_mcp は、サーバープロセス内のリスナーから、Model Context Protocol 経由でデータベースを AI エージェントに提供します。エージェントはスキーマの一覧表示、テーブルの説明、および読み取り専用クエリの実行ができます。書き込みは有効にするまで無効のままで、クエリ経路はあなたが指名したデータベースアカウントを通るため、エージェントはそのアカウントに付与した権限そのものを得ます。
この拡張機能は 4 つのプレビュー機能を使用するため、サーバーを --vsql_allow_preview_extensions=ON で起動する必要があります。そうでない場合、INSTALL EXTENSION は拒否されます。

インストール

vsql_mcp はサーバーに同梱されていないため、まずリポジトリからビルドし、生成された vsql_mcp.veb をシステム変数 veb_dir が示すディレクトリにコピーします。その後、インストールします。
インストールされたことを確認します。
ビルド手順はリポジトリにあります。

追加される機能

リスナーの状態を報告する SQL 関数 info() を 1 つ追加します。それ以外はすべて設定と MCP トラフィックです。
starting は、vsql_mcp.vsql_mcp_enabled が ON に設定された瞬間から、25 ms ごとに訪れるバックグラウンドワーカーの次の起床までの間、true になります。この間の呼び出しは、リスナーがまだバインドしていないため、"enabled":false を報告することもあります。

例

リスナーをデータベースに向けて起動します。
エージェントは、MCP Streamable HTTP 経由で http://127.0.0.1:3100 に接続します。各エージェント向けのクライアント設定はリポジトリにあります。
db_url のアカウントがエージェントにできることの上限を決めます。また、すべてのデータベースアカウントが SHOW VARIABLES でパスワードを含む db_url を読めるため、必要最小限の権限だけを付与し、本当に必要になるまで allow_write を無効のままにしてください。ポートが localhost 以外から到達可能になる前に、ベアラートークンを設定して require_auth を有効にしてください。SHOW VARIABLES はそのトークンもすべてのアカウントに見せます。
SET PERSIST で書き込んだ設定は再起動後も残りますが、UNINSTALL EXTENSION はそれを削除します。アンインストールと再インストールの後は、すべての設定がデフォルトに戻り、再起動しても古い値は戻りません。

関連項目