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

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

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

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

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

前提条件

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

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

認証情報チェックリスト

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

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

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

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

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

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

    DataSource プロパティにローカルフォルダ名を設定します。

    .csv、.tab、.txt ではない拡張子のファイルを扱う場合には、IncludeFiles 使用する拡張子をカンマ区切りで設定します。Microsoft Jet OLE DB 4.0 driver 準拠の場合にはExtended Properties を設定できます。別の方法として、Schema.ini ファイルにファイル形式を記述することも可能です。

    CSV ファイルを削除・更新する場合は、UseRowNumbers をTRUE に設定します。RowNumber はテーブルKey として扱われます。

    Amazon S3 内のCSV への接続

    URI をバケットおよびフォルダに設定します。さらに、次のプロパティを設定して認証します。

    • AWSAccessKey:AWS アクセスキー(username)に設定。
    • AWSSecretKey:AWS シークレットキーに設定。

    Box 内のCSV への接続

    URI をCSV ファイルを含むフォルダへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。

    Dropbox 内のCSV への接続

    URI をCSV ファイルを含むフォルダへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。

    SharePoint Online SOAP 内のCSV への接続

    URI をCSV ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。

    SharePoint Online REST 内のCSV への接続

    URI をCSV ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。

    FTP 内のCSV への接続

    URI をルートフォルダとして使用されるフォルダへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。

    Google Drive 内のCSV への接続

    デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。

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

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

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

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

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

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

無料トライアル