MastraとConnect AI MCPサーバーでJD Edwards を統合
Mastra は、インテリジェントで構成可能な AI エージェントを構築する開発者やエンタープライズチーム向けに設計されています。そのモジュラーフレームワークと宣言的なアーキテクチャにより、エージェントのオーケストレーション、LLM との統合、データ駆動ワークフローの自動化が簡単になります。しかし、エージェントがローカルメモリや事前定義された API を超えたデータを操作する必要がある場合、多くの実装はカスタムミドルウェアやスケジュールされた同期に依存して、外部システムからローカルストアにデータをコピーします。このアプローチは複雑さを増し、メンテナンスの負担を増加させ、レイテンシを導入し、エージェントのリアルタイムの可能性を制限します。
CData Connect AI は、JD Edwardsを含む数百のデータソースをMCP経由でAIツールにつなげるクラウドサービスです。接続情報はConnect AI側で一元管理されるため、Mastra エージェントにJD Edwardsの認証情報を直接渡すことなくセキュアに連携できます。
この記事では、CData Connect AI MCP 接続を設定し、Mastra Studio で MCP サーバーを登録し、リアルタイムの JD Edwards データをクエリするエージェントを構築するために必要な手順を説明します。
前提条件
始める前に、以下を準備してください:
- CData Connect AI アカウント
- Node.js 18 以上と npm がインストールされていること
- 動作する Mastra プロジェクト(npm create mastra@latest で作成)
- JD Edwards へのアクセス
認証情報チェックリスト
接続に必要な以下の認証情報を準備してください:
- USERNAME: CData のメールログイン
- PAT: Connect AI で Settings にアクセスし Access Tokens をクリック(一度だけコピー可能)
- MCP_BASE_URL: https://mcp.cloud.cdata.com/mcp
ステップ1:Mastra 用の JD Edwards 接続を設定
Mastra から JD Edwards への接続は、CData Connect AI のリモート MCP を通じて実現できます。Mastra からJD Edwards のデータを操作するには、まず CData Connect AI で JD Edwards 接続を作成・設定します。
- Connect AI にログインして「Sources」をクリック、次に「 Add Connection」をクリック
- 接続を追加パネルから「JD Edwards」を選択
-
JD Edwards に接続するために必要な認証プロパティを入力します。
ドライバーは Application Interface Services(AIS)Server を経由して JD Edwards に接続します。以下の接続プロパティを設定します。
- URL:AIS Server のベース HTTPS URL(例:https://jde-ais.example.com:8300)。
- User:JD Edwards のユーザー名。
- Password:JD Edwards のパスワード。
- Environment(オプション):使用する JD Edwards の環境(例:本番環境なら PD920、開発環境なら DV920)。指定しない場合は、AIS Server のデフォルト環境が使用されます。
- Role(オプション):セッションで使用する JD Edwards のロール。指定しない場合は、AIS Server のデフォルトロールが使用されます。
- DeviceName(オプション):接続元のデバイスまたはアプリケーションの識別子。AIS Server での監査やログ記録に使用されます。
- Jasserver(オプション):リクエストのルーティング先となる Java Application Server(JAS)インスタンス。クラスタ環境で便利です。
公開するデータの選択
JD Edwards ではテーブルとビジネスビューが System Code ごとに整理されており、ドライバーは各 System Code をそれぞれ個別のスキーマとして公開します。利用できるスキーマは、以下のプロパティで制御できます。
- DataModel:System Code をスキーマとして公開する ERP モジュール(カンマ区切りで複数指定可)。接続先インスタンスのすべての System Code を公開する場合は All を指定します。デフォルトは FinancialManagement です。
- SystemCodes:DataModel の System Code に加えて公開したい System Code のカンマ区切りリスト(例:42,43)。
接続時、ドライバーは認証情報を AIS Server に送信してセッショントークンを取得し、キャッシュします。セッションの有効期限が切れる前に、新しいトークンが自動でリクエストされます。
- 「Save & Test」をクリック
-
JD Edwards 接続の追加ページで「Permissions」タブに移動し、ユーザーベースの権限を更新します。
パーソナルアクセストークンの追加
パーソナルアクセストークン(PAT)は、Mastra から Connect AI への接続を認証するために使用されます。アクセスを細かく管理するため、サービスごとに個別の PAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして設定ページを開きます。
- 設定ページで「Access Tokens」セクションに移動し、「 Create PAT」をクリックします。
-
PAT に名前を付けて「Create」をクリックします。
- パーソナルアクセストークンは作成時にのみ表示されるため、必ずコピーして今後の使用に備えて安全に保管してください。
接続が設定され PAT が生成されたので、Mastra からJD Edwards のデータに接続する準備が整いました。
ステップ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 に 数百種類の外部システムへのライブでセキュアなアクセスを提供する方法をぜひご確認ください。