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

加藤龍彦
加藤龍彦
デジタルマーケティング
CData Connect AI のリモートMCP サーバー を活用して、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 接続を作成・設定していきましょう。

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

    Workday 接続プロパティの取得・設定方法

    ここでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。必要なAPI のパラメータが設定され、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。

    接続の前提条件

    API / 前提条件 / 接続パラメータ
    WQL / WQL サービスを有効化(下記参照) / ConnectionTypeWQL
    Reports as a Service / カタログレポートの設定(ヘルプドキュメントの「データアクセスのファインチューニング」参照) / ConnectionTypeReports
    REST / 自動で有効化 / ConnectionTypeREST
    SOAP / 自動で有効化 / ヘルプドキュメントのWorkday SOAP API への認証を参照

    BaseURL およびTenant の取得

    BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURLTenant の両方を含む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 の場合、 BaseURLhttps://wd3-impl-services1.workday.com であり、Tenantmycompany です。

    WQL サービスを有効化

    Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。

    1. Workday を開きます。
    2. 検索バーにView Domain と入力します。
    3. プロンプトにWorkday Query Language と入力します。
    4. Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。

    Workday への認証

    Basic 認証以外のほとんどのWorkday 接続では、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。 Workday への認証につての詳細は、ヘルプドキュメントの「Workday への認証」セクションを参照してください。

  4. 「Create & Test」をクリックします
  5. 「Add Workday Connection」ページの「Permissions」タブに移動し、ユーザーベースの権限を更新します。

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

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

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

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

ステップ 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 を通じて Workday データにアクセスできるデータクエリアシスタントです。
        
        ユーザーが Workday をリアルタイムで探索・クエリできるようサポートしてください。
        利用可能な 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. これで、自然言語クエリを使用して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 ツールからビジネスシステムへのリアルタイムデータ接続をぜひお試しください。

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

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

無料トライアル お問い合わせ