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

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

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

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

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

前提条件

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

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

認証情報チェックリスト

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

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

ステップ1:Mastra 用の SQL Analysis Services 接続を設定

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

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

    接続するには、Url プロパティを有効なSQL Server Analysis Services エンドポイントに設定して認証を提供します。XMLA アクセスを使用して、HTTP 経由でホストされているSQL Server Analysis Services インスタンスに接続できます。 Microsoft ドキュメント configure HTTP access を参照してSQL Server Analysis Services に接続してください。

    SQL Server Analysis Services に対してSQL を実行するには、ヘルプドキュメントの「Analysis Services データの取得」を参照してください。接続ごとにメタデータを取得する代わりに、CacheLocation を設定できます。

    • HTTP 認証

      AuthScheme を"Basic" または"Digest" に設定してUser とPassword を設定します。CustomHeaders に他の認証値を指定します。

    • Windows (NTLM)

      Windows のUser とPassword を設定して、AuthScheme をNTLM に設定します。

    • Kerberos およびKerberos Delegation

      Kerberos を認証するには、AuthScheme をNEGOTIATE に設定します。Kerberos 委任を使うには、AuthScheme をKERBEROSDELEGATION に設定します。必要があれば、User、Password およびKerberosSPN を設定します。デフォルトでは、CData 製品は指定されたUrl でSPN と通信しようと試みます。

    • SSL/TLS:

      デフォルトでは、CData 製品はサーバーの証明書をシステムの信頼できる証明書ストアと照合してSSL/TLS のネゴシエーションを試みます。別の証明書を指定するには、利用可能なフォーマットについてヘルプドキュメントの「SSLServerCert」プロパティを参照してください。

    接続を設定したら、その後はあらゆるキューブを二次元テーブルとして扱えます。データに接続する際にCData 製品がSSAS のメタデータを取得して、動的にテーブルスキーマを更新します。 「CacheLocation」プロパティを設定すれば自動でファイルにキャッシュを作成するので、接続時に毎回メタデータを取得する必要もなくなります。

    詳細は、ヘルプドキュメントの「Retrieving Analysis Services Data」を参照してください。

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

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

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

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

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

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

無料トライアル