Mastra と SAP SuccessFactors のデータを 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 サーバーを登録し、リアルタイムの SAP SuccessFactors データをクエリするエージェントを構築するために必要な手順を説明します。

前提条件

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

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

認証情報チェックリスト

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

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

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

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

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

    SAP SuccessFactorsへの接続

    それでは、SAP SuccessFactors に接続していきましょう。CData 製品は、デフォルトで有効になっているOData API を介してSAP SuccessFactors と通信します。追加の権限が必要な場合は、SAP サポートサイトをご確認ください。

    認証方法として、Azure AD 認証、SAP IAS 認証、OAuth 認証(推奨)、Basic 認証(非推奨)のいずれかを使用してSAP SuccessFactors に認証できます。

    必要な接続プロパティ

    選択したAuthScheme に関わらず、SAP SuccessFactors 環境を識別するために以下の接続プロパティを設定しましょう。

    • URL:SuccessFactors をホストするサーバーのURL
    • CompanyId:SAP SuccessFactors テナントに割り当てられた一意の識別子。この値はAPI 認証に必要で、組織固有のものです

    OAuth 認証

    SAP SuccessFactors では、OAuth 認証を2種類のグラント種別でサポートしています。

    • SAP SuccessFactors LMS インスタンスのクライアントグラント種別
    • SAML-2 Bearer グラント種別

    OAuth 認証を有効にするには、すべてのOAuth フローでカスタムOAuth アプリケーションを作成し、適切なプロパティを設定する必要があります。

    デスクトップアプリケーションでカスタムOAuth アプリケーションの資格情報を使用して認証するには、OAuth アクセストークンを取得し、更新する必要があります。これらを設定すると、接続の準備が整います。

    OAuth アクセストークンの取得およびリフレッシュ

    以下のプロパティを設定してください。

    • InitiateOAuthGETANDREFRESHOAuthAccessToken を自動的に取得およびリフレッシュするために使用します
    • OAuthClientId:アプリケーションの登録時に割り当てられたクライアントId
    • CallbackURL:カスタムOAuth アプリケーションの登録時に定義されたリダイレクトURI
    • OAuthClientSecret (クライアントグラント種別のみ):アプリケーションの登録時に割り当てられたクライアントシークレット
    • PrivateKey (SAML-2 Bearer グラント種別のみ):カスタムOAuth アプリケーションの作成時にダウンロードした秘密鍵証明書のパス、またはその証明書のbase64 でエンコードされた内容

    接続すると、CData 製品がデフォルトブラウザでSAP SuccessFactors のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

    アプリケーションにアクセス許可を与えると、CData 製品がOAuth プロセスを完了します。

    1. CData 製品がSAP SuccessFactors からアクセストークンを取得し、それを使ってデータをリクエストします
    2. OAuth 値はOAuthSettingsLocation で指定されたパスに保存されます。これらの値は接続間で永続化されます

    アクセストークンの期限が切れた際は、CData 製品が自動でアクセストークンをリフレッシュします。

    カスタムOAuth アプリケーションの作成やその他の認証方法については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。

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

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

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

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

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

ステップ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-...
    CDATA_CONNECT_AI_USER=your@email.com
    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 の詳細、または無料トライアルにお申し込みください:

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