【MCP Server】Google ADK エージェントから Workday のデータにリアルタイムで接続しよう!
Google ADK(Agent Development Kit)は、さまざまなデータソースやサービスと連携できる AI エージェントを構築するための、モデル非依存の強力なフレームワークです。CData Connect AI のリモートMCP と組み合わせることで、自然言語クエリを通じてWorkday のデータとリアルタイムでやり取りできるインテリジェントなエージェントを構築できます。この記事では、Connect AI Remote MCP を使用して Workday に接続し、Google ADK エージェントを設定して ADK Web 経由で とやり取りする方法をご紹介します。
CData Connect AI は、Workday のデータに接続するための専用クラウド間インターフェースを提供します。CData Connect AI Remote MCP Server により、Google ADK エージェントと Workdayの間でセキュアな通信が可能になります。これにより、ネイティブ対応データベースへのデータレプリケーションを必要とせずに、エージェントから Workday のデータの読み取りや操作を実行できます。CData Connect AIは最適化されたデータ処理機能を備えており、フィルタや JOIN を含むサポート対象のすべての SQL 操作を効率的に Workdayへ直接送信します。サーバーサイド処理を活用することで、要求されたWorkday のデータ を迅速に取得できます。
この記事では、自然言語を使用してデータを会話形式で探索(Vibe Query)できる Google ADK エージェントの設定方法をご紹介します。Connect AI を使用すれば、Workday に加えて、数百の他のデータソースにもアクセスできるエージェントを構築できます。
Workday データ連携について
CData は、Workday のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Prism Analytics Data Catalog で作成したテーブルやデータセットにアクセスでき、Workday システムの忠実性を損なうことなく、ネイティブの Workday データハブを操作できます。
- Workday Reports-as-a-Service にアクセスして、Prism から利用できない部門データセットや、Prism の許容サイズを超えるデータセットのデータを表示できます。
- WQL、REST、または SOAP でベースデータオブジェクトにアクセスし、より詳細で細かいアクセスを実現できます(ただし、クエリの作成には Workday 管理者や IT の支援が必要な場合があります)。
ユーザーは、Tableau、Power BI、Excel などの分析ツールと Workday を統合し、当社のツールを活用して Workday データをデータベースやデータウェアハウスにレプリケートしています。アクセスは、認証されたユーザーの ID とロールに基づいて、ユーザーレベルで保護されます。
Workday を CData と連携させるための設定についての詳細は、ナレッジベース記事をご覧ください:Comprehensive Workday Connectivity through Workday WQL および Reports-as-a-Service & Workday + CData: Connection & Integration Best Practices
はじめに
ステップ 1:Google ADK 用の Workday 接続を設定する
Google ADK エージェントから Workday への接続は、CData Connect AI のリモートMCP を通じて実現されます。ADK エージェントから Workday とやり取りするために、まず CData Connect AI で Workday 接続を作成・設定していきましょう。
- Connect AI にログインし、「Sources」をクリックして、「Add Connection」をクリックします
- 「Add Connection」パネルから「Workday」を選択します
-
Workday に接続するために必要な認証プロパティを入力します。
Workday 接続プロパティの取得・設定方法
ここでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。必要なAPI のパラメータが設定され、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。
接続の前提条件
API / 前提条件 / 接続パラメータ
WQL / WQL サービスを有効化(下記参照) / ConnectionType: WQL
Reports as a Service / カタログレポートの設定(ヘルプドキュメントの「データアクセスのファインチューニング」参照) / ConnectionType: Reports
REST / 自動で有効化 / ConnectionType: REST
SOAP / 自動で有効化 / ヘルプドキュメントのWorkday SOAP API への認証を参照BaseURL およびTenant の取得
BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURL とTenant の両方を含むURL であるWorkday REST API Endpoint を表示します。
REST API Endpoint のフォーマットは、 https://domain.com/
/mycompany です。ここで、
- https://domain.com(URL のサブディレクトリと会社名の前の部分)はBaseURL です。
- mycompany(URL の最後のスラッシュの後の部分)はTenant です。
例えば、REST API エンドポイントがhttps://wd3-impl-services1.workday.com/ccx/api/v1/mycompany の場合、 BaseURL はhttps://wd3-impl-services1.workday.com であり、Tenant はmycompany です。
WQL サービスを有効化
Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。- Workday を開きます。
- 検索バーにView Domain と入力します。
- プロンプトにWorkday Query Language と入力します。
- Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。
Workday への認証
Basic 認証以外のほとんどのWorkday 接続では、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。 Workday への認証につての詳細は、ヘルプドキュメントの「Workday への認証」セクションを参照してください。
- 「Create & Test」をクリックします
-
「Add Workday Connection」ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。
パーソナルアクセストークンの追加
パーソナルアクセストークン(PAT)は、Google ADK エージェントから Connect AI への接続を認証するために使用されます。アクセスの粒度を維持するために、サービスごとに個別の PAT を作成することをおすすめします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして、設定ページを開きます。
- 設定ページの「Access Tokens」セクションに移動し、「Create PAT」をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- パーソナルアクセストークンは作成時にのみ表示されますので、必ずコピーして安全な場所に保管してください。
これで接続の設定と PAT の生成が完了しました。Google ADK エージェントから Workday に接続する準備が整いました。
ステップ 2:Google ADK エージェントを CData Connect AI 用に設定する
以下の手順に従って、CData Connect AI に接続するように Google ADK エージェントを設定していきましょう。事前構築済みのエージェントをこちらから使用できます。または、以下の手順に従って独自のエージェントを作成することもできます。
-
Google ADK Python SDK がインストールされていることを確認してください。インストールされていない場合は、pip を使用してインストールします。
pip install google-genkit google-adk
- エージェントの設定ファイル(通常は agent.py)を作成または更新して、CData Connect AI MCP 接続を含めます。Connect AI 認証情報を使用して MCP ツールセットを設定する必要があります。
-
MCP サーバー接続用の環境変数または設定をセットアップします。プロジェクトのルートに .env ファイルを作成し、以下の変数を設定します。
MCP_SERVER_URL=https://mcp.cloud.cdata.com/mcp MCP_USERNAME=YOUR_EMAIL MCP_PASSWORD=YOUR_PATYOUR_EMAIL を Connect AI のメールアドレスに、YOUR_PAT をステップ 1 で作成したパーソナルアクセストークンに置き換えてください。 -
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 を通じて Workday データにアクセスできるデータクエリアシスタントです。 ユーザーが Workday をリアルタイムで探索・クエリできるようサポートしてください。 利用可能な MCP ツールを使用して以下を実行できます: - 利用可能なデータベースとスキーマの一覧表示 - テーブル構造の探索 - SQL クエリの実行 - データに関する洞察の提供 実行内容を常に説明し、結果を明確にフォーマットしてください。""", tools=[ MCPToolset( connection_params=StreamableHTTPConnectionParams( url=MCP_SERVER_URL, headers=auth_header ) ) ], ) -
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 が自動的に設定される仮想環境を使用
- ブラウザでADK のWeb インターフェースを開きます(通常は http://localhost:5000)。
- ドロップダウンメニューからエージェントを選択します(エージェント設定の name パラメータに基づいて名前が付けられています)。
- これで、自然言語クエリを使用してWorkday との会話を開始できます。。
ステップ 3:Workday データへのアクセスを備えたインテリジェントエージェントを構築する
Google ADK エージェントを設定して CData Connect AI に接続できたので、自然言語を使用して Workday とやり取りする高度なエージェントを構築できます。MCP 統合により、エージェントに強力なデータアクセス機能が提供されます。
エージェントで使用可能な MCP ツール
Google ADK エージェントは、以下のCData Connect AI MCP ツールにアクセスできます。
- queryData:接続されたデータソースに対してSQL クエリを実行
- execData:ストアドプロシージャを実行
- getCatalogs:利用可能なデータベース接続を取得
- getSchemas:特定のカタログのデータベーススキーマを一覧表示
- getTables:スキーマ内のテーブルを一覧表示
- getColumns:特定のテーブルの列情報を取得
- getPrimaryKeys:プライマリキー情報を取得
- getIndexes:テーブルのインデックス情報を取得
- getProcedures:利用可能なストアドプロシージャを一覧表示
ユースケース例
Workday のデータにアクセスできるGoogle ADK エージェントでできることの例をいくつかご紹介します。
- データ分析エージェント:Workday のトレンド、パターン、異常を分析するエージェントを構築
- レポート生成エージェント:自然言語リクエストに基づいてカスタムレポートを生成するエージェントを作成
- データ品質エージェント:リアルタイムでデータ品質を監視・検証するエージェントを開発
- ビジネスインテリジェンスエージェント:複数のデータソースをクエリして複雑なビジネスの質問に答えるエージェントを構築
- 自動化ワークフローエージェント:Workday のデータ条件に基づいてアクションをトリガーするエージェントを作成
エージェントのテスト
ADK Web にデプロイすると、自然言語クエリを通じてエージェントとやり取りできます。以下のような質問を試してみてください。
- 「過去 30 日間のすべての顧客を表示して」
- 「今四半期の売上トップの製品は何?」
- 「売上トレンドを分析して異常を特定して」
- 「アクティブなプロジェクトのサマリーレポートを生成して」
- 「特定の条件に一致するすべてのレコードを検索して」
Google ADK エージェントは、これらの自然言語クエリを自動的に適切な SQL クエリに変換し、CData Connect AI MCP Server を通じて Workday データに対して実行します。複雑な SQL を記述したり、基盤となるデータ構造を理解したりすることなく、ユーザーにリアルタイムの洞察を提供できます。
CData Connect AI でビジネスシステムのデータ活用を今すぐスタート
いかがでしたか?Google ADK エージェントから Workday へのデータ接続が 10 分もかからずに完了したのではないでしょうか。業務に使えそう、と感じてくださった方は、14 日間の無償トライアルで AI ツールからビジネスシステムへのリアルタイムデータ接続をぜひお試しください。