MastraとConnect AI MCPサーバーでSage X3 Cloud を統合

Somya Sharma
Somya Sharma
Technical Marketing Engineer
CData Connect AI MCP Server を活用して、Mastra エージェントが Sage X3 Cloud のリアルタイムデータを安全にクエリ・読み取り・操作できるようにします。レプリケーションは不要です。

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

CData Connect AI は、Sage X3 Cloudを含む数百のデータソースをMCP経由でAIツールにつなげるクラウドサービスです。接続情報はConnect AI側で一元管理されるため、Mastra エージェントにSage X3 Cloudの認証情報を直接渡すことなくセキュアに連携できます。

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

前提条件

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

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

認証情報チェックリスト

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

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

ステップ1:Mastra 用の Sage X3 Cloud 接続を設定

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

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

    Sage X3 Cloud では OAuth 2.0 の Client Credentials フローを使用し、API へのアクセスには X-API-Key も必要です。AuthScheme を OAuth に設定し、以下の接続プロパティを指定します。

    • URL:Sage X3 Cloud インスタンスのベース URL。
    • OAuthAccessTokenUrl:OAuth トークンエンドポイント(例:https://your-auth-domain/oauth/token)。
    • OAuthClientId:OAuth アプリケーションのクライアント ID。
    • OAuthClientSecret:OAuth アプリケーションのクライアントシークレット。
    • Audience:トークンリクエストで使用する API の Audience 値。
    • XAPIKey:Sage X3 Cloud の管理者から提供された X-API-Key。
    • Folder:Sage X3 のフォルダ名(例:SEED)。このフォルダがデフォルトのスキーマとして使用されます。
    • Folders(オプション):Sage X3 フォルダのカンマ区切りリスト(例:SEED,PERF)。各フォルダが個別のスキーマとして公開されるため、Schema.Table 構文でフォルダをまたいだクエリを実行できます。

    ドライバーは Client Credentials フローでアクセストークンを取得し、すべての API リクエストで X-API-Key とあわせて送信します。InitiateOAuth を GETANDREFRESH(デフォルト)に設定しておけば、トークンの取得と更新は自動で行われます。

    接続の設定(Salesforce の例)
  6. 「Save & Test」をクリック
  7. Sage X3 Cloud 接続の追加ページで「Permissions」タブに移動し、ユーザーベースの権限を更新します。 権限の更新

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

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

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

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

ステップ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
    Mastra サーバーの起動

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

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

    接続されたデータソースから利用可能なカタログを一覧表示してください。
    Mastra Studio でクエリを実行

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

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

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

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

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

無料トライアル