Google Vertex AI AgentとConnect AIでHubDB を統合
Vertex AI は、Agent Development Kit(ADK)を使用して AI エージェントを構築するための開発エコシステムを提供します。ADK を使用すると、開発者は推論、アクション実行、構造化されたツールインターフェースを通じた外部システムとの連携が可能なツール拡張エージェントを作成できます。これらのエージェントは ADK Web インターフェースでローカルにテストでき、エンタープライズワークフロー向けの高度なロジックで拡張できます。
Vertex AI ADK を CData Connect AI の組み込み MCP(Model Context Protocol)サーバーと統合することで、エージェントはリアルタイムでHubDB のデータをクエリ、分析、操作できるようになります。 この接続により、Google のエージェント構築フレームワークと CData Connect AI のガバナンスされたエンタープライズ接続が橋渡しされ、すべてのリクエストが手動のデータ移動なしに認可されたデータソースに対してセキュアに実行されます。
この記事では、Connect AI で HubDB 接続を設定し、必要な認証トークンを生成し、Vertex AI ADK 環境を設定し、エージェントが Connect AI を通じてリアルタイムのHubDB のデータと正常に通信できることを確認する手順を説明します。
ステップ1:Vertex AI 用の HubDB 接続を設定
Vertex AI から HubDB への接続は、CData Connect AI のリモート MCP サーバーを通じて実現できます。Vertex AI からHubDB のデータを操作するには、まず CData Connect AI で HubDB 接続を作成・設定します。
- Connect AI にログインして「Sources」をクリック、次に「 Add Connection」をクリック
- 接続を追加パネルから「HubDB」を選択
-
HubDB に接続するために必要な認証プロパティを入力します。
HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。
カスタムOAuthアプリを使用する
すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。
アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。
- HubSpotアプリ開発者アカウントにログインします。
- アプリ開発者アカウントである必要があります。標準のHubSpotアカウントではパブリックアプリを作成できません。
- 開発者アカウントのホームページで、アプリタブをクリックします。
- アプリを作成をクリックします。
- アプリ情報タブで、ユーザーが接続する際に表示される値を入力し、必要に応じて変更します。これらの値には、パブリックアプリケーション名、アプリケーションロゴ、アプリケーションの説明が含まれます。
- 認証タブで、「リダイレクトURL」ボックスにコールバックURLを入力します。
- デスクトップアプリケーションを作成する場合は、http://localhost:33333のようなローカルにアクセス可能なURLに設定します。
- Webアプリケーションを作成する場合は、ユーザーがアプリケーションを承認した際にリダイレクトされる信頼できるURLに設定します。
- アプリを作成をクリックします。HubSpotがアプリケーションとそれに関連する認証情報を生成します。
- 認証タブで、クライアントIDとクライアントシークレットを確認します。これらは後でドライバーを設定する際に使用します。
スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。
テーブルにアクセスするには、最低限以下のスコープが必要です:
- hubdb
- oauth
- crm.objects.owners.read
- 変更を保存をクリックします。
- 統合に必要な機能にアクセスできる本番ポータルにアプリケーションをインストールします。
- 「インストールURL(OAuth)」の下で、完全なURLをコピーをクリックして、アプリケーションのインストールURLをコピーします。
- コピーしたリンクをブラウザで開きます。アプリケーションをインストールする標準アカウントを選択します。
- アプリを接続をクリックします。結果のタブは閉じて構いません。
プライベートアプリを使用する
HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。
以下の手順に従ってプライベートアプリケーショントークンを生成できます:
- HubDBアカウントで、メインナビゲーションバーの設定アイコン(歯車)をクリックします。
- 左サイドバーメニューで、統合 > プライベートアプリに移動します。
- プライベートアプリを作成をクリックします。
- 基本情報タブで、アプリケーションの詳細(名前、ロゴ、説明)を設定します。
- スコープタブで、プライベートアプリケーションがアクセスできるようにしたい各スコープに対して読み取りまたは書き込みを選択します。
- テーブルにアクセスするには、最低限hubdbとcrm.objects.owners.readが必要です。
- アプリケーションの設定が完了したら、右上のアプリを作成をクリックします。
- アプリケーションのアクセストークンに関する情報を確認し、作成を続行をクリックし、その後トークンを表示をクリックします。
- コピーをクリックして、プライベートアプリケーショントークンをコピーします。
接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。
- HubSpotアプリ開発者アカウントにログインします。
- 「Save & Test」をクリック
- 「Permissions」タブに移動し、ユーザーベースの権限を更新します
パーソナルアクセストークンの追加
パーソナルアクセストークン(PAT)は、Vertex AI から Connect AI への接続を認証するために使用されます。アクセスを細かく管理するため、統合ごとに個別の PAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定を開きます
- 設定ページで「Access Tokens」セクションに移動し、「 Create PAT」をクリックします
- PAT にわかりやすい名前を付けて「Create」をクリックします
- トークンが表示されたらコピーして安全に保管します。再度表示されることはありません
HubDB 接続が設定され PAT が生成されたので、Vertex AI は Connect AI を通じてHubDB のデータに接続できるようになりました。
ステップ2:必要な依存関係をインストール
Vertex AI ADK が Gemini モデルを実行し、エージェント環境を構築し、Google Cloud プロジェクト内のサポートサービスにアクセスできるように、必要な Google Cloud API を有効にします。これらの API は、開発と実行時に ADK が依存するバックエンド機能を提供します。
- Google Cloud Console にアクセスします
- ページ上部の「Project Picker」をクリックし、「New Project」を選択します
- プロジェクトを作成し、「Project ID」をメモします。この ID は後で環境設定で使用します
- 左側のナビゲーションメニューから「APIs & Services」を開き、「Enabled APIs & Services」を選択します
- 「 Enable Apis and services」をクリックします
- 以下の API を有効にします:
- Vertex AI API
- Cloud Build API
- Artifact Registry API
- Service Networking API
- Cloud Logging API
これらのサービスを有効にすると、Google Cloud プロジェクトで Vertex AI ADK の開発とローカルツール実行の準備が整います。
Vertex AI ADK プロジェクトフォルダの準備
プロジェクトディレクトリを作成し、Python 環境をセットアップします。このステップにより、ADK が正しくインストールされ、依存関係の競合なしにエージェントをロードできるクリーンなワークスペースが準備されます。
- Google Cloud Console を開き、Cloud Shell を選択します。プロジェクトピッカーから作成したプロジェクトが選択されていることを確認してください。
- ADK プロジェクトディレクトリを作成します:
- Python 仮想環境を作成してアクティベートします:
- 必要な ADK および MCP パッケージをインストールします:
mkdir -p ~/adk_agents/cdata_mcp_agent
cd ~/adk_agents/cdata_mcp_agent
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install google-adk
python -m pip install mcp
python -m pip install --upgrade "google-cloud-aiplatform[agent_engines]"
ステップ3:ADK エージェントファイルを作成
ADK がエージェントを認識できるようにエージェントモジュールを定義します。この構造により、Vertex AI が MCP 設定をロードし、Connect AI が公開するツールを登録できます。
- agent.py ファイルを作成し、以下のコードを貼り付けます
- もう1つのファイル __int__.py を作成し、以下のコードを貼り付けます
import os
import base64
import logging
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
# ---------- Logging ----------
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# ---------- CData MCP config ----------
CDATA_MCP_URL = os.environ.get("CDATA_MCP_URL", "https://mcp.cloud.cdata.com/mcp")
CDATA_USER_ID = os.environ.get("CDATA_USER_ID")
CDATA_PAT = os.environ.get("CDATA_PAT")
tools = []
if not (CDATA_USER_ID and CDATA_PAT):
logger.warning(
"CData MCP credentials not set (CDATA_USER_ID or CDATA_PAT missing); "
"starting agent WITHOUT MCP tools."
)
else:
# Basic auth header: base64("user:pat")
basic_auth_bytes = f"{CDATA_USER_ID}:{CDATA_PAT}".encode("utf-8")
basic_auth_header = base64.b64encode(basic_auth_bytes).decode("utf-8")
try:
logger.info("Initializing CData MCPToolset against %s", CDATA_MCP_URL)
tools.append(
MCPToolset(
connection_params=StreamableHTTPConnectionParams(
url=CDATA_MCP_URL,
headers={
"Authorization": f"Basic {basic_auth_header}",
# ADK handles content-type etc. internally;
# we just pass auth headers.
},
),
)
)
logger.info("CData MCPToolset initialized successfully.")
except Exception as e:
logger.exception("Failed to initialize CData MCPToolset")
# ---------- Root agent ----------
root_agent = LlmAgent(
model="gemini-2.0-flash",
name="cdata_mcp_agent",
instruction=(
"You are a data assistant. Use the CData MCP tools (if available) to "
"list connections, list catalogs/schemas/tables, and run SQL-style queries."
),
tools=tools,
)
from .agent import root_agent __all__ = ["root_agent"]
環境変数のエクスポート
Connect AI に認証するために必要な環境変数をエクスポートします。これらの値により、エージェントは MCP ツールセットを初期化し、Connect AI と通信できます。その前に、ADK が Gemini モデルに認証できるように Google API キーを取得します。このキーにより、エージェントは Vertex AI ADK 環境内で LLM 推論を実行し、ツールコールを正しくルーティングできます。
- Google AI Studio API Key ページにアクセスします
- 「Create API Key」をクリックします。API キーに名前を付け、プロジェクトがない場合は選択または作成します
- 「Create a key」をクリックし、API キーをコピーします
- Google Cloud Shell ページに戻り、環境変数のエクスポートを実行します。「your_cdata_email」、「your_pat」、「your-project-id」、「your_google_api_key」を実際の値に置き換えてください
export CDATA_MCP_URL="https://mcp.cloud.cdata.com/mcp"
export CDATA_USER_ID="your_cdata_email"
export CDATA_PAT="your_pat"
export GOOGLE_API_KEY="your_google_api_key"
export VERTEXAI_PROJECT="your-project-id"
export VERTEXAI_LOCATION="us-central1"
ステップ4:ADK Web インターフェースを起動
ADK Web インターフェースを起動してエージェントをロードします。インターフェースはランタイムを初期化し、MCP 対応エージェントをインタラクティブテスト用に利用可能にします。
- 親フォルダに移動します:
- ADK Web を起動します:
cd ~/adk_agents
adk web .
ステップ5:エージェントを選択して MCP 接続をテスト
ADK Web インターフェースからエージェントを選択します。ADK は MCP ツールをロードし、リアルタイムの MCP クエリを実行できるように環境を準備します。
- ブラウザタブから ADK Web UI を開きます
- エージェントのドロップダウンから「cdata_mcp_agent」を選択します
- チャットパネルに「list catalogs」と入力します。ADK は Connect AI 接続のリアルタイムリストを返します
これで、Vertex AI ADK エージェントは CData Connect AI MCP サーバーと通信し、リモート MCP ツールを通じてリアルタイムのHubDB のデータメタデータを取得できるようになりました。
CData Connect AI を入手
数百種類の SaaS、ビッグデータ、NoSQL ソースへのリアルタイムデータアクセスをクラウドアプリケーションから直接取得するには、CData Connect AI を今すぐお試しください!