Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

MCP Toolbox for Databases × AlloyDB:実践検証

By Joseph Bharath Reddy AllamJan 23, 20269 min read

このページはEnglishDeutschEspañolFrançaisItalianoPortuguêsでもご覧いただけます。

生成AIは、チームの働き方、システムの捉え方、データへのクエリ実行のあり方に欠かせない存在になりつつあります。コード補完やチャット型アシスタントに始まった流れは、いまやインフラ、運用、データ基盤へと広がっています。データベースも例外ではなく、自然言語でクエリを投げたり、スキーマを探索したり、分析を支援させたりといった使い方を試すチームが増えています。

一方でデータベースは、システムの中でも特に機微で、運用上の重みが大きいコンポーネントです。これを自由形式のAIプロンプトに直接さらすことは、正確性・セキュリティ・制御性の面で無視できない懸念を生みます。AIが本番システムに近づくほど、モデルとデータベースのやり取りには、単純なプロンプトベースのSQL生成を超える構造が求められます。

MCP Toolbox for Databases は、この課題に取り組むGoogle発のオープンソースプロジェクトです。AIツールがデータベースを扱う際に、生のテキストプロンプトではなく、明確に定義された操作を介する構造化されたプロトコルベースの手段を提供します。MCP Toolbox はAIツール連携のためのデータベース非依存なフレームワークであり、各データベースはそれぞれ専用のMCPツールを通じて対応します。これらのツールはあらかじめ用意された統合でも独自実装でも構わず、Gemini CLI拡張機能から直接利用できます。本記事では、PostgreSQL互換の例として AlloyDB を取り上げます。ソースコードとプロジェクトドキュメントはGitHubで公開されています:https://github.com/googleapis/genai-toolbox

はじめに:MCP Toolbox for Databases が重要な理由

大規模言語モデルがデータベース周辺で使われる場面は急速に増えています。開発者はSQLを書かせたり、スキーマを説明させたり、分析的な問いに答えさせたりしています。ただ、その多くはいまだに単純なtext-to-SQL生成に頼っており、プロンプトを基にモデルがクエリを生成し、それが実際のスキーマやデータと一致することを期待するという形にとどまっています。

このやり方は小規模なデモなら通用しますが、限界はすぐに見えてきます。モデルはスキーマの知識が不完全で、権限の状況も把握できず、クエリがどのように実行されるかも分かっていません。データベースの立場からすれば、結果を信頼することも、こうしたツールを実環境に安全に組み込むことも難しくなります。

Model Context Protocol(MCP)は、これとは異なる発想に立ちます。モデルに推測させるのではなく、AIツールが明示的かつ明確に定義された操作を通じてシステムとやり取りできるようにします。データベースは、テーブル一覧の取得、スキーマの記述、クエリの実行、実行計画の取得といった機能を「ツール」として公開できます。AIクライアントはそのツールを呼び出し、想像ではなく実際の出力を扱います。

MCP Toolbox for Databases は、この発想をGoogleがオープンソースとして実装したものです。データベースの機能をMCP経由で公開し、AIツール連携のためのデータベース非依存なフレームワークを提供します。各データベースは、それぞれ専用のMCPツールを通じて対応します。本ウォークスルーでは、PostgreSQL互換の例として AlloyDB を使用します。各操作が具体的なツール呼び出しとして処理されるため、対話の挙動は予測しやすく、観測しやすく、制御しやすくなります。

本記事では、AlloyDB for PostgreSQL と Gemini CLI を使った実践的なセットアップを順を追って紹介します。重視するのは、これが実際にどのような体験になるかという点です。SQLを書かずにデータベーススキーマを探索し、自然言語で投げかけたビジネス上の問いに実クエリで答え、それらのクエリがどのように実行されるかを確認していきます。狙いは自動化を推し進めることではなく、MCPによってAIツールとデータベースの関わり方がどう変わるのか、そしてその変化がデータベースエンジニアにとって理解可能で信頼できる形になることを示すことにあります。

アーキテクチャ概要:Gemini CLI、MCP Toolbox、AlloyDB

High-level architecture illustrating how Gemini CLI uses MCP Toolbox to execute structured database operations against AlloyDB.

個別のクエリや事例を見る前に、このセットアップで各コンポーネントがどう組み合わさるかを押さえておくと役立ちます。構成要素は複数ありますが、全体のアーキテクチャはシンプルで、意図して階層化されています。

大きな視点では、Gemini CLI がユーザー側のインターフェースを担います。プロンプトを入力し、応答を確認する場所です。データベース関連のプロンプトが投げられても、Gemini が AlloyDB に直接アクセスすることはありません。代わりにMCPを通じてデータベースの機能を発見し、構造化された方法で呼び出します。

Gemini CLI 向けの AlloyDB 連携には MCP Toolbox for Databases が同梱されています。このセットアップでは、MCP Toolbox は Gemini CLI 拡張機能の一部として暗黙的に動作します。AlloyDB 拡張機能と Gemini CLI を併用する場合、別途インストールや管理が必要な独立したMCPサーバープロセスはありません。他のIDEやMCPクライアントから接続する場合は、MCP Toolbox は通常スタンドアロンサーバーとして起動します。Gemini CLI を起動すると AlloyDB 拡張機能が読み込まれ、MCPサーバーを登録し、データベース関連のツール群を公開します。

これらのツールは大きく2つに分かれます。1つはクラスターやインスタンスの一覧取得など、管理・インフラ系の操作。もう1つは、スキーマのイントロスペクション、クエリの実行、パフォーマンス関連メタデータの取得など、データベースレベルの操作です。各操作は、入力と出力が明確に定義された個別のツールとして公開されます。

プロンプトがデータベースとの対話を必要とする場合、Gemini は適切なMCPツールを選び呼び出します。MCPサーバーはそのリクエストを AlloyDB に対して実行し、構造化された結果を返します。Gemini はその結果をもとに自然言語の応答を生成します。スキーマの細部を推測したり結果を捏造したりはしません。あくまで、明示的なツール呼び出しが返したライブのデータを扱います。

認証と認可はプロンプトの流れの外で処理されます。Google Cloud API へのアクセスには Application Default Credentials を用い、ローカルユーザーのアイデンティティを IAM 権限にマッピングします。データベースアクセスには標準的な PostgreSQL の認証情報を使用します。AlloyDB 自体は標準的な PostgreSQL 互換システムのままで、MCPがデータベースの動作を変えるわけではありません。変わるのは、AIツールとデータベースの関わり方です。

本記事のセットアップは、Gemini CLI が MCP Toolbox を介して AlloyDB インスタンスに接続する方法を解説した、Google公式の AlloyDB 連携手順に沿っています:https://docs.cloud.google.com/alloydb/docs/connect-ide-using-mcp-toolbox

ADC によるセキュアな認証とアクセス制御

認証はこのセットアップの重要な要素ですが、いったん設定してしまえばほとんど意識せずに済みます。Gemini CLI と MCP Toolbox は、Application Default Credentials(通称ADC)を使って Google Cloud に対して認証します。ADC は、ローカルのツールやアプリケーションが、ユーザーのアイデンティティと環境設定に基づいて Google Cloud の認証情報を取得するための標準的な仕組みです。

ADC を使えば、ローカルツールは開発者自身のアイデンティティで Google Cloud API に認証できます。APIキーや埋め込みのサービスアカウントファイルは不要です。権限は標準的な IAM ロールで管理され、MCPツールが実行できるインフラレベルの操作の範囲を決めます。

データベースアクセスは別経路で扱われます。SQL の実行には標準的な PostgreSQL 認証とデータベースユーザーを使用します。これによりクラウド側の権限とデータベース側の権限を独立して管理でき、多くのチームの実運用とも噛み合います。

このモデルなら、シークレットをプロンプトや設定ファイルに埋め込む必要はありません。既存のクラウドおよびデータベースのロギングを使って操作を監査することも可能です。AI 支援のデータベースワークフローにおいて、アイデンティティ・認可・実行の分離は欠かせません。

SQL を書かずにデータベースを把握する

環境が整ったら、まず試したい便利な機能がデータベースのイントロスペクションです。推測された知識に頼るのではなく、MCPを介してデータベース自身がツール経由でメタデータを公開してくれます。

データベースの概要を求めるシンプルなプロンプトは、MCPの database_overview 操作を起動します。これにより、エンジンのバージョン、稼働時間、接続統計などのリアルタイム情報が返されます。

Database overview returned by AlloyDB via MCP, showing PostgreSQL version, uptime, and active connections.

次のステップはスキーマの探索です。すべてのテーブルを列挙するよう依頼すると、Gemini が適切なMCPツールを呼び出し、システムカタログに直接問い合わせます。

List of database tables retrieved using MCP tools in Gemini CLI without writing SQL.

スキーマの理解とテーブル間の関連性

基本的なスキーマ探索ができるようになると、次に重要になるのはテーブル間の関連性の把握です。多くの自然言語アプローチは、メタデータへの直接アクセスがないために、ここでつまずきます。

MCPを使えば、Gemini はデータベースのスキーマに直接問い合わせてテーブルを記述できます。この例では orders テーブルを対象に、カラム、主キー、外部キーリレーションを含めて記述します。

Schema details for the orders table, including columns, primary key, and foreign key relationships.

これらの情報はデータベースから直接取得されるため、スキーマが進化しても精度が保たれます。このレベルのスキーマ把握は、正確な分析クエリを生成するための前提条件です。

自然言語からSQL分析へ

スキーマの把握ができれば、より高度な分析的問いにも自然言語で答えられるようになります。このセットアップでは、自然言語のクエリは、MCPツールを介して実行される明示的なSQL操作に変換されます。

最初の例では、合計注文額の上位5顧客を抽出します。Gemini は customers、orders、order details を結合し、売上を集計し、結果をソートするSQLを生成します。SQLは AlloyDB に対して直接実行されます。

Query results showing top customers by total order value, generated and executed via MCP.

2つ目の例では、製品とサプライヤー別の売上を計算する、より複雑で結合の多いクエリを扱います。

Revenue by product and supplier calculated using a SQL query executed through MCP.

ここで重要なのは透明性です。生成されたSQLは目に見え、実行は本物で、結果はデータベースから直接得られます。

クエリ実行計画とパフォーマンスの可視化

クエリ結果だけでなく、そのクエリがどのように実行されているかを知ることも、実システムでは欠かせません。MCPはクエリ実行計画や関連メタデータを取得できます。

クエリの実行方法を説明するよう依頼すると、Gemini は AlloyDB から実行計画を取得するMCPツールを呼び出します。データベースは通常の PostgreSQL のロジックで計画を生成し、Gemini がそれを自然言語で解説します。

Query execution plan from AlloyDB with an explanation generated using MCP tools.

小規模なデモ用データセットでは、シーケンシャルスキャンやハッシュ結合が出てくるのは想定どおりです。データセットが大きくなれば、同じワークフローでインデックス利用、並列実行、チューニング余地などを浮かび上がらせることができます。MCPがクエリを自動最適化するわけではなく、データベースが実際に何をしているかを読み解く助けになるという位置づけです。

プロンプトベースSQLとMCP Toolboxの違い

従来のプロンプトベースのSQLは、モデルがスキーマの細部やクエリ構造を推測することに依存していました。MCPはこれを、明示的でツールに裏打ちされた操作に置き換えます。

スキーマ情報、クエリの実行、パフォーマンスメタデータがデータベースから直接得られるため、結果の検証や根拠の確認が容易になります。これにより、正確性と制御性が問われる実環境にこそ、MCPベースのワークフローは適しています。

MCP Toolbox を使うべき場面

MCP Toolbox は、スキーマ探索、分析、開発者の生産性向上、クエリ分析の支援といった用途に向いています。トランザクショナルなアプリケーション経路や、無制限の自動化を置き換えるものではありません。その強みは、AI支援によるデータベース対話を観測可能にし、実際の操作に根ざしたものへと整える点にあります。

本記事の例は探索および分析のワークフローに焦点を当てています。本番環境では、アクセス制御、権限、運用上のセーフガードを、他のデータベース操作と同じように適用すべきです。

MCP Toolbox for Databases は、生成AIが本番データベースとどう関わるかという問いに対する、実践的な前進だといえます。プロンプト頼みの推測ではなく、AIが実際のスキーマメタデータを扱い、実際のクエリを実行し、実際の実行計画を提示する、構造化されたツール駆動のモデルを持ち込みます。AlloyDB と Gemini CLI を組み合わせることで、AI支援によるデータベースの探索と分析は、より透明で、監査可能で、データベースチームの既存の運用に沿ったものになります。

各組織がデータアクセスに自然言語インターフェースを試し始めるなか、その背後にある対話モデルの設計は重要な意味を持ちます。MCPは、正確性、制御性、可観測性を最優先する基盤を提供します。AIが重要なデータシステムへ近づくほど、いずれも欠かせない要素です。

AI支援のワークフローをデータベース環境へ安全に取り入れる方法を検討している方、あるいは Google Cloud 上で MCP ベースの統合を評価している方は、ぜひ DoiT にご相談ください。クラウドアーキテクトとデータスペシャリストのチームが、世界各地のお客様とともに、概念実証から本番運用まで、モダンなデータプラットフォームの設計、検証、最適化を支援しています。

MCP、AlloyDB、生成AIをデータ戦略にどう組み込むか、そしてそれをセキュアで信頼性が高く、運用目標と整合する形で実現する方法について、お気軽にご相談ください。

MCP Toolbox は、AIツールが推測に頼らずデータベースとやり取りするための構造化された手段を提供します。Gemini CLI と AlloyDB を組み合わせることで、透明で、監査可能で、データベースの基本に沿った自然言語ワークフローが実現します。

MCPはデータベースを抽象化して隠してしまうのではなく、AIツールが安全に扱える形で表に出します。生成AIをデータワークフローに取り込もうと模索しているチームにとって、これは現実的な前進の道筋です。