メインコンテンツへスキップ

前提条件

Connect AI で Gemini Enterprise を設定して使用するには、まず以下の手順を実行する必要があります。
  • Connect AI アカウントにデータソースを接続します。詳細については、データソース を参照してください。
  • Gemini Enterprise アカウントが必要です(トライアル版あり)。
  • 請求機能が有効になっている Google Cloud プロジェクトが必要です。
  • Google Cloud CLI をインストールして設定します。
  • Python 3.12 以降および UV パッケージマネージャー をインストールします。
  • google-adk>=1.31.1 をインストールします。
  • ADK デプロイメントのステージング用に、Google Cloud Storage バケットを用意します。
google-adk>=1.31.1 を使用してください。バージョン 1.31.1 以前には、バインドされたトークン機構がMcpToolset のアウトバウンド HTTP リクエストに干渉し、header_provider の認証トークンが MCP サーバーに正しく渡されないという既知のバグがあります。
Windows での ADK デプロイメントには既知の問題があります。 Windowsマシンでは、WSL(Windows Subsystem for Linux)経由でUbuntuを使用してください。MacおよびLinux環境では直接動作します。

CData Connect AI で OAuth アプリを作成する

Gemini Enterpriseは、 CData Connect AI MCP Serverに対するユーザー認証に、PKCEを伴う OAuth 2.0認証コードを使用します。これには、 CData Connect AI アカウントにユーザーベースの OAuth アプリが必要です。
1
Connect AI の右上隅にある歯車アイコンをクリックして、Settingsを開きます。
2
OAuth Appsに移動し、+ Create Appをクリックします。Create OAuth Appダイアログが表示されます。
3
以下の設定を入力します:
Creating an OAuth App in CData Connect AI
4
Confirmをクリックします。 CData Connect AI がClient IDClient Secretを生成します。
5
Client IDClient Secretの両方をコピーします。これらは、Gemini Enterpriseにエージェントを追加する際に必要になります。
Client ID and Client Secret

Google CLI および ADK 環境のセットアップ

1
Google Cloud CLI をインストールし、認証を行います:
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
gcloud auth application-default login
2
Vertex AI API および Cloud Resource Manager API を有効にします:
gcloud services enable aiplatform.googleapis.com
gcloud services enable cloudresourcemanager.googleapis.com
3
ADK ステージング用の Google Cloud Storage バケットを作成します(まだ作成していない場合):
gcloud storage buckets create gs://YOUR_BUCKET_NAME --location=us-central1
4
プロジェクトフォルダを作成し、UV を使用して Python 環境を初期化し、ADK をインストールします:
mkdir agents
cd agents
uv init
uv sync
source .venv/bin/activate
uv add google-adk>=1.31.1 python-dotenv
5
ADK のインストールを確認します:
adk --version

ADK エージェントの開発

エージェントは、McpToolsetStreamableHTTPConnectionParams、およびheader_providerを使用して、 CData Connect AI MCP エンドポイントに接続します。header_provider は、 OAuth フロー後に Gemini Enterprise によって注入されたReadonlyContext からセッションごとの Bearer トークンを取得するため、エージェントのコードには認証情報が保存されません。

フォルダ構造

agents/
+-- connect_ai_oauth/
    +-- __init__.py
    +-- .env
    +-- agent.py
agents/ ディレクトリから、agent サブディレクトリを作成し、その中に移動します:
mkdir connect_ai_oauth
cd connect_ai_oauth

agent.py

import os
from google.adk.agents import Agent
from google.adk.tools.mcp_tool.mcp_toolset import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StreamableHTTPConnectionParams
from google.adk.agents.readonly_context import ReadonlyContext
from dotenv import load_dotenv

load_dotenv()

AUTH_ID = os.getenv("CONNECT_AI_AUTHID", "")
MCP_SERVER_URL = os.getenv('MCP_SERVER_URL', 'https://mcp.cloud.cdata.com/mcp')

def get_auth_header(context: ReadonlyContext) -> dict:
    access_token = context.state.get(AUTH_ID, "")
    return {"Authorization": f"Bearer {access_token}"}

root_agent = Agent(
    name="connect_ai_oauth",
    model="gemini-2.5-flash",
    description="An agent that can access data via CData Connect AI Remote MCP.",
    instruction="You are a data assistant with access to live enterprise data via CData Connect AI. Use your available tools directly to answer user questions. Do not write or execute code. When a user asks about data, call the appropriate tool to retrieve it and present the results.",
    tools=[
        McpToolset(
            connection_params=StreamableHTTPConnectionParams(url=MCP_SERVER_URL),
            header_provider=get_auth_header
        )
    ]
)

.env

MCP_SERVER_URL=https://mcp.cloud.cdata.com/mcp
CONNECT_AI_AUTHID=<your-oauth-app-id-from-connect-ai>
CONNECT_AI_AUTHID の値は、上記で生成された OAuth App ID です。これは、 Connect AI の設定にあるOAuth Apps ページで確認できます(形式:cdata-connect-ai-oauth_XXXXXXXXXXXXXXXXX)。

__init__.py

from . import agent

Vertex AI Agent Engine へのデプロイ

デプロイには通常、約 5 分かかります。
1
agents/ ディレクトリから、デプロイコマンドを実行します:
adk deploy agent_engine \
  --project=YOUR_PROJECT_ID \
  --region=us-central1 \
  connect_ai_oauth
2
デプロイが完了すると、Vertex AI Agent Engine のリソース名が表示されます:
Created agent engine: projects/YOUR_PROJECT_ID/locations/us-central1/reasoningEngines/XXXXXXXXXX
このリソース名をコピーしてください。次のセクションで必要になります。
3
このリソース名は、後で Google Cloud コンソールの Vertex AI > Agent Engine からも確認できます。

Gemini Enterprise にエージェントを追加する

1
Gemini Enterpriseを開き、Agents 画面に移動します。
2
+ Add Agent をクリックします。
3
エージェントタイプの選択画面で、Custom agent by Agent EngineAdd をクリックします。
4
認証画面で、以下の設定を使用して OAuth を構成します:Next をクリックします。
Configuring OAuth authorization in Gemini Enterprise
5
設定画面で、以下を入力します:
  • Agent name–適切な表示名を入力(例:CData Connect AI Agent)。
  • Agent description–Geminiがこのエージェントをいつ呼び出すべきかを判断するのに役立つ説明を入力。
  • Agent Engine inference engine–前のセクションからコピーしたリソース名を、以下の形式で入力します:projects/{project}/locations/{location}/reasoningEngines/{id}
Configuring the agent in Gemini Enterprise
6
Create をクリックします。これで、Gemini Enterpriseでエージェントが利用可能になります。

自然言語でライブデータをクエリする

エージェントの登録が完了すると、Gemini Enterprise Webアプリケーションから自然言語を使用してライブデータをクエリできるようになります。初回利用時には、各ユーザーが OAuth フローを介して自身の Connect AI 認証情報で認証を行います。
1
Gemini Enterpriseを開き、Agents パネルから CData Connect AI エージェントを選択します。
Selecting the CData Connect AI agent in Gemini Enterprise
2
データについて次のような自然言語の質問を投げかけてみてください:
  • 「過去30日間のすべてのレコードを表示して」
  • 「売上高上位のアカウントは?」
  • 「アクティブな商談と現在のステータスをすべて表示して」
  • 「今四半期の活動をまとめて」
3
エージェントは、 Connect AI 内で利用可能な接続を自動的に検出し、SQLを生成して結果を返します。クエリを記述したり、基盤となるデータ構造を理解したりする必要は一切ありません。