【MCP Server】Google ADK エージェントから JSON のデータにリアルタイムで接続しよう!

加藤龍彦
加藤龍彦
デジタルマーケティング
CData Connect AI のリモートMCP サーバー を活用して、Google ADK エージェントから JSON への安全なデータアクセスとアクション実行を実現する方法をご紹介します。

Google ADK(Agent Development Kit)は、さまざまなデータソースやサービスと連携できる AI エージェントを構築するための、モデル非依存の強力なフレームワークです。CData Connect AI のリモートMCP と組み合わせることで、自然言語クエリを通じてJSON のデータとリアルタイムでやり取りできるインテリジェントなエージェントを構築できます。この記事では、Connect AI Remote MCP を使用して JSON に接続し、Google ADK エージェントを設定して ADK Web 経由で とやり取りする方法をご紹介します。

CData Connect AI は、JSONを含む数百のデータソースをMCP経由でAIツールにつなげるクラウドサービスです。接続情報はConnect AI側で一元管理されるため、Google ADK エージェントにJSONの認証情報を直接渡すことなくセキュアに連携できます。

この記事では、自然言語を使用してデータを会話形式で探索(Vibe Query)できる Google ADK エージェントの設定方法をご紹介します。Connect AI を使用すれば、JSON に加えて、数百の他のデータソースにもアクセスできるエージェントを構築できます。

ステップ 1:Google ADK 用の JSON 接続を設定する

Google ADK エージェントから JSON への接続は、CData Connect AI のリモートMCP を通じて実現されます。ADK エージェントから JSON とやり取りするために、まず CData Connect AI で JSON 接続を作成・設定していきましょう。

  1. Connect AI にログインし、「Sources」をクリックして、「Add Connection」をクリックします
  2. 接続の追加
  3. 「Add Connection」パネルから「JSON」を選択します
  4. データソースの選択
  5. JSON に接続するために必要な認証プロパティを入力します。

    データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。CData 製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

    URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

    DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

    • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。CData 製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
    • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
    • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

    リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

    Amazon S3 内のJSON への接続

    URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。

    • AWSAccessKey:AWS アクセスキー(username)に設定。
    • AWSSecretKey:AWS シークレットキーに設定。

    Box 内のJSON への接続

    URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

    Dropbox 内のJSON への接続

    URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;

    SharePoint Online SOAP 内のJSON への接続

    URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

    SharePoint Online REST 内のJSON への接続

    URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

    FTP 内のJSON への接続

    URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

    Google Drive 内のJSON への接続

    デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

    接続の設定(Salesforce の例)
  6. 「Create & Test」をクリックします
  7. 「Add JSON Connection」ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。 権限の更新

パーソナルアクセストークンの追加

パーソナルアクセストークン(PAT)は、Google ADK エージェントから Connect AI への接続を認証するために使用されます。アクセスの粒度を維持するために、サービスごとに個別の PAT を作成することをおすすめします。

  1. Connect AI アプリの右上にある歯車アイコン()をクリックして、設定ページを開きます。
  2. 設定ページの「Access Tokens」セクションに移動し、「Create PAT」をクリックします。
  3. PAT に名前を付けて「Create」をクリックします。 新しい PAT の作成
  4. パーソナルアクセストークンは作成時にのみ表示されますので、必ずコピーして安全な場所に保管してください。

これで接続の設定と PAT の生成が完了しました。Google ADK エージェントから JSON に接続する準備が整いました。

ステップ 2:Google ADK エージェントを CData Connect AI 用に設定する

以下の手順に従って、CData Connect AI に接続するように Google ADK エージェントを設定していきましょう。事前構築済みのエージェントをこちらから使用できます。または、以下の手順に従って独自のエージェントを作成することもできます。

  1. Google ADK Python SDK がインストールされていることを確認してください。インストールされていない場合は、pip を使用してインストールします。
    pip install google-genkit google-adk
  2. エージェントの設定ファイル(通常は agent.py)を作成または更新して、CData Connect AI MCP 接続を含めます。Connect AI 認証情報を使用して MCP ツールセットを設定する必要があります。
  3. MCP サーバー接続用の環境変数または設定をセットアップします。プロジェクトのルートに .env ファイルを作成し、以下の変数を設定します。
    MCP_SERVER_URL=https://mcp.cloud.cdata.com/mcp
    MCP_USERNAME=YOUR_EMAIL
    MCP_PASSWORD=YOUR_PAT
        
    YOUR_EMAIL を Connect AI のメールアドレスに、YOUR_PAT をステップ 1 で作成したパーソナルアクセストークンに置き換えてください。
  4. CData Connect AI MCP Server を使用するように agent.py ファイルを設定します。以下は設定例です。
    import os
    import base64
    from google.adk.agents import LlmAgent
    from google.adk.tools.mcp_tool.mcp_toolset import MCPToolset
    from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
    from dotenv import load_dotenv
    
    # 環境変数を読み込む
    load_dotenv()
    
    # 環境から設定を取得
    MCP_SERVER_URL = os.getenv('MCP_SERVER_URL', 'https://mcp.cloud.cdata.com/mcp')
    MCP_USERNAME = os.getenv('MCP_USERNAME', '')
    MCP_PASSWORD = os.getenv('MCP_PASSWORD', '')
    
    # MCP サーバー用の認証ヘッダーを作成
    auth_header = {}
    if MCP_USERNAME and MCP_PASSWORD:
        credentials = f"{MCP_USERNAME}:{MCP_PASSWORD}"
        auth_header = {"Authorization": f"Basic {base64.b64encode(credentials.encode()).decode()}"}
    
    # CData MCP ツールを使用してエージェントを定義
    root_agent = LlmAgent(
        model='gemini-2.0-flash-exp',  # サポートされている任意のモデルを使用できます
        name='data_query_assistant',
        instruction="""あなたは CData Connect AI を通じて JSON データにアクセスできるデータクエリアシスタントです。
        
        ユーザーが JSON をリアルタイムで探索・クエリできるようサポートしてください。
        利用可能な MCP ツールを使用して以下を実行できます:
        - 利用可能なデータベースとスキーマの一覧表示
        - テーブル構造の探索
        - SQL クエリの実行
        - データに関する洞察の提供
        
        実行内容を常に説明し、結果を明確にフォーマットしてください。""",
        
        tools=[
            MCPToolset(
                connection_params=StreamableHTTPConnectionParams(
                    url=MCP_SERVER_URL,
                    headers=auth_header
                )
            )
        ],
    )
        
  5. ADK Web でエージェントを実行します。プロジェクトディレクトリから以下を実行してください。
    adk web --port 5000 .

    注:pip install --user で ADK をインストールした場合、adk コマンドが PATH に含まれていない可能性があります。以下のいずれかの方法で対処できます。

    • フルパスを使用:~/Library/Python/3.x/bin/adk(macOS の場合)
    • PATH に追加:export PATH="$HOME/Library/Python/3.x/bin:$PATH"
    • PATH が自動的に設定される仮想環境を使用
  6. ブラウザでADK のWeb インターフェースを開きます(通常は http://localhost:5000)。
  7. ドロップダウンメニューからエージェントを選択します(エージェント設定の name パラメータに基づいて名前が付けられています)。
  8. これで、自然言語クエリを使用してJSON との会話を開始できます。。

ステップ 3:JSON データへのアクセスを備えたインテリジェントエージェントを構築する

Google ADK エージェントを設定して CData Connect AI に接続できたので、自然言語を使用して JSON とやり取りする高度なエージェントを構築できます。MCP 統合により、エージェントに強力なデータアクセス機能が提供されます。

エージェントで使用可能な MCP ツール

Google ADK エージェントは、以下のCData Connect AI MCP ツールにアクセスできます。

  • queryData:接続されたデータソースに対してSQL クエリを実行
  • execData:ストアドプロシージャを実行
  • getCatalogs:利用可能なデータベース接続を取得
  • getSchemas:特定のカタログのデータベーススキーマを一覧表示
  • getTables:スキーマ内のテーブルを一覧表示
  • getColumns:特定のテーブルの列情報を取得
  • getPrimaryKeys:プライマリキー情報を取得
  • getIndexes:テーブルのインデックス情報を取得
  • getProcedures:利用可能なストアドプロシージャを一覧表示

ユースケース例

JSON のデータにアクセスできるGoogle ADK エージェントでできることの例をいくつかご紹介します。

  • データ分析エージェント:JSON のトレンド、パターン、異常を分析するエージェントを構築
  • レポート生成エージェント:自然言語リクエストに基づいてカスタムレポートを生成するエージェントを作成
  • データ品質エージェント:リアルタイムでデータ品質を監視・検証するエージェントを開発
  • ビジネスインテリジェンスエージェント:複数のデータソースをクエリして複雑なビジネスの質問に答えるエージェントを構築
  • 自動化ワークフローエージェント:JSON のデータ条件に基づいてアクションをトリガーするエージェントを作成

エージェントのテスト

ADK Web にデプロイすると、自然言語クエリを通じてエージェントとやり取りできます。以下のような質問を試してみてください。

  • 「過去 30 日間のすべての顧客を表示して」
  • 「今四半期の売上トップの製品は何?」
  • 「売上トレンドを分析して異常を特定して」
  • 「アクティブなプロジェクトのサマリーレポートを生成して」
  • 「特定の条件に一致するすべてのレコードを検索して」

Google ADK エージェントは、これらの自然言語クエリを自動的に適切な SQL クエリに変換し、CData Connect AI MCP Server を通じて JSON データに対して実行します。複雑な SQL を記述したり、基盤となるデータ構造を理解したりすることなく、ユーザーにリアルタイムの洞察を提供できます。

CData Connect AI でビジネスシステムのデータ活用を今すぐスタート

いかがでしたか?Google ADK エージェントから JSON へのデータ接続が 10 分もかからずに完了したのではないでしょうか。業務に使えそう、と感じてくださった方は、14 日間の無償トライアルで AI ツールからビジネスシステムへのリアルタイムデータ接続をぜひお試しください。

はじめる準備はできましたか?

CData Connect AI の詳細、または無料トライアルにお申し込みください:

無料トライアル