何が発表されたのか
米マイクロソフトは、現地時間2026年7月28日に開催された技術イベント「Visual Studio Live!」において、SQLデータベースと生成AIエージェントを安全に接続するための新技術「SQL MCP Server」を発表しました。本技術は、開発者がデータベース接続やクエリ生成のための複雑なコードを書くことなく、AIエージェントに対して安全かつ統制されたデータアクセス環境を提供するものです。
登壇した同社プリンシパルアーキテクトのBob Ward(ボブ・ウォード)氏は、本技術が「Data API builder(DAB)」と呼ばれる既存のオープンソースツールを基盤として開発されたことを明かしました。発表時点での位置づけとしては、研究段階や単なる構想ではなく、すでにGitHub上でソースコードやデモ環境が公開されており、開発者がローカル環境で無償で試用できる段階にあります。
既存の「自然言語からSQLへの直接変換(NL to SQL)」が抱えていた、非効率なクエリの生成やSQLインジェクションといった重大なセキュリティリスクを排除し、AIエージェントがデータベースの構造を自律的に理解して必要なデータを取得できる仕組みを標準化することを目指しています。
発表された機能・アップデートの全容
自然言語からSQL(NL to SQL)への直接変換が抱える限界の解消
従来、多くの開発者がLLM(大規模言語モデル)を用いて自然言語からSQLクエリを直接生成し、それをデータベースに対して実行する仕組み(NL to SQL)を試みてきました。しかし、Ward氏はこれについて「生成されるクエリの品質が極めて低く、本番環境での利用には耐えない」と指摘します。
LLMが生成するクエリは、データベースのインデックスを無視した非効率な走査を行ったり、意図しないテーブル結合によってパフォーマンスを著しく低下させたりする問題がありました。また、悪意のある入力によるSQLインジェクションのリスクも排除できません。
SQL MCP Serverは、LLMに直接SQLクエリを書かせるのではなく、型定義された「Data API builder(DAB)」のAPIレイヤーを介してデータをやり取りします。これにより、AIエージェントは安全にカプセル化されたエンドポイントのみを実行することになり、データベースの安全性が劇的に向上します。
Data API builder(DAB)を基盤とした安全なデータ露出
SQL MCP Serverの最大の特徴は、すでにマイクロソフトが提供しているオープンソースツール「Data API builder(DAB)」をエンジンとして採用している点です。DABは、SQLデータベースの上層に位置し、RESTやGraphQLのエンドポイントを自動的に生成するミドルウェアです。
開発者は「dab-config.json」というJSON形式の構成ファイルを作成するだけで、どのテーブル、ビュー、ストアドプロシージャを外部に露出するかを厳密に制御できます。DABは自動的にすべてのクエリをパラメータ化するため、SQLインジェクションのリスクが根本的に排除されます。
DABは.NETで構築されており、Windows、macOS、Linuxなどのクロスプラットフォームで動作します。また、コンテナ化してAzure Container AppsやKubernetes上で稼働させることも容易であり、高いスケーラビリティを備えています。
Model Context Protocol(MCP)によるAIエージェントとの標準接続
SQL MCP Serverは、Anthropicが提唱し、業界で急速に普及しつつあるオープンな仕様「Model Context Protocol(MCP)」に対応しています。MCPは、AIアプリケーション(クライアント)と、データソースやツールを提供するサーバーとの間の通信を標準化するプロトコルです。
これにより、GitHub Copilot ChatやClaude、ChatGPTなどの多様なAIクライアントが、共通のプロトコルを介してSQL MCP Serverに接続できるようになります。AIエージェントは、サーバーが提供する「ツール」のリストを自律的に取得し、ユーザーの質問に応じて適切なツールを動的に選択・実行します。
動画内のデモでは、VS Codeのチャットウィンドウから「Touring-1000自転車を構成する部品は何ですか」と質問すると、AIエージェントが自動的にSQL MCP Serverの提供するツールを呼び出し、データベースから正確な部品構成情報を取得して回答を生成する様子が実演されました。
構成ファイル「dab-config.json」によるMCPサーバーの有効化
SQL MCP Serverを有効化する手順は極めてシンプルです。既存のDAB構成ファイル(dab-config.json)に、わずか数行のMCP設定を追加するだけで、データベースがMCPサーバーとして機能し始めます。
具体的には、構成ファイル内の「runtime」セクションにおいて、「mcp」を有効化("enabled": true)し、パス(例: "/mcp")を指定します。これにより、DABは従来のRESTやGraphQLに加えて、MCPプロトコルによる要求を受け付けるようになります。
DABは起動時にデータベースのカタログ情報を読み込み、公開されているオブジェクトのメタデータをインメモリにキャッシュします。このキャッシュされた情報が、MCPを介してAIエージェントに「ツール」として提示される仕組みです。開発者は、既存のDAB資産やスキルをそのままAI対応データベースへと昇華させることができます。
ロールベースアクセス制御(RBAC)とSQLセキュリティの二重防御
セキュリティ面において、SQL MCP Serverは「DABレイヤー」と「SQL Serverレイヤー」の二重の防御策を提供します。DABレイヤーでは、ロールベースのアクセス制御(RBAC)を定義でき、特定のロール(例: anonymous や authenticated)に対して、オブジェクトごとの参照・更新権限を細かく設定できます。
さらに、Microsoft Entra ID(旧Azure AD)による認証トークンをDABが検証し、そのユーザー識別情報をSQL Serverの「セッションコンテキスト(Session Context)」に透過的に引き渡す機能("set-session-context": true)をサポートしています。
これにより、SQL Server側で定義された「行レベルセキュリティ(Row-Level Security: RLS)」が自動的に適用されます。AIエージェントを経由したアクセスであっても、ユーザー自身が直接クエリを実行したときと同様に、閲覧可能なデータ範囲が厳密に制限されるため、情報漏洩を確実に防止できます。
ストアドプロシージャを「カスタムツール」として露出する高度なデータ取得
AIエージェントに対して、単にテーブルやビューをそのまま露出するだけでは、複雑なビジネスロジックを伴うデータ取得に対応できない場合があります。SQL MCP Serverでは、SQL Server内のストアドプロシージャを「カスタムツール」としてAIエージェントに提供することができます。
構成ファイル内で、ストアドプロシージャの定義(例: GetProductBOM)を追加し、"mcp": { "custom-tool": true } と設定します。これにより、AIエージェントはこのプロシージャを「特定のパラメータを必要とする専用のツール」として認識します。
デモでは、エージェントがこのカスタムツールを検出し、必要な入力パラメータ(例: 製品ID)を動的に判断してプロシージャを実行し、階層構造を持つ部品表(BOM)データを極めて効率的に取得する様子が示されました。これにより、LLMが自ら複雑な再帰クエリを組み立てる必要がなくなり、実行速度と正確性が大幅に向上します。




