Mastra と BigQuery のデータを CData Connect AI MCP サーバーで統合

Somya Sharma
Somya Sharma
Technical Marketing Engineer
CData Connect AI MCP サーバーを活用して、Mastra エージェントが 300 以上のエンタープライズソースのリアルタイムデータをセキュアにクエリ、読み取り、操作できるようにします。レプリケーション不要。

Mastra は、インテリジェントで構成可能な AI エージェントを構築する開発者やエンタープライズチーム向けに設計されています。そのモジュラーフレームワークと宣言的なアーキテクチャにより、エージェントのオーケストレーション、LLM との統合、データ駆動ワークフローの自動化が簡単になります。しかし、エージェントがローカルメモリや事前定義された API を超えたデータを操作する必要がある場合、多くの実装はカスタムミドルウェアやスケジュールされた同期に依存して、外部システムからローカルストアにデータをコピーします。このアプローチは複雑さを増し、メンテナンスの負担を増加させ、レイテンシを導入し、エージェントのリアルタイムの可能性を制限します。

CData Connect AI は、300 以上のエンタープライズアプリケーション、データベース、ERP、分析プラットフォームへのライブな直接接続でこのギャップを埋めます。CData のリモート Model Context Protocol(MCP)サーバーを通じて、Mastra エージェントはレプリケーションなしにリアルタイムデータをセキュアにクエリ、読み取り、操作できます。結果として、グラウンドされたレスポンス、高速な推論、システム全体での自動化された意思決定が実現し、ガバナンスが強化され、可動部品が削減されます。

この記事では、CData Connect AI MCP 接続を設定し、Mastra Studio で MCP サーバーを登録し、リアルタイムの BigQuery データをクエリするエージェントを構築するために必要な手順を説明します。

BigQuery データ連携について

CData は、Google BigQuery のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • OAuth、OAuth JWT、GCP インスタンスなど、すぐに使える幅広い認証スキームのサポートにより、BigQuery へのアクセスを簡素化します。
  • BigQuery と他のアプリケーション間の双方向データアクセスにより、データワークフローを強化します。
  • SQL ストアドプロシージャを通じて、ジョブの開始・取得・キャンセル、テーブルの削除、ジョブロードの挿入など、主要な BigQuery アクションを実行できます。

多くの CData のお客様は、Google BigQuery をデータウェアハウスとして使用しており、CData ソリューションを使用して、別々のソースからビジネスデータを BigQuery に移行し、包括的な分析を行っています。また、BigQuery データの分析やレポート作成に当社の接続機能を使用するお客様も多く、両方のソリューションを使用しているお客様も多数います。

CData が Google BigQuery 体験をどのように向上させるかについての詳細は、ブログ記事をご覧ください:https://jp.cdata.com/blog/what-is-bigquery


はじめに


前提条件

始める前に、以下を準備してください:

  1. CData Connect AI アカウント
  2. Node.js 18 以上と npm がインストールされていること
  3. 動作する Mastra プロジェクト(npm create mastra@latest で作成)
  4. BigQuery へのアクセス

認証情報チェックリスト

接続に必要な以下の認証情報を準備してください:

  1. USERNAME: CData のメールログイン
  2. PAT: Connect AI で Settings にアクセスし Access Tokens をクリック(一度だけコピー可能)
  3. MCP_BASE_URL: https://mcp.cloud.cdata.com/mcp

ステップ1:Mastra 用の BigQuery 接続を設定

Mastra から BigQuery への接続は、CData Connect AI のリモート MCP を通じて実現できます。Mastra からBigQuery のデータを操作するには、まず CData Connect AI で BigQuery 接続を作成・設定します。

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

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

    Google BigQuery はOAuth 認証標準を使用します。個々のユーザーとしてGoogle API にアクセスするには、組み込みクレデンシャルを使うか、OAuth アプリを作成します。

    OAuth では、Google Apps ドメインのユーザーとしてサービスアカウントを使ってアクセスすることもできます。サービスカウントでの認証では、OAuth JWT を取得するためのアプリケーションを登録する必要があります。

    OAuth 値に加え、DatasetId、ProjectId を設定する必要があります。詳細はヘルプドキュメントの「はじめに」を参照してください。

  4. 「Save & Test」をクリック
  5. BigQuery 接続の追加ページで「Permissions」タブに移動し、ユーザーベースの権限を更新します。

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

パーソナルアクセストークン(PAT)は、Mastra から Connect AI への接続を認証するために使用されます。アクセスを細かく管理するため、サービスごとに個別の PAT を作成することをお勧めします。

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

接続が設定され PAT が生成されたので、Mastra からBigQuery のデータに接続する準備が整いました。

ステップ2:Mastra プロジェクトをセットアップ

  • ターミナルを開き、目的のフォルダに移動します
  • 新しいプロジェクトを作成します:
    npm create mastra@latest
  • VS Code でフォルダを開きます
  • 必要な Mastra 依存関係をインストールします:
    npm install @mastra/core @mastra/libsql @mastra/memory
  • 次に MCP 統合パッケージを個別にインストールします:
    npm install @mastra/mcp
  • ステップ3:環境変数を設定

    プロジェクトルートに以下のキーを含む .env ファイルを作成します:

    OPENAI_API_KEY=sk-...
    [email protected]
    CDATA_CONNECT_AI_PASSWORD=your_PAT
    

    変更を保存した後、開発サーバーを再起動します:

    npm run dev

    ステップ4:CData Connect AI エージェントを追加

    以下のコードで src/mastra/agents/connect-ai-agent.ts ファイルを作成します:

    import { Agent } from "@mastra/core/agent";
    import { Memory } from "@mastra/memory";
    import { LibSQLStore } from "@mastra/libsql";
    import { MCPClient } from "@mastra/mcp";
    
    const mcpClient = new MCPClient({
      servers: {
        cdataConnectAI: {
          url: new URL("https://connect.cdata.com/mcp/"),
          requestInit: {
            headers: {
              Authorization: `Basic ${Buffer.from(
                `${process.env.CDATA_CONNECT_AI_USER}:${process.env.CDATA_CONNECT_AI_PASSWORD}`
              ).toString("base64")}`,
            },
          },
        },
      },
    });
    
    export const connectAIAgent = new Agent({
      name: "Connect AI Agent",
      instructions: "You are a data exploration and analysis assistant with access to CData Connect AI.",
      model: "openai/gpt-4o-mini",
      tools: await mcpClient.getTools(),
      memory: new Memory({
        storage: new LibSQLStore({ url: "file:../mastra.db" }),
      }),
    });
    

    ステップ5:index.ts を更新してエージェントを登録

    src/mastra/index.ts の内容を以下に置き換えます:

    import { Mastra } from "@mastra/core/mastra";
    import { PinoLogger } from "@mastra/loggers";
    import { LibSQLStore } from "@mastra/libsql";
    import { connectAIAgent } from "./agents/connect-ai-agent.js";
    
    export const mastra = new Mastra({
      agents: { connectAIAgent },
      storage: new LibSQLStore({ url: "file:../mastra.db" }),
      logger: new PinoLogger({ name: "Mastra", level: "info" }),
      observability: { default: { enabled: true } },
    });
    

    ステップ6:接続を実行して確認

    Mastra サーバーを起動します:

    npm run dev

    ステップ7:Mastra Studio でライブクエリを実行

    Mastra Studio でチャットインターフェースを開き、以下のサンプルプロンプトを入力します:

    接続されたデータソースから利用可能なカタログを一覧表示してください。

    Mastra と CData でリアルタイムのデータ対応エージェントを構築

    Mastra と CData Connect AI を組み合わせることで、エージェントがエンタープライズデータにライブアクセスし、同期パイプラインや手動の統合ロジックなしにインテリジェントに動作する強力な AI 駆動ワークフローが実現できます。

    無料トライアルを開始して、CData が Mastra に 300 以上の外部システムへのライブでセキュアなアクセスを提供する方法をぜひご確認ください。

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

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

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