MCP Toolbox for Databases 日本語 使い方完全ガイド:AIエージェント×データベース連携を徹底解説!

MCP Toolbox for Databases 日本語 使い方完全ガイド:AIエージェント×データベース連携を徹底解説! MCP Toolbox for Databases
  1. AIエージェントとデータベース連携を劇的に効率化!MCP Toolbox for Databases 日本語 使い方徹底ガイド
    1. MCP Toolbox for Databasesとは?基本と導入
      1. MCP Toolboxの概要とメリット
        1. MCP Toolboxとは:AI時代のデータベース連携の新たな選択肢
          1. 今後の見出し
        2. なぜMCP Toolbox?開発効率向上の3つの理由
          1. 今後の見出し
        3. どんな人にオススメ?ターゲットユーザーを解説
          1. 今後の見出し
      2. 導入前の準備:環境構築とGCP設定
        1. GCPアカウント作成からAPI有効化まで:完全ガイド
          1. 今後の見出し
        2. サービスアカウントとIAM設定:安全なアクセス管理
          1. 今後の見出し
        3. 必要なソフトウェアのインストール:スムーズなセットアップ
          1. 今後の見出し
      3. 簡単スタート!基本的なインストール手順
        1. Toolboxのダウンロードと実行権限付与:最新版をゲット
          1. 今後の見出し
        2. 依存パッケージのインストール:Python環境を整えよう
          1. 今後の見出し
        3. インストール後の動作確認:MCP Inspectorを使ってみよう
          1. 今後の見出し
    2. 実践!MCP Toolbox for Databases 日本語 使い方
      1. tools.yaml設定ファイルの作成:データベース連携の要
        1. 設定ファイルの構造と基本構文:完全理解
          1. 今後の見出し
        2. BigQuery連携設定:サンプルコードで簡単実装
          1. 今後の見出し
        3. Cloud SQL連携設定:PostgreSQL接続例を解説
          1. 今後の見出し
      2. 自然言語クエリの活用:SQL不要のデータ操作
        1. 自然言語クエリの書き方:コツと注意点
          1. 今後の見出し
        2. 複雑なクエリの実例:様々な条件でデータを抽出
          1. 今後の見出し
        3. 自然言語クエリのデバッグ:エラー解決のヒント
          1. 今後の見出し
      3. AIエージェントとの連携:ADKを使った統合
        1. ADKの概要とインストール:エージェント開発の第一歩
          1. 今後の見出し
        2. Toolbox Clientを使った接続:Pythonコードで簡単連携
          1. 今後の見出し
        3. エージェントの実行と動作確認:連携の成否をチェック
          1. 今後の見出し

AIエージェントとデータベース連携を劇的に効率化!MCP Toolbox for Databases 日本語 使い方徹底ガイド

この記事では、AIエージェントとデータベースの連携を劇的に効率化する「MCP Toolbox for Databases」について、日本語での使い方を徹底的に解説します。
MCP Toolbox for Databasesは、AIエージェントがデータベースに安全かつ容易にアクセスできるように設計された、Google Cloud提供のオープンソースツールです。
従来の複雑な設定やコーディングの必要性を大幅に削減し、自然言語でのクエリ実行やセキュリティ機能など、革新的な機能を提供します。
この記事を読むことで、MCP Toolbox for Databasesの基本概念から導入、実践的な使い方、そしてセキュリティ対策やパフォーマンス最適化まで、幅広く学ぶことができます。
AIエージェント開発者、データエンジニア、そしてデータベース管理者にとって、必見の内容です。
ぜひ、この記事を参考にして、MCP Toolbox for Databasesを活用し、あなたのプロジェクトを加速させてください。

MCP Toolbox for Databasesとは?基本と導入

この大見出しでは、MCP Toolbox for Databasesの基本概念、導入メリット、そして導入前の準備について解説します。
MCP Toolbox for Databasesがどのようなツールで、なぜAIエージェントとデータベースの連携において重要なのか、その全体像を把握できます。
また、導入にあたって必要な環境構築やGCP設定、基本的なインストール手順をステップバイステップで説明します。
初心者の方でもスムーズに導入できるよう、丁寧に解説しますので、ご安心ください。

MCP Toolboxの概要とメリット

MCP Toolboxの概要とメリット
この中見出しでは、MCP Toolbox for Databasesの基本的な概要と、利用することで得られるメリットについて詳しく解説します。
AI時代のデータベース連携における課題を解決し、開発効率を向上させるために、MCP Toolboxがどのように役立つのかを具体的に説明します。
どのようなユーザーにとって最適なツールなのか、ターゲットユーザーを明確にし、導入を検討する際の判断材料を提供します。

MCP Toolboxとは:AI時代のデータベース連携の新たな選択肢

MCP Toolbox for Databases(以下、MCP Toolbox)は、近年のAI技術の急速な発展に伴い、複雑化するデータベース連携の課題を解決するために生まれた、革新的なオープンソースツールです。
従来のデータベース連携では、それぞれのデータベースの種類や構造に合わせて、個別のAPIやドライバを開発・管理する必要があり、開発コストや運用負荷が大きくなっていました。
特に、AIエージェントが様々なデータソースにアクセスし、高度な分析や意思決定を行うためには、柔軟性と拡張性の高いデータベース連携基盤が不可欠です。
MCP Toolboxは、Model Context Protocol(MCP)という標準化されたプロトコルを基盤としており、AIエージェントがデータベースにアクセスするための共通インターフェースを提供します。
これにより、個別のAPI実装の必要がなくなり、開発者はより少ないコードで、様々なデータベースとAIエージェントを連携させることが可能になります。
このツールは、単なるAPIラッパーではありません。
自然言語によるクエリ実行、セキュリティ機能、接続プーリングなど、AI時代のデータベース連携に求められる高度な機能を提供し、開発者の生産性を大幅に向上させます。
たとえば、SQLの知識がなくても、「今日の売上データを教えて」といった自然言語の指示で、データベースから必要な情報を抽出できます。
MCP Toolboxが提供する主な機能は以下の通りです。

  • 自然言語クエリ:SQLの知識がなくても、自然言語でデータベースを操作できます。
  • 標準化されたプロトコル(MCP):異なるデータベースやツール間で一貫したインターフェースを提供します。
  • セキュリティ機能:接続プーリング、認証機能など、企業環境での利用を考慮したセキュリティ対策が施されています。
  • オープンソース:100%オープンソースで提供されており、カスタマイズや拡張が容易です。
  • 簡単な統合:10行未満のPythonコードでAIエージェントとデータベースを連携できます。

MCP Toolboxは、特に以下のようなケースで有効です。

  • AIエージェント開発者:様々なデータベースとAIエージェントを連携させたい。
  • データエンジニア:データベース連携の複雑さを解消し、開発効率を向上させたい。
  • データベース管理者:データベースへのアクセスを安全に管理したい。

AI技術の進化に伴い、データベース連携の重要性はますます高まっています。
MCP Toolboxは、AI時代のデータベース連携における新たな選択肢として、開発者や企業にとって強力なツールとなるでしょう。

今後の見出し
  • 1.1.2 なぜMCP Toolbox?開発効率向上の3つの理由
  • 1.1.3 どんな人にオススメ?ターゲットユーザーを解説
なぜMCP Toolbox?開発効率向上の3つの理由

MCP Toolbox for Databasesを導入することで、データベース連携における開発効率を飛躍的に向上させることができます。
その理由は主に以下の3点です。

  1. 標準化されたインターフェースによる開発コスト削減
    MCP Toolboxは、MCP(Model Context Protocol)という標準化されたプロトコルに基づいています。
    これにより、データベースの種類や構造の違いを意識することなく、共通のインターフェースを通じてデータベースにアクセスできます。
    従来のように、データベースごとに異なるAPIやドライバを学習し、個別のコードを記述する必要がなくなるため、開発コストを大幅に削減できます。
    例えば、BigQuery、Cloud SQL、Spannerなど、異なるデータベースを連携させる場合でも、MCP Toolboxを使用すれば、設定ファイルを少し変更するだけで、AIエージェントは同じようにデータベースを操作できます。
  2. 自然言語クエリによるSQL知識不要
    MCP Toolboxは、自然言語クエリをサポートしています。
    これにより、SQLの知識がないユーザーでも、自然な言葉でデータベースに問い合わせることができます。
    例えば、「今日の売上データを教えて」という自然言語のクエリをAIエージェントに送信すると、MCP ToolboxがそれをSQLに変換し、データベースから必要な情報を抽出してくれます。
    これにより、SQLの学習コストを削減できるだけでなく、ビジネスユーザーが直接データにアクセスし、分析を行うことが可能になります。
  3. 簡単な統合による迅速なプロトタイピング
    MCP Toolboxは、わずか10行程度のPythonコードで、AIエージェントとデータベースを連携させることができます。
    yaml形式の設定ファイルを使用することで、データベース接続情報やツールの定義を簡単に行うことができます。
    これにより、迅速なプロトタイピングが可能になり、新しいアイデアを素早く検証することができます。
    例えば、新しいAIエージェントを開発する場合でも、MCP Toolboxを使用すれば、データベース連携部分の開発時間を大幅に短縮し、AIエージェントのロジック開発に集中することができます。

これらの理由から、MCP Toolboxは、データベース連携における開発効率を向上させるための強力なツールと言えます。
特に、AIエージェント開発者やデータエンジニアにとって、MCP Toolboxは、開発プロセスを効率化し、より価値の高いアプリケーションを開発するための重要な選択肢となるでしょう。

今後の見出し
  • 1.1.3 どんな人にオススメ?ターゲットユーザーを解説
どんな人にオススメ?ターゲットユーザーを解説

MCP Toolbox for Databasesは、特定の技術スキルや役割を持つユーザーにとって、特に有効なツールです。
この小見出しでは、MCP Toolboxがどのようなユーザーに最適なのか、具体的なターゲットユーザーを解説します。

  • AIエージェント開発者
    AIエージェントの開発者は、MCP Toolboxを活用することで、データベース連携部分の開発を大幅に効率化できます。
    特に、複数のデータベースを連携させる必要がある場合や、自然言語によるクエリインターフェースを提供したい場合に、MCP Toolboxは非常に有効です。
    また、AIエージェントのプロトタイピングを迅速に行いたい場合にも、MCP Toolboxの簡単な統合機能は役立ちます。
    例えば、チャットボット、仮想アシスタント、自動化ツールなど、様々なAIエージェントの開発において、MCP Toolboxは強力な武器となるでしょう。
  • データエンジニア
    データエンジニアは、MCP Toolboxを活用することで、データベース連携基盤の構築や管理を効率化できます。
    MCP Toolboxの標準化されたインターフェースは、異なるデータベース間のデータ連携を容易にし、データパイプラインの構築をシンプルにします。
    また、MCP Toolboxのセキュリティ機能は、データベースへの安全なアクセスを確保し、データ漏洩のリスクを軽減します。
    例えば、データウェアハウス、データレイク、データマートなど、様々なデータ基盤の構築において、MCP Toolboxは重要な役割を果たすでしょう。
  • データベース管理者
    データベース管理者は、MCP Toolboxを活用することで、データベースへのアクセス管理を効率化できます。
    MCP Toolboxの接続プーリング機能は、データベースへの負荷を軽減し、パフォーマンスを向上させます。
    また、MCP Toolboxの認証機能は、データベースへの不正アクセスを防止し、セキュリティを強化します。
    例えば、クラウドデータベース、オンプレミスデータベースなど、様々なデータベース環境において、MCP Toolboxは安全かつ効率的なアクセス管理を実現します。
  • ビジネスアナリスト
    ビジネスアナリストは、MCP Toolboxを活用することで、SQLの知識がなくても、自然言語でデータベースにアクセスし、データ分析を行うことができます。
    これにより、データ分析の敷居が下がり、より多くのビジネスユーザーがデータドリブンな意思決定に参加できるようになります。
    例えば、売上分析、顧客分析、マーケティング分析など、様々なビジネス分析において、MCP Toolboxはデータ活用を促進するでしょう。

このように、MCP Toolbox for Databasesは、AIエージェント開発者、データエンジニア、データベース管理者、ビジネスアナリストなど、様々な役割を持つユーザーにとって価値のあるツールです。
これらのユーザーは、MCP Toolboxを活用することで、開発効率を向上させ、より安全かつ効率的なデータベース連携を実現することができます。

今後の見出し
  • 1.2 導入前の準備:環境構築とGCP設定

導入前の準備:環境構築とGCP設定

導入前の準備:環境構築とGCP設定
この中見出しでは、MCP Toolbox for Databasesを実際に使い始める前に必要な環境構築とGCP(Google Cloud Platform)の設定について、詳しく解説します。
GCPアカウントの作成から、必要なAPIの有効化、IAM設定など、初心者の方にもわかりやすく、ステップごとに説明します。
これらの準備をしっかりと行うことで、その後のMCP Toolboxのインストールや設定がスムーズに進み、エラーやトラブルを未然に防ぐことができます。

GCPアカウント作成からAPI有効化まで:完全ガイド

MCP Toolbox for Databasesを利用するためには、まずGoogle Cloud Platform(GCP)のアカウントを作成し、必要なAPIを有効化する必要があります。
この小見出しでは、その手順を初心者の方でも迷うことなく進められるよう、詳細に解説します。

  1. GCPアカウントの作成
    • まず、Google Cloud Platformのウェブサイトにアクセスし、「無料で開始」ボタンをクリックします。
    • Googleアカウント(Gmailなど)でログインするか、新しいアカウントを作成します。
    • 利用規約に同意し、必要事項を入力してアカウントを作成します。
      無料トライアルに申し込むことで、300ドルのクレジットが付与され、GCPの様々なサービスを試すことができます。
  2. プロジェクトの作成
    • GCP Consoleにログイン後、画面上部のプロジェクト選択メニューから「新しいプロジェクト」を選択します。
    • プロジェクト名を入力し、プロジェクトIDを確認(または編集)します。
      プロジェクトIDは、GCP内で一意である必要があります。
    • 必要に応じて、組織を選択し、「作成」ボタンをクリックします。
  3. 課金設定
    • プロジェクトが作成されたら、課金設定を行います。
      GCP Consoleの左側のナビゲーションメニューから「課金」を選択します。
    • 課金アカウントを作成するか、既存の課金アカウントをプロジェクトにリンクします。
    • 支払い方法(クレジットカードなど)を登録します。

    重要:課金設定を有効にしないと、一部のGCPサービスを利用できません。

  4. 必要なAPIの有効化
    • MCP Toolbox for Databasesを使用するには、以下のAPIを有効にする必要があります。
      • Cloud SQL Admin API
      • BigQuery API (BigQueryを使用する場合)
      • Cloud Spanner API (Spannerを使用する場合)
      • AlloyDB API (AlloyDBを使用する場合)
    • GCP Consoleの左側のナビゲーションメニューから「APIとサービス」を選択し、「APIとサービスの有効化」をクリックします。
    • 検索ボックスにAPI名を入力し、検索結果から該当するAPIを選択します。
    • APIの概要ページで「有効にする」ボタンをクリックします。
    • 必要なAPIすべてに対して、この手順を繰り返します。

これらの手順を完了することで、MCP Toolbox for Databasesを利用するためのGCP環境が整います。
次のステップでは、サービスアカウントの作成とIAM設定を行い、より安全なアクセス管理を実現します。

今後の見出し
  • 1.2.2 サービスアカウントとIAM設定:安全なアクセス管理
  • 1.2.3 必要なソフトウェアのインストール:スムーズなセットアップ
サービスアカウントとIAM設定:安全なアクセス管理

MCP Toolbox for Databasesを利用する上で、サービスアカウントの作成とIAM(Identity and Access Management)の設定は、セキュリティを確保するために非常に重要です。
サービスアカウントは、アプリケーションやVMインスタンスなどのGCPリソースがGCPサービスにアクセスするための特別なアカウントです。
IAMは、GCPリソースへのアクセス権限を管理するための仕組みです。
この小見出しでは、サービスアカウントの作成とIAM設定の手順を詳細に解説します。

  1. サービスアカウントの作成
    • GCP Consoleの左側のナビゲーションメニューから「IAMと管理」→「サービスアカウント」を選択します。
    • 「サービスアカウントを作成」ボタンをクリックします。
    • サービスアカウント名を入力し、必要に応じてサービスアカウントIDを編集します。
      サービスアカウント名は、GCP内で一意である必要があります。
    • サービスアカウントの説明を入力します(任意)。
    • 「作成して続行」ボタンをクリックします。
  2. ロールの付与
    • サービスアカウントに、MCP Toolbox for DatabasesがアクセスするGCPリソースに対する適切なロールを付与します。
      • Cloud SQL:Cloud SQLクライアント
      • BigQuery:BigQueryデータ閲覧者、BigQueryジョブユーザー
      • Cloud Spanner:Spanner閲覧者、Spannerデータベース管理者
    • 「ロールを選択」をクリックし、必要なロールを選択します。
    • 複数のロールを付与する場合は、ロールを一つずつ選択して追加します。
    • 「続行」ボタンをクリックします。
  3. ユーザーへのアクセス権の許可
    • 他のユーザーにサービスアカウントへのアクセス権を許可する場合は、ユーザーを追加します。
      通常、これは開発者や他のGCPサービスアカウントに対して行います。
    • 「サービスアカウントにこのサービスアカウントへのアクセス権を付与するユーザー、グループ、またはサービスアカウントを入力してください」フィールドに、ユーザーのメールアドレスまたはサービスアカウント名を入力します。
    • 必要なロールを選択し、「完了」ボタンをクリックします。
  4. サービスアカウントキーの作成
    • サービスアカウントキーは、アプリケーションがサービスアカウントとして認証するために使用するJSONファイルです。
      安全な場所に保管し、バージョン管理システムにコミットしないでください。
    • サービスアカウントのリストから、作成したサービスアカウントを選択します。
    • 「キー」タブを選択し、「キーを追加」→「新しいキーを作成」をクリックします。
    • キーのタイプとして「JSON」を選択し、「作成」ボタンをクリックします。
    • キーファイルが自動的にダウンロードされます。
      重要:このキーファイルは、後でMCP Toolbox for Databasesの設定に使用します。

これらの手順を完了することで、安全なアクセス管理のためのサービスアカウントとIAM設定が完了します。
特に、サービスアカウントキーの管理は非常に重要ですので、厳重に行ってください。

今後の見出し
  • 1.2.3 必要なソフトウェアのインストール:スムーズなセットアップ
必要なソフトウェアのインストール:スムーズなセットアップ

MCP Toolbox for Databasesをスムーズにセットアップし、利用するためには、いくつかの必要なソフトウェアをインストールする必要があります。
この小見出しでは、MCP Toolboxの利用に必要なソフトウェアとそのインストール手順について、詳しく解説します。

  1. Python
    • MCP ToolboxはPythonで動作します。
      まだインストールされていない場合は、Pythonをインストールしてください。
      Pythonの公式サイトから最新版をダウンロードし、インストールします。
    • インストール時には、「Add Python to PATH」にチェックを入れることを推奨します。
      これにより、コマンドプロンプトやターミナルからPythonを簡単に実行できるようになります。
  2. pip
    • pipは、Pythonのパッケージをインストールするためのツールです。
      Python 3.4以降には標準で付属していますが、念のため最新版にアップデートしておくことを推奨します。
    • コマンドプロンプトやターミナルで以下のコマンドを実行して、pipをアップデートします。
      python -m pip install --upgrade pip
  3. Toolbox Core SDK
    • Toolbox Core SDKは、MCP Toolbox for DatabasesのPythonクライアントライブラリです。
      これを使用することで、PythonコードからMCP Toolboxの機能を利用できます。
    • コマンドプロンプトやターミナルで以下のコマンドを実行して、Toolbox Core SDKをインストールします。
      pip install toolbox-core
  4. Toolbox Langchain (オプション):
    • Toolbox Langchainは、LangchainとMCP Toolboxを連携させるためのライブラリです。
      Langchainを利用してAIエージェントを構築する場合は、このライブラリをインストールします。
    • コマンドプロンプトやターミナルで以下のコマンドを実行して、Toolbox Langchainをインストールします。
      pip install toolbox-langchain
  5. Agent Development Kit (ADK) (オプション):
    • Agent Development Kit (ADK)は、Googleが提供するAIエージェント構築フレームワークです。
      ADKを利用してAIエージェントを構築する場合は、ADKをインストールします。
    • コマンドプロンプトやターミナルで以下のコマンドを実行して、ADKをインストールします。
      pip install agent-development-kit
  6. Google Cloud SDK (オプション):
    • Google Cloud SDKは、GCPリソースをコマンドラインから操作するためのツールです。
      Cloud Runへのデプロイなど、GCPサービスを操作する場合は、Google Cloud SDKをインストールします。
    • Google Cloud SDKの公式サイトからインストーラをダウンロードし、指示に従ってインストールします。

これらのソフトウェアをインストールすることで、MCP Toolbox for Databasesを利用するための環境が整います。
特に、Pythonとpipのバージョンが最新であることを確認し、必要なライブラリを正しくインストールすることが重要です。

今後の見出し
  • 1.3 簡単スタート!基本的なインストール手順

簡単スタート!基本的なインストール手順

簡単スタート!基本的なインストール手順
この中見出しでは、MCP Toolbox for Databasesを実際にインストールし、基本的な動作を確認する手順を解説します。
必要なファイルのダウンロードから、環境変数の設定、そして動作確認まで、ステップバイステップで丁寧に説明します。
この手順を完了することで、MCP Toolbox for Databasesをローカル環境で起動し、AIエージェントとの連携を試すことができるようになります。

Toolboxのダウンロードと実行権限付与:最新版をゲット

MCP Toolbox for Databasesをインストールする最初のステップは、Toolboxの実行ファイルをダウンロードし、実行権限を付与することです。
この小見出しでは、その手順を詳しく解説します。

  1. Toolboxのバージョンの確認
    • まず、MCP Toolbox for Databasesの最新バージョンを確認します。
      GitHubリポジトリ(https://github.com/googleapis/genai-toolbox)のリリースノートを確認するか、Google Cloudの公式ドキュメントを参照してください。
    • この記事では、例としてバージョン`0.8.0`を使用します。
      実際のインストール時には、最新バージョンに置き換えてください。
  2. Toolboxのダウンロード
    • コマンドプロンプトやターミナルを開き、以下のコマンドを実行して、Toolboxの実行ファイルをダウンロードします。
      export VERSION=0.8.0
      export OS="linux/amd64" # または darwin/arm64, windows/amd64 など
      curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/$OS/toolbox
      • `VERSION`は、ダウンロードするToolboxのバージョンを指定します。
      • `OS`は、使用しているオペレーティングシステムとアーキテクチャを指定します。
        • Linux (amd64): `linux/amd64`
        • macOS (Intel): `darwin/amd64`
        • macOS (Apple Silicon): `darwin/arm64`
        • Windows (amd64): `windows/amd64`
      • `curl`コマンドは、指定されたURLからファイルをダウンロードします。
    • ダウンロードが完了すると、現在のディレクトリに`toolbox`という名前のファイルが作成されます。
  3. 実行権限の付与
    • ダウンロードしたToolboxの実行ファイルに、実行権限を付与します。
    • LinuxやmacOSの場合は、以下のコマンドを実行します。
      chmod +x toolbox
      • `chmod +x`コマンドは、指定されたファイルに実行権限を付与します。
    • Windowsの場合は、PowerShellで以下のコマンドを実行します。
      (通常、Windowsでは特別な権限付与は不要ですが、セキュリティ設定によっては必要となる場合があります。)

      # 該当ファイルがあるディレクトリに移動
      # toolbox ファイルを右クリック → プロパティ → 全般タブ → ブロックの解除にチェック
      

これらの手順を完了することで、MCP Toolbox for Databasesの実行ファイルをダウンロードし、実行権限を付与することができます。
次のステップでは、必要な依存パッケージをインストールし、Toolboxを実行するための環境を整えます。

今後の見出し
  • 1.3.2 依存パッケージのインストール:Python環境を整えよう
  • 1.3.3 インストール後の動作確認:MCP Inspectorを使ってみよう
依存パッケージのインストール:Python環境を整えよう

MCP Toolbox for Databasesを実行するためには、いくつかのPythonパッケージをインストールする必要があります。
この小見出しでは、必要な依存パッケージのインストール手順を詳しく解説します。
Python環境の準備を確実に行うことで、Toolboxをスムーズに動作させることができます。

  1. 仮想環境の作成 (推奨):
    • Pythonプロジェクトでは、依存関係を管理するために仮想環境を使用することが推奨されます。
      仮想環境を使用することで、プロジェクトごとに異なるバージョンのパッケージをインストールでき、依存関係の競合を避けることができます。
    • 以下のコマンドを実行して、仮想環境を作成します。
      python -m venv .venv
      • `.venv`は、仮想環境のディレクトリ名です。
        任意の名前を使用できます。
  2. 仮想環境の有効化
    • 作成した仮想環境を有効にします。
      • Linux/macOSの場合:
        source .venv/bin/activate
      • Windowsの場合:
        .venv\Scripts\activate
    • 仮想環境が有効になると、コマンドプロンプトやターミナルのプロンプトの先頭に仮想環境名が表示されます。
  3. 依存パッケージのインストール
    • 必要な依存パッケージをインストールします。
      以下のコマンドを実行して、Toolbox Core SDKとToolbox Langchainをインストールします。

      pip install toolbox-core toolbox-langchain
    • これらのパッケージは、MCP Toolbox for DatabasesのPythonクライアントライブラリと、Langchainとの連携に必要なライブラリです。
  4. その他の依存パッケージ
    • 使用するデータベースの種類によっては、追加のパッケージが必要となる場合があります。
      • PostgreSQLを使用する場合:
        pip install psycopg2-binary
      • MySQLを使用する場合:
        pip install mysql-connector-python
    • 必要なパッケージは、使用するデータベースのドキュメントを参照して確認してください。

これらの手順を完了することで、MCP Toolbox for Databasesを実行するために必要なPython環境が整います。
仮想環境を使用することで、依存関係を安全に管理し、プロジェクト間の競合を避けることができます。

今後の見出し
  • 1.3.3 インストール後の動作確認:MCP Inspectorを使ってみよう
インストール後の動作確認:MCP Inspectorを使ってみよう

MCP Toolbox for Databasesのインストールが完了したら、正しく動作するかどうかを確認するために、MCP Inspectorを使用します。
MCP Inspectorは、MCP Toolboxが提供するツールを一覧表示したり、実際に実行したりすることができる便利なGUIツールです。
この小見出しでは、MCP Inspectorを使って動作確認を行う手順を詳しく解説します。

  1. MCP Toolboxの起動
    • まず、MCP Toolboxを起動します。
      コマンドプロンプトやターミナルで以下のコマンドを実行します。

      ./toolbox --tools tools.yaml
      • `–tools tools.yaml`オプションは、ツールの設定ファイル(`tools.yaml`)を指定します。
        `tools.yaml`ファイルについては、後のセクションで詳しく解説します。
    • MCP Toolboxが正常に起動すると、以下のようなメッセージが表示されます。
      Serving on http://0.0.0.0:5000
      • このメッセージは、MCP Toolboxがポート`5000`でリッスンしていることを示しています。
  2. MCP Inspectorへのアクセス
    • Webブラウザを開き、`http://127.0.0.1:5173`にアクセスします。
      これは、MCP Inspectorのデフォルトのアドレスです。
    • MCP Inspectorの画面が表示されます。
  3. Transport Typeの設定
    • MCP Inspectorの画面で、Transport Typeを`SSE`に設定します。
    • SSE (Server-Sent Events) は、サーバーからクライアントへの一方通行の通信を可能にするプロトコルです。
  4. URLの設定
    • URLを`http://127.0.0.1:5000/mcp/sse`に設定します。
      これは、MCP ToolboxがリッスンしているアドレスとSSEエンドポイントです。
  5. ツールのリスト表示
    • 「List Tools」ボタンをクリックします。
    • `tools.yaml`ファイルで定義したツールの一覧が表示されます。
    • ツールの一覧が表示されれば、MCP Toolboxが正常に動作していることが確認できます。
  6. ツールの実行
    • ツールの一覧から、実行したいツールを選択します。
    • ツールに必要なパラメータを入力し、「Run Tool」ボタンをクリックします。
    • ツールの実行結果が表示されます。
    • ツールの実行結果が正しく表示されれば、ツールが正常に動作していることが確認できます。

これらの手順を完了することで、MCP Inspectorを使ってMCP Toolbox for Databasesの動作確認を行うことができます。
もしツールが正しく動作しない場合は、設定ファイルや依存パッケージのインストールに誤りがないか確認してください。

今後の見出し
  • 2. 実践!MCP Toolbox for Databases 日本語 使い方

実践!MCP Toolbox for Databases 日本語 使い方

この大見出しでは、MCP Toolbox for Databasesを実際に使用して、AIエージェントとデータベースを連携させる方法を解説します。
`tools.yaml`設定ファイルの作成、自然言語クエリの活用、そしてADK(Agent Development Kit)を使ったAIエージェントとの連携など、具体的な手順を詳細に説明します。
これらの手順を実践することで、MCP Toolbox for Databasesの基本的な使い方をマスターし、AIエージェント開発に役立てることができます。

tools.yaml設定ファイルの作成:データベース連携の要

tools.yaml設定ファイルの作成:データベース連携の要
この中見出しでは、MCP Toolbox for Databasesの動作を定義する重要な設定ファイルである`tools.yaml`の作成方法について詳しく解説します。
`tools.yaml`ファイルは、データベースへの接続情報や、AIエージェントが利用できるツールを定義するために使用されます。
このファイルを正しく設定することで、AIエージェントはデータベースにアクセスし、必要な操作を実行できるようになります。

設定ファイルの構造と基本構文:完全理解

`tools.yaml`ファイルは、MCP Toolbox for Databasesの動作を定義する上で中心的な役割を果たします。
この小見出しでは、`tools.yaml`ファイルの構造と基本構文について詳しく解説し、読者が設定ファイルを完全に理解できるようにします。
`tools.yaml`ファイルは、YAML形式で記述されます。
YAMLは、人間が読み書きしやすいように設計されたデータシリアライズ形式であり、設定ファイルなどの記述に適しています。
`tools.yaml`ファイルは、主に以下の3つのセクションで構成されます。

  1. `sources`セクション
    • このセクションでは、データベースへの接続情報を定義します。
    • 各データベース接続は、一意な名前で識別されます。
    • 接続に必要なパラメータ(データベースの種類、ホスト名、ポート番号、ユーザー名、パスワードなど)を記述します。

    例:

    sources:
      my-cloud-sql-source:
       kind: cloud-sql-postgres
       project: <YOUR_PROJECT_ID>
       region: us-central1
       instance: hoteldb-instance
       database: postgres
       user: postgres
       password: postgres
      
    • この例では、`my-cloud-sql-source`という名前でCloud SQL PostgreSQLデータベースへの接続を定義しています。
    • `kind`は、データベースの種類を指定します。
      `cloud-sql-postgres`は、Cloud SQL PostgreSQLデータベースを意味します。
    • `project`、`region`、`instance`は、Cloud SQLインスタンスの情報を指定します。
    • `database`、`user`、`password`は、データベースへの接続に必要な認証情報を指定します。
  2. `tools`セクション
    • このセクションでは、AIエージェントが利用できるツールを定義します。
    • 各ツールは、一意な名前で識別されます。
    • ツールの種類、説明、パラメータ、および実行するSQLクエリを記述します。

    例:

    tools:
      search-hotels-by-name:
       kind: postgres-sql
       source: my-cloud-sql-source
       description: Search for hotels based on name.
      
    • この例では、`search-hotels-by-name`という名前でホテルを名前で検索するツールを定義しています。
    • `kind`は、ツールの種類を指定します。
      `postgres-sql`は、PostgreSQLデータベースに対してSQLクエリを実行するツールを意味します。
    • `source`は、使用するデータベース接続の名前を指定します。
      ここでは、先ほど定義した`my-cloud-sql-source`を使用しています。
    • `description`は、ツールの説明を記述します。
      この説明は、AIエージェントがツールを選択する際に使用されます。
  3. `toolsets`セクション
    • このセクションでは、ツールをグループ化して、ツールセットを定義します。
    • ツールセットは、AIエージェントが利用できるツールを制限するために使用されます。

    例:

    toolsets:
      hotel-tools:
       - search-hotels-by-name
      
    • この例では、`hotel-tools`という名前で`search-hotels-by-name`ツールを含むツールセットを定義しています。

`tools.yaml`ファイルの基本構文は以下の通りです。

  • インデント:YAMLでは、インデントを使用して階層構造を表現します。
    インデントは、スペース2つまたは4つを使用することが一般的です。
  • コメント:`#`記号を使用して、コメントを記述できます。
    コメントは、設定ファイルの説明や注釈を記述するために使用されます。
  • 文字列:文字列は、シングルクォート(`’`)またはダブルクォート(`”`)で囲みます。
  • 数値:数値は、そのまま記述します。
  • 真偽値:真偽値は、`true`または`false`で記述します。
  • リスト:リストは、`-`記号を使用して記述します。
  • 辞書:辞書は、`キー: 値`の形式で記述します。

`tools.yaml`ファイルを正しく理解し、適切に設定することで、MCP Toolbox for Databasesを最大限に活用することができます。
次の小見出しでは、BigQuery連携設定の具体的な例を解説します。

今後の見出し
  • 2.1.2 BigQuery連携設定:サンプルコードで簡単実装
  • 2.1.3 Cloud SQL連携設定:PostgreSQL接続例を解説
BigQuery連携設定:サンプルコードで簡単実装

この小見出しでは、MCP Toolbox for Databasesを使ってGoogle BigQueryと連携するための設定方法を、サンプルコードを交えながら分かりやすく解説します。
BigQueryは、Google Cloud Platformが提供する、ペタバイト規模のデータウェアハウスサービスであり、大量のデータを高速に分析することができます。
MCP Toolbox for DatabasesとBigQueryを連携することで、AIエージェントはBigQueryに蓄積されたデータを活用し、より高度な分析や意思決定を行うことが可能になります。
まず、`tools.yaml`ファイルにBigQueryへの接続情報を定義します。

sources:
 my-bq-source:
  kind: bigquery
  project: YOUR_GOOGLE_CLOUD_PROJECT_ID
  credentials_path: /path/to/your/service_account_key.json
  • `my-bq-source`は、BigQuery接続の一意な名前です。
  • `kind`は、`bigquery`に設定します。
  • `project`は、Google CloudプロジェクトIDを指定します。
  • `credentials_path`は、サービスアカウントキーファイルのパスを指定します。
    サービスアカウントキーファイルは、前のセクションで作成したJSONファイルです。

次に、AIエージェントが利用できるツールを定義します。

tools:
 search_release_notes_bq:
  kind: bigquery-sql
  source: my-bq-source
  statement: |
   SELECT product_name, description, published_at
   FROM `bigquery-public-data.google_cloud_release_notes.release_notes`
   WHERE DATE(published_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
   GROUP BY product_name, description, published_at
   ORDER BY published_at DESC
  description: Use this tool to get information on Google Cloud Release Notes.
  • `search_release_notes_bq`は、ツールの一意な名前です。
  • `kind`は、`bigquery-sql`に設定します。
  • `source`は、先ほど定義したBigQuery接続の名前(`my-bq-source`)を指定します。
  • `statement`は、実行するSQLクエリを記述します。
    この例では、過去7日間のGoogle Cloud Release Notesを検索するクエリを記述しています。
  • `description`は、ツールの説明を記述します。
    この説明は、AIエージェントがツールを選択する際に使用されます。

最後に、ツールセットを定義します。

toolsets:
 my_bq_toolset:
  - search_release_notes_bq
  • `my_bq_toolset`は、ツールセットの一意な名前です。
  • `- search_release_notes_bq`は、ツールセットに含めるツールを指定します。

これらの設定を`tools.yaml`ファイルに記述することで、AIエージェントはBigQueryに接続し、指定されたSQLクエリを実行することができます。
以下のPythonコードは、MCP Toolbox for DatabasesとBigQueryを連携させるためのサンプルコードです。

from toolbox_core import ToolboxClient
# MCP Toolboxのクライアントを作成
toolbox = ToolboxClient("http://localhost:5000")
# ツールをロード
tool = toolbox.load_tool("search_release_notes_bq")
# ツールを実行
result = tool.invoke({})
# 結果を表示
print(result)

このコードは、MCP Toolboxのクライアントを作成し、`search_release_notes_bq`ツールをロードして実行し、結果を表示します。
このように、MCP Toolbox for Databasesを使用することで、BigQueryとの連携を簡単かつ効率的に行うことができます。
次の小見出しでは、Cloud SQLとの連携設定について解説します。

今後の見出し
  • 2.1.3 Cloud SQL連携設定:PostgreSQL接続例を解説
Cloud SQL連携設定:PostgreSQL接続例を解説

この小見出しでは、MCP Toolbox for Databasesを使ってGoogle Cloud SQL(PostgreSQL)と連携するための設定方法を詳しく解説します。
Cloud SQLは、Google Cloud Platformが提供する、フルマネージドなリレーショナルデータベースサービスです。
PostgreSQLは、オープンソースのリレーショナルデータベース管理システムであり、高い信頼性と拡張性を備えています。
MCP Toolbox for DatabasesとCloud SQL(PostgreSQL)を連携することで、AIエージェントはCloud SQLに格納されたデータを活用し、より複雑なデータ操作やビジネスロジックの実行が可能になります。
まず、`tools.yaml`ファイルにCloud SQL(PostgreSQL)への接続情報を定義します。

sources:
 my-pg-source:
  kind: cloud-sql-postgres
  project: YOUR_GOOGLE_CLOUD_PROJECT_ID
  region: YOUR_CLOUD_SQL_REGION
  instance: YOUR_CLOUD_SQL_INSTANCE_NAME
  database: YOUR_DATABASE_NAME
  user: YOUR_DATABASE_USER
  password: YOUR_DATABASE_PASSWORD
  • `my-pg-source`は、Cloud SQL(PostgreSQL)接続の一意な名前です。
  • `kind`は、`cloud-sql-postgres`に設定します。
  • `project`は、Google CloudプロジェクトIDを指定します。
  • `region`は、Cloud SQLインスタンスが存在するリージョンを指定します。
  • `instance`は、Cloud SQLインスタンスの名前を指定します。
  • `database`は、接続するデータベースの名前を指定します。
  • `user`は、データベースへの接続に使用するユーザー名を指定します。
  • `password`は、データベースへの接続に使用するパスワードを指定します。

次に、AIエージェントが利用できるツールを定義します。
以下の例では、ホテル情報を検索するツールを定義します。

tools:
 search-hotels-by-name:
  kind: postgres-sql
  source: my-pg-source
  description: Search for hotels based on name.
  parameters:
   - name: name
    type: string
    description: The name of the hotel.
  statement: SELECT * FROM hotels WHERE name ILIKE '%' || $1 || '%';
  • `search-hotels-by-name`は、ツールの一意な名前です。
  • `kind`は、`postgres-sql`に設定します。
  • `source`は、先ほど定義したCloud SQL(PostgreSQL)接続の名前(`my-pg-source`)を指定します。
  • `description`は、ツールの説明を記述します。
    この説明は、AIエージェントがツールを選択する際に使用されます。
  • `parameters`は、ツールが受け取るパラメータを定義します。
    • `name`は、パラメータの名前を指定します。
    • `type`は、パラメータの型を指定します。
      この例では、`string`(文字列)を指定しています。
    • `description`は、パラメータの説明を記述します。
  • `statement`は、実行するSQLクエリを記述します。
    この例では、ホテル名に指定された文字列を含むホテルを検索するクエリを記述しています。

最後に、ツールセットを定義します。

toolsets:
 hotel-tools:
  - search-hotels-by-name
  • `hotel-tools`は、ツールセットの一意な名前です。
  • `- search-hotels-by-name`は、ツールセットに含めるツールを指定します。

これらの設定を`tools.yaml`ファイルに記述することで、AIエージェントはCloud SQL(PostgreSQL)に接続し、指定されたSQLクエリを実行することができます。
以下のPythonコードは、MCP Toolbox for DatabasesとCloud SQL(PostgreSQL)を連携させるためのサンプルコードです。

from toolbox_core import ToolboxClient
# MCP Toolboxのクライアントを作成
toolbox = ToolboxClient("http://localhost:5000")
# ツールをロード
tool = toolbox.load_tool("search-hotels-by-name")
# ツールを実行
result = tool.invoke({"name": "Grand"})
# 結果を表示
print(result)

このコードは、MCP Toolboxのクライアントを作成し、`search-hotels-by-name`ツールをロードして実行し、ホテル名に”Grand”を含むホテルを検索し、結果を表示します。
このように、MCP Toolbox for Databasesを使用することで、Cloud SQL(PostgreSQL)との連携を簡単かつ効率的に行うことができます。

今後の見出し
  • 2.2 自然言語クエリの活用:SQL不要のデータ操作

自然言語クエリの活用:SQL不要のデータ操作

自然言語クエリの活用:SQL不要のデータ操作
この中見出しでは、MCP Toolbox for Databasesの大きな特徴の一つである、自然言語クエリの活用方法について詳しく解説します。
自然言語クエリを使用することで、SQLの知識がなくても、AIエージェントに対して自然な言葉で指示を出し、データベースから必要な情報を抽出したり、操作を実行したりすることができます。
SQLの学習コストを削減し、より多くのユーザーがデータにアクセスできるようになる、自然言語クエリの活用方法を習得しましょう。

自然言語クエリの書き方:コツと注意点

MCP Toolbox for Databasesで自然言語クエリを活用するためには、AIエージェントが意図した通りに解釈できるような、明確で分かりやすいクエリを記述する必要があります。
この小見出しでは、自然言語クエリの書き方のコツと注意点について詳しく解説します。

  1. 明確な指示
    • AIエージェントに何をさせたいのか、明確な指示を記述します。
      あいまいな表現や省略を避け、具体的な言葉で指示を伝えましょう。
    • 例:
      • 悪い例: “売上教えて”
      • 良い例: “今日の売上データを表示して”
  2. 具体的な条件
    • 検索や抽出を行う場合は、具体的な条件を記述します。
      条件が曖昧だと、AIエージェントが意図しない結果を返す可能性があります。
    • 例:
      • 悪い例: “ホテル検索して”
      • 良い例: “東京にある星5つのホテルを検索して”
  3. キーワードの使用
    • AIエージェントがデータベースのどのテーブルやカラムを参照すればよいか、キーワードを適切に使用します。
      `tools.yaml`ファイルで定義したツールの説明やパラメータ名と一致するキーワードを使用すると、AIエージェントがツールを正しく選択しやすくなります。
    • 例:
      • `tools.yaml`でホテル名を`name`というパラメータで定義している場合:
        • “ホテル名を教えて” ではなく、”ホテルの`name`を教えて” と記述する。
  4. 質問形式の利用
    • AIエージェントに対して質問形式でクエリを記述すると、より自然な対話形式で指示を伝えることができます。
    • 例:
      • “今日の売上データ” ではなく、”今日の売上データは何ですか?” と記述する。
  5. 文脈の考慮
    • 前のクエリとの文脈を考慮して、クエリを記述します。
      AIエージェントは、前のクエリの内容を記憶しているため、省略された表現でも意図を理解してくれる場合があります。
    • 例:
      • 最初のクエリ: “東京にあるホテルを検索して”
      • 次のクエリ: “その中で一番安いのは?”
  6. エラーハンドリング
    • AIエージェントがクエリを理解できなかった場合や、エラーが発生した場合は、適切なエラーメッセージを表示するように設計します。
      エラーメッセージは、ユーザーが問題を解決するためのヒントとなるように、具体的に記述します。

これらのコツと注意点を守ることで、MCP Toolbox for Databasesで自然言語クエリを効果的に活用し、AIエージェントとデータベースの連携をよりスムーズに行うことができます。

今後の見出し
  • 2.2.2 複雑なクエリの実例:様々な条件でデータを抽出
  • 2.2.3 自然言語クエリのデバッグ:エラー解決のヒント
複雑なクエリの実例:様々な条件でデータを抽出

自然言語クエリの応用として、複数の条件を組み合わせたり、集計処理を行ったりするような、より複雑なクエリの記述方法を解説します。
以下に、様々なユースケースを想定した実例を、SQLクエリと対応する自然言語クエリを合わせて紹介します。

  1. 複数の条件を組み合わせた検索
    • SQLクエリ:
      SELECT * FROM hotels
      WHERE location = '東京'
      AND price <= 20000
      AND rating >= 4;
      
    • 自然言語クエリ:
      • “東京にある、料金が2万円以下で、評価が4以上のホテルを検索して”
      • “東京で、2万円以下、評価4以上のホテルを探して”
    • 解説:
      • この例では、`location`、`price`、`rating`という3つの条件を組み合わせてホテルを検索しています。
      • 自然言語クエリでは、”と” や “で” といった接続詞を使って、複数の条件を組み合わせることができます。
  2. 日付範囲を指定した検索
    • SQLクエリ:
      SELECT * FROM orders
      WHERE order_date BETWEEN '2024-01-01' AND '2024-01-31';
      
    • 自然言語クエリ:
      • “2024年1月1日から2024年1月31日までの注文データを表示して”
      • “2024年1月中の注文を表示”
    • 解説:
      • この例では、`order_date`が指定された日付範囲内にある注文データを検索しています。
      • 自然言語クエリでは、”から” や “まで” といった表現を使って、日付範囲を指定することができます。
  3. 集計処理
    • SQLクエリ:
      SELECT category, SUM(sales)
      FROM sales_data
      GROUP BY category;
      
    • 自然言語クエリ:
      • “カテゴリごとの売上合計を表示して”
      • “カテゴリ別の売上を集計”
    • 解説:
      • この例では、`sales_data`テーブルの`category`ごとに`sales`の合計を計算しています。
      • 自然言語クエリでは、”ごとの” や “別の” といった表現を使って、集計処理を指示することができます。
  4. ソート
    • SQLクエリ:
      SELECT * FROM products
      ORDER BY price DESC
      LIMIT 10;
      
    • 自然言語クエリ:
      • “価格の高い順に上位10件の商品を表示して”
      • “最も高い商品トップ10”
    • 解説:
      • この例では、`products`テーブルを`price`の降順にソートし、上位10件を表示しています。
      • 自然言語クエリでは、”高い順” や “安い順” といった表現を使って、ソートの方向を指定することができます。
  5. 複数のテーブルを結合
    • SQLクエリ:
      SELECT orders.order_id, customers.customer_name
      FROM orders
      JOIN customers ON orders.customer_id = customers.customer_id;
      
    • 自然言語クエリ:
      • “注文IDと顧客名を表示して”
      • “注文に対応する顧客の名前”
    • 解説:
      • この例では、`orders`テーブルと`customers`テーブルを`customer_id`をキーとして結合し、注文IDと顧客名を表示しています。
      • 自然言語クエリでは、テーブル間の関連性をAIエージェントが理解できるように、適切なキーワードを使用する必要があります。

これらの実例を参考に、様々なユースケースに応じた自然言語クエリを記述してみてください。
自然言語クエリを使いこなすことで、SQLの知識がなくても、高度なデータ操作をAIエージェントに指示することができます。

今後の見出し
  • 2.2.3 自然言語クエリのデバッグ:エラー解決のヒント
自然言語クエリのデバッグ:エラー解決のヒント

自然言語クエリは非常に便利な機能ですが、AIエージェントがクエリを正しく解釈できない場合や、データベースでエラーが発生する場合があります。
この小見出しでは、自然言語クエリのデバッグ方法について詳しく解説し、エラーが発生した場合にどのように解決すればよいか、具体的なヒントを提供します。

  1. エラーメッセージの確認
    • AIエージェントがエラーメッセージを表示している場合は、まずその内容をよく確認します。
      エラーメッセージには、エラーの原因や解決策に関する情報が含まれている場合があります。
    • エラーメッセージの例:
      • “クエリを解釈できませんでした。より明確な指示を与えてください。”
      • “指定されたテーブルまたはカラムが見つかりません。”
      • “データベースでエラーが発生しました。SQLクエリを確認してください。”
  2. `tools.yaml`ファイルの確認
    • AIエージェントが使用するツールが、`tools.yaml`ファイルで正しく定義されているか確認します。
      • ツールの名前、種類、説明、パラメータ、SQLクエリなどが正しく記述されているか確認します。
      • 特に、SQLクエリが正しい構文で記述されているか、参照するテーブルやカラムが存在するか、データ型が一致するかなどを確認します。
    • `tools.yaml`ファイルの例:
      tools:
       get_customer_name:
        kind: postgres-sql
        source: my-pg-source
        description: Get customer name by ID.
        parameters:
         - name: customer_id
          type: integer
          description: The ID of the customer.
        statement: SELECT name FROM customers WHERE id = $1;
          
  3. SQLクエリの直接実行
    • `tools.yaml`ファイルに記述されたSQLクエリを、データベースに直接実行してみます。
      これにより、SQLクエリ自体に問題がないか確認できます。
    • データベースに接続するためのツール(例:psql、MySQL Workbenchなど)を使用し、SQLクエリを実行します。
    • SQLクエリが正常に実行される場合は、AIエージェントとMCP Toolboxの連携に問題がある可能性があります。
  4. パラメータの確認
    • AIエージェントがツールに渡すパラメータが、`tools.yaml`ファイルで定義されたパラメータと一致しているか確認します。
      • パラメータの名前、型、説明などが一致しているか確認します。
      • パラメータの値が、データベースのデータ型と一致しているか確認します。
    • AIエージェントのコード例:
      from toolbox_core import ToolboxClient
      toolbox = ToolboxClient("http://localhost:5000")
      tool = toolbox.load_tool("get_customer_name")
      result = tool.invoke({"customer_id": 123}) # customer_id が tools.yamlと一致
      print(result)
          
  5. ログの確認
    • MCP ToolboxやAIエージェントのログを確認します。
      ログには、エラーメッセージやデバッグ情報が含まれている場合があります。
    • ログの出力先は、環境設定やデプロイ方法によって異なります。
  6. MCP Inspectorの利用
    • MCP Inspectorを使って、ツールを直接実行し、パラメータを調整しながら動作を確認します。
      MCP Inspectorは、GUIでツールを操作できるため、デバッグに非常に役立ちます。
    • MCP Inspectorの使い方は、前のセクションで解説しました。
  7. コミュニティへの質問
    • 上記の方法を試しても解決しない場合は、MCP Toolboxのコミュニティ(GitHubリポジトリのIssueなど)に質問してみましょう。
      他のユーザーが同様の問題に遭遇し、解決策を知っている可能性があります。
    • 質問する際には、以下の情報を含めるようにしましょう。
      • MCP Toolboxのバージョン
      • 使用しているデータベースの種類
      • `tools.yaml`ファイルの内容
      • エラーメッセージ
      • 試したデバッグ手順

これらのデバッグ手順を参考に、自然言語クエリのエラーを解決し、MCP Toolbox for Databasesを効果的に活用してください。

今後の見出し
  • 2.3 AIエージェントとの連携:ADKを使った統合

AIエージェントとの連携:ADKを使った統合

AIエージェントとの連携:ADKを使った統合
この中見出しでは、MCP Toolbox for DatabasesをAIエージェントと連携させる方法について解説します。
ここでは、Googleが提供するAgent Development Kit (ADK) を使用して、AIエージェントを構築し、MCP Toolbox for Databasesと統合する手順を説明します。
ADKを使うことで、AIエージェントの開発を効率化し、自然言語によるデータベース操作をAIエージェントに組み込むことができます。

ADKの概要とインストール:エージェント開発の第一歩

AIエージェントを開発するための最初のステップは、Agent Development Kit (ADK) を理解し、インストールすることです。
この小見出しでは、ADKの概要とそのインストール手順について詳しく解説します。

  1. ADKとは
    • Agent Development Kit (ADK) は、Googleが提供するオープンソースのフレームワークで、AIエージェントを構築するためのツールとライブラリを提供します。
    • ADKを使用することで、AIエージェントの設計、開発、テスト、デプロイを効率的に行うことができます。
    • ADKは、以下のような機能を提供します。
      • 自然言語処理 (NLP)
      • 対話管理
      • ツール連携
      • 状態管理
      • テストとデバッグ
    • ADKは、MCP (Model Context Protocol) をサポートしており、MCP Toolbox for Databasesとの連携が容易です。
    • ADKは、Pythonで記述されており、様々なプラットフォームで動作します。
  2. ADKのインストール
    • ADKをインストールするには、以下の手順に従います。
    • まず、Pythonがインストールされていることを確認します。
      Pythonのインストール手順は、前のセクションで解説しました。
    • コマンドプロンプトやターミナルを開き、以下のコマンドを実行して、ADKをインストールします。
      pip install agent-development-kit
      • `pip`は、Pythonのパッケージをインストールするためのツールです。
      • `agent-development-kit`は、ADKのパッケージ名です。
    • ADKのインストールが完了すると、`adk`というコマンドが使用できるようになります。
  3. ADKの動作確認
    • ADKが正しくインストールされたことを確認するために、以下のコマンドを実行します。
      adk --version
    • ADKのバージョン情報が表示されれば、インストールは成功です。
    • 次に、ADKを使用して新しいAIエージェントプロジェクトを作成します。
      以下のコマンドを実行します。

      adk create my-agent
      • `my-agent`は、作成するAIエージェントプロジェクトの名前です。
        任意の名前を使用できます。
    • ADKがAIエージェントプロジェクトを作成すると、以下のメッセージが表示されます。
      Creating agent my-agent...
      Success! Created agent my-agent in directory my-agent
      
    • 作成されたAIエージェントプロジェクトのディレクトリに移動します。
      cd my-agent
    • ADKを使用してAIエージェントを実行します。
      adk run
      • ADKがAIエージェントを実行し、ターミナルにログが表示されます。

これらの手順を完了することで、ADKのインストールと基本的な動作確認が完了します。
次の小見出しでは、MCP Toolbox for DatabasesとADKを連携させる方法について解説します。

今後の見出し
  • 2.3.2 Toolbox Clientを使った接続:Pythonコードで簡単連携
  • 2.3.3 エージェントの実行と動作確認:連携の成否をチェック
Toolbox Clientを使った接続:Pythonコードで簡単連携

この小見出しでは、ADKで作成したAIエージェントとMCP Toolbox for Databasesを連携させる方法について解説します。
`toolbox_core`ライブラリの`ToolboxClient`を使用することで、Pythonコードから簡単にMCP Toolboxに接続し、ツールを実行することができます。

  1. `ToolboxClient`のインポート
    • まず、Pythonコードで`toolbox_core`ライブラリから`ToolboxClient`をインポートします。
      from toolbox_core import ToolboxClient
  2. `ToolboxClient`の作成
    • `ToolboxClient`のインスタンスを作成します。
      `ToolboxClient`のコンストラクタには、MCP Toolboxが動作しているURLを渡します。

      toolbox = ToolboxClient("http://localhost:5000")
      
      • `”http://localhost:5000″`は、MCP Toolboxがローカル環境で動作している場合のURLです。
      • MCP ToolboxをCloud Runなどにデプロイしている場合は、そのURLを指定します。
  3. ツールのロード
    • `ToolboxClient`の`load_tool()`メソッドを使用して、実行したいツールをロードします。
      `load_tool()`メソッドには、`tools.yaml`ファイルで定義したツールの名前を渡します。

      tool = toolbox.load_tool("search-hotels-by-name")
      
      • `”search-hotels-by-name”`は、`tools.yaml`ファイルで定義したツールの名前です。
  4. ツールの実行
    • ロードしたツールの`invoke()`メソッドを使用して、ツールを実行します。
      `invoke()`メソッドには、ツールに必要なパラメータを辞書形式で渡します。

      result = tool.invoke({"name": "Grand Hotel"})
      
      • `{“name”: “Grand Hotel”}`は、ツールに渡すパラメータです。
        この例では、`name`というパラメータに`”Grand Hotel”`という値を渡しています。
      • パラメータの名前と型は、`tools.yaml`ファイルで定義した内容と一致する必要があります。
  5. 結果の表示
    • ツールの実行結果は、`invoke()`メソッドの戻り値として返されます。
      結果を表示するには、`print()`関数を使用します。

      print(result)
      
    • 結果の形式は、ツールによって異なります。
      多くの場合、JSON形式でデータが返されます。

以下に、ADKで作成したAIエージェントとMCP Toolbox for Databasesを連携させるためのサンプルコード全体を示します。

from toolbox_core import ToolboxClient
# MCP Toolboxのクライアントを作成
toolbox = ToolboxClient("http://localhost:5000")
# ツールをロード
tool = toolbox.load_tool("search-hotels-by-name")
# ツールを実行
result = tool.invoke({"name": "Grand Hotel"})
# 結果を表示
print(result)

このコードをADKで作成したAIエージェントのPythonファイルに追加することで、AIエージェントはMCP Toolboxに接続し、データベースを操作することができます。

今後の見出し
  • 2.3.3 エージェントの実行と動作確認:連携の成否をチェック
エージェントの実行と動作確認:連携の成否をチェック

AIエージェントとMCP Toolbox for Databasesの連携が完了したら、実際にAIエージェントを実行し、正しく動作するかどうかを確認する必要があります。
この小見出しでは、AIエージェントの実行方法と、連携が成功しているかどうかを確認する手順について詳しく解説します。

  1. AIエージェントの実行
    • ADKで作成したAIエージェントのディレクトリに移動し、以下のコマンドを実行して、AIエージェントを実行します。
      adk run
      • `adk run`コマンドは、AIエージェントを実行し、ターミナルにログを表示します。
  2. 自然言語クエリの入力
    • AIエージェントが起動したら、自然言語クエリを入力して、AIエージェントに指示を伝えます。
      自然言語クエリは、AIエージェントが理解できる形式で記述する必要があります。
      自然言語クエリの書き方については、前のセクションで解説しました。
    • 例:
      • “東京にあるグランドホテルを検索して”
      • “今日の売上データを表示して”
  3. 結果の確認
    • AIエージェントが自然言語クエリを解釈し、MCP Toolbox for Databasesにリクエストを送信すると、MCP Toolboxはデータベースから必要なデータを抽出し、AIエージェントに結果を返します。
    • AIエージェントは、受け取った結果を整形し、ユーザーに表示します。
    • 結果が期待通りであるか確認します。
      • 正しいデータが表示されているか
      • データの形式が適切か
      • エラーが発生していないか
  4. ログの確認
    • AIエージェントのログを確認し、エラーが発生していないか確認します。
      ログには、AIエージェントが自然言語クエリをどのように解釈したか、MCP Toolboxにどのようなリクエストを送信したか、MCP Toolboxからどのような結果を受け取ったかなどの情報が含まれています。
    • ログを確認することで、問題の原因を特定しやすくなります。
  5. デバッグ
    • AIエージェントが期待通りに動作しない場合は、デバッグを行います。
      • 自然言語クエリの書き方を見直します。
      • `tools.yaml`ファイルの設定を確認します。
      • AIエージェントのコードを確認します。
    • デバッグ方法については、前のセクションで詳しく解説しました。

これらの手順を完了することで、AIエージェントとMCP Toolbox for Databasesの連携が成功しているかどうかを確認することができます。
連携が成功していれば、自然言語クエリを使ってデータベースを操作するAIエージェントを自由に開発することができます。

今後の見出し
  • 3. 応用と発展:MCP Toolboxを使いこなす

コメント

タイトルとURLをコピーしました