Dify と NetSuite のリアルタイムデータを MCP で連携(CData Connect AI 経由)
Dify は、実運用レベルのエージェント型ワークフローやチャットボット、その他の LLM アプリケーションを構築できるオープンソースプラットフォームです。双方向のModel Context Protocol(MCP)サポートを標準搭載しており、リモート MCP Server をプラットフォーム上のツールとして登録するだけで外部データソースを追加でき、エージェントがリアルタイムデータにアクセスできるようになります。
Dify を組み込みの MCP Server 経由で CData Connect AI と連携すると、ガバナンスの効いたリアルタイムのNetSuite のデータへアクセスできるようになります。自然言語のプロンプトだけでNetSuite のデータのカタログ一覧表示やスキーマ探索、レコードのクエリを実行でき、データアクセスはすべて認可済みのデータソースに対して安全に行われます。
この記事では、Connect AI で NetSuite への接続を設定し、必要な Personal Access Token を生成する方法を解説します。さらに、Connect AI MCP Server を Dify にツールとして登録してエージェントアプリケーションに追加し、Dify からリアルタイムのNetSuite のデータをクエリして連携を確認する方法もご紹介します。
NetSuite とのデータ連携について
CData は、Oracle NetSuite のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Standard、CRM、OneWorld を含む、すべてのエディションの NetSuite にアクセスできます。
- SuiteTalk API(SOAP ベース)のすべてのバージョンと、SQL のように機能し、より簡単なデータクエリと操作を可能にする SuiteQL に接続できます。
- Saved Searches のサポートにより、事前定義されたレポートとカスタムレポートにアクセスできます。
- トークンベースおよび OAuth 2.0 で安全に認証でき、あらゆるユースケースで互換性とセキュリティを確保します。
- SQL ストアドプロシージャを使用して、ファイルのアップロード・ダウンロード、レコードや関連付けのアタッチ・デタッチ、ロールの取得、追加のテーブルやカラム情報の取得、ジョブ結果の取得などの機能的なアクションを実行できます。
お客様は、Power BI や Excel などのお気に入りの分析ツールからライブ NetSuite データにアクセスするために CData ソリューションを使用しています。また、CData Sync を直接使用するか、Azure Data Factory などの他のアプリケーションとの CData の互換性を活用して、NetSuite データを包括的なデータベースやデータウェアハウスに統合しています。CData は、Oracle NetSuite のお客様が NetSuite からデータを取得し、NetSuite にデータをプッシュするアプリを簡単に作成できるよう支援し、他のソースからのデータを NetSuite と統合することを可能にしています。
当社の Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data
ステップ 1:Dify 用に NetSuite への接続を設定
Dify から NetSuite への接続は、Connect AI の Remote MCP Server を通じて実現されます。Dify からNetSuite のデータを操作するために、まず Connect AI で NetSuite のコネクションを作成・設定していきましょう。
- Connect AI にログインし、Sources をクリック、次に Add Connection をクリック
- Add Connection パネルから NetSuite を選択
-
NetSuite に接続するために必要な認証プロパティを入力します。
NetSuiteへの接続
NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。
- SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
- SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。
データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。
NetSuite への認証
CData 製品では、以下の認証方式がご利用いただけます。
- トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
- OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
- OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。
トークンベース認証(OAuth1.0)
トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。
- AuthScheme = Token
- AccountId = 接続先のアカウント
- OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
- OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
- OAuthAccessToken = アクセストークン作成時のトークンID
- OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
- 「Save & Test」をクリック
- Permissions タブに移動し、ユーザーベースの権限を更新
Personal Access Token の追加
Personal Access Token(PAT)は、Dify から Connect AI への接続を認証するために使用します。アクセス制御の粒度を維持するために、連携ごとに個別の PAT を作成することをおすすめします。
- Connect AI アプリ右上の歯車アイコン()をクリックして Settings を開く
- Settings ページで Access Tokens セクションに移動し、 Create PAT をクリック
- PAT にわかりやすい名前を付けて Create をクリック
- 表示されたトークンをコピーして安全に保管してください。一度しか表示されません
NetSuite のコネクションと PAT の設定が完了しました。これで Dify は Connect AI 経由でNetSuite のデータに接続する準備が整いました。
ステップ 2:Dify に Connect AI MCP Server を登録
次に、Connect AI の Remote MCP Server を Dify のツールとして登録し、エージェントやワークフローが Connect AI 経由でリアルタイムデータのツールを検出・呼び出しできるようにします。
- Dify にログインするか、セルフホストの Dify インスタンス(組み込み MCP サポートを含む v1.6.0 以降)を開きます
- Integrations ページに移動し、Tools を選択して MCP タブをクリック
-
Add MCP Server (HTTP) をクリックし、以下の詳細を入力します:
- Server URL: https://mcp.cloud.cdata.com/mcp
- Name Icon: わかりやすい名前を付けます。例:CData Connect AI
- Server Identifier: 一意の識別子を指定します。例:cdata-connect-ai
- Headers: 値を Basic your_base64_encoded_email_PAT とした Authorization ヘッダーを追加します
注意:Dify は Connect AI との通信に Basic 認証を使用します。Connect AI のユーザーメールアドレスと前の手順で作成した PAT を email:PAT の形式で組み合わせ、その文字列を Base64 エンコードして先頭に Basic を付けてください。
-
Add & Authorize をクリックすると、Dify が Connect AI MCP Server に接続し、利用可能なツールが一覧表示されます
MCP サーバーの登録が完了すると、Dify ワークスペース内のすべてのエージェントアプリケーションやワークフローで Connect AI のツールを利用できるようになります。
ステップ 3:Dify からリアルタイム NetSuite のデータ をクエリ
連携設定が完了したら、Dify でエージェントアプリケーションを構築し、自然言語のプロンプトでリアルタイムのNetSuite のデータを操作してみましょう。
-
Dify の Studio ページから Create from Blank をクリックし、アプリケーションタイプとして Agent を選択
-
エージェントの設定画面で、Tools セクションの Add をクリックし、ステップ 2 で登録した Connect AI MCP ツールを選択
- プロンプトを解釈し MCP ツールを呼び出せるように、エージェント用の LLM プロバイダーとモデルを選択
-
プレビューパネルのチャット入力欄にプロンプトを入力します。例:
- cdata-connect-ai のツールを使って利用可能なカタログをすべて一覧表示して
- NetSuite で利用可能なスキーマとテーブルを表示して
- NetSuite のテーブルから上位 5 件のレコードをクエリして
-
Dify エージェントが Connect AI MCP Server を呼び出し、NetSuite のデータのリアルタイム結果を返します
これで Dify エージェントが Connect AI MCP Server と通信し、エージェント型ワークフローから直接 Remote MCP ツールを通じてリアルタイムのNetSuite のデータを取得できるようになりました。
CData Connect AI を入手
クラウドアプリケーションから数百種類の SaaS、ビッグデータ、NoSQL データソースに直接アクセスするには、CData Connect AI をぜひお試しください。 14日間の無料トライアルをダウンロードいただけます。ご不明な点がございましたら、サポートチームまでお気軽にお問い合わせください。