DifyとMCPでKafka のリアルタイムデータに連携
Dify は、実運用レベルのエージェント型ワークフローやチャットボット、その他の LLM アプリケーションを構築できるオープンソースプラットフォームです。双方向のModel Context Protocol(MCP)サポートを標準搭載しており、リモート MCP Server をプラットフォーム上のツールとして登録するだけで外部データソースを追加でき、エージェントがリアルタイムデータにアクセスできるようになります。
Dify を組み込みの MCP Server 経由で CData Connect AI と連携すると、ガバナンスの効いたリアルタイムのKafka のデータへアクセスできるようになります。自然言語のプロンプトだけでKafka のデータのカタログ一覧表示やスキーマ探索、レコードのクエリを実行でき、データアクセスはすべて認可済みのデータソースに対して安全に行われます。
この記事では、Connect AI で Kafka への接続を設定し、必要な Personal Access Token を生成する方法を解説します。さらに、Connect AI MCP Server を Dify にツールとして登録してエージェントアプリケーションに追加し、Dify からリアルタイムのKafka のデータをクエリして連携を確認する方法もご紹介します。
ステップ 1:Dify 用に Kafka への接続を設定
Dify から Kafka への接続は、Connect AI の Remote MCP Server を通じて実現されます。Dify からKafka のデータを操作するために、まず Connect AI で Kafka のコネクションを作成・設定していきましょう。
- Connect AI にログインし、Sources をクリック、次に Add Connection をクリック
- Add Connection パネルから Kafka を選択
-
Kafka に接続するために必要な認証プロパティを入力します。
Apache Kafka 接続プロパティの取得・設定方法
それでは、Apache Kafka に接続していきましょう。.NET ベースのエディションは、Confluent.Kafka およびlibrdkafka ライブラリに依存して機能します。 これらのアセンブリはインストーラーにバンドルされており、CData 製品と一緒に自動的にインストールされます。 別のインストール方法をご利用の場合は、NuGet から依存関係のあるConfluent.Kafka 2.6.0をインストールしてください。
Apache Kafka サーバーのアドレスを指定するには、BootstrapServers パラメータを使用します。
デフォルトでは、CData 製品はデータソースとPLAINTEXT で通信しており、そのため、データはすべて暗号化されずに送信されます。 通信を暗号化したい場合は、以下の設定を行ってください:
- UseSSL をtrue に設定し、CData 製品がSSL 暗号化を使用するように構成します
- SSLServerCert およびSSLServerCertType を設定して、サーバー証明書をロードします
Apache Kafka への認証
続いて、認証方法を設定しましょう。Apache Kafka データソースでは、以下の認証方法をサポートしています:
- Anonymous
- Plain
- SCRAM ログインモジュール
- SSL クライアント証明書
- Kerberos
Anonymous 認証
Apache Kafka の特定のオンプレミスデプロイメントでは、認証接続プロパティを設定することなくApache Kafka に接続できます。 このような接続はanonymous(匿名)と呼ばれます。
匿名認証を行うには、以下のプロパティを設定してください。
- AuthScheme:None
その他の認証方法については、ヘルプドキュメントをご確認ください。
- 「Save & Test」をクリック
- Permissions タブに移動し、ユーザーベースの権限を更新
Personal Access Token の追加
Personal Access Token(PAT)は、Dify から Connect AI への接続を認証するために使用します。アクセス制御の粒度を維持するために、連携ごとに個別の PAT を作成することをおすすめします。
- Connect AI アプリ右上の歯車アイコン()をクリックして Settings を開く
- Settings ページで Access Tokens セクションに移動し、 Create PAT をクリック
- PAT にわかりやすい名前を付けて Create をクリック
- 表示されたトークンをコピーして安全に保管してください。一度しか表示されません
Kafka のコネクションと PAT の設定が完了しました。これで Dify は Connect AI 経由でKafka のデータに接続する準備が整いました。
ステップ 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 からリアルタイム Kafka のデータ をクエリ
連携設定が完了したら、Dify でエージェントアプリケーションを構築し、自然言語のプロンプトでリアルタイムのKafka のデータを操作してみましょう。
-
Dify の Studio ページから Create from Blank をクリックし、アプリケーションタイプとして Agent を選択
-
エージェントの設定画面で、Tools セクションの Add をクリックし、ステップ 2 で登録した Connect AI MCP ツールを選択
- プロンプトを解釈し MCP ツールを呼び出せるように、エージェント用の LLM プロバイダーとモデルを選択
-
プレビューパネルのチャット入力欄にプロンプトを入力します。例:
- cdata-connect-ai のツールを使って利用可能なカタログをすべて一覧表示して
- Kafka で利用可能なスキーマとテーブルを表示して
- Kafka のテーブルから上位 5 件のレコードをクエリして
-
Dify エージェントが Connect AI MCP Server を呼び出し、Kafka のデータのリアルタイム結果を返します
これで Dify エージェントが Connect AI MCP Server と通信し、エージェント型ワークフローから直接 Remote MCP ツールを通じてリアルタイムのKafka のデータを取得できるようになりました。
CData Connect AI を入手
クラウドアプリケーションから数百種類の SaaS、ビッグデータ、NoSQL データソースに直接アクセスするには、CData Connect AI をぜひお試しください。 14日間の無料トライアルをダウンロードいただけます。ご不明な点がございましたら、サポートチームまでお気軽にお問い合わせください。