MENU

DifyでMCPサーバーを活用!公開・接続手順を完全ガイド

当ページのリンクには広告が含まれています。

AIモデルと外部ツールを標準化された方法で接続するプロトコル「MCP(Model Context Protocol)」。

Dify v1.6.0から、このMCPへの公式対応が追加され、プラグインなしで簡単にMCPサーバーを利用したり、逆にDifyで作成したワークフローをMCPサーバーとして公開したりすることが可能になりました。

この記事では、DifyにおけるMCPの活用方法を「公開(サーバー化)」と「利用(クライアント化)」の2つの側面から解説します。

目次

1. DifyワークフローをMCPサーバーとして公開する

Difyで作成したワークフローやチャットフローを、外部のAI(Claude Desktopなど)から「ツール」として呼び出せるようにします。

公開手順

  1. アプリの公開: MCP化したいワークフロー(またはチャットボット)を作成し、まずは通常のアプリとして「公開」します。
  2. MCP設定: アプリの「設定」→「MCP」タブを開き、MCPサーバーとして有効化します。
  3. ツールの説明: 開始ノードに入力フィールドがある場合、それぞれのフィールドに説明文(Description)を追加します。これは外部AIがツールを正しく使うためのヒントになります。

設定が完了すると、MCPサーバーのURLが発行されます。このURLをコピーしておきましょう。

注意: 現在の仕様ではMCPサーバーへのアクセスに認証機能がありません。URLを知っている人は誰でも利用できてしまうため、URLの管理には十分注意してください。

活用例:Claude Desktopからの利用

公開したMCPサーバーは、例えばClaude Desktopアプリから「カスタムコネクタ」として利用できます。

  1. Claudeの「Settings」→「Connectors」を開きます。
  2. 「Add custom connector」を選択し、先ほどコピーしたDifyのMCPサーバーURLを入力します。

これで、Claudeとのチャット中に「乱数を生成して」「社内規定を検索して」と指示すると、Difyのワークフローが裏側で実行され、その結果がClaudeに返されるようになります。

2. MCPサーバー機能

Dify 1.6.0では、作成したワークフローを直接MCPサーバーとして公開できるようになりました。これまでは外部のMCPサーバーを介してDifyと連携する必要がありましたが、DifyがネイティブでMCPプロトコルをサポートしたことで、シンプルな統合が可能になりました。

設定手順

  • Difyでワークフローアプリを作成
  • ワークフローを公開
  • 管理画面でMCPサーバーのURLを確認
画像
MCPサーバーのURL

MCPインターフェースの調査

MCPは、JSON-RPC 2.0ベースのプロトコルで、Server-Sent Events(SSE)を使用したHTTP通信をサポートしています。基本的な通信フローは以下の通りです:

1. 初期化リクエスト

{
 "jsonrpc": "2.0",
 "method": "initialize",
 "params": { 
           "protocolVersion": "2024-11-05", 
           "capabilities": {},
           "clientInfo": { "name": "test", "version": "1.0.0" }     
           }, 
 "id": 1 
}

2. サーバーからのレスポンス

event: 
  message data: { 
    "jsonrpc": "2.0", 
    "id": 1, 
    "result": { 
        "protocolVersion": "2024-11-05", 
        "capabilities": { "tools": {"listChanged": false} },            
        "serverInfo": { "name": "Dify", "version": "1.6.0" },   
        "instructions": "占いをします" 
               } 
  }

レスポンスがSSE形式(event: message、data: )で返ってくることが特徴的です。これにより、リアルタイムでの双方向通信が可能になります。

3. ツール一覧の取得

{
 "jsonrpc": "2.0",
 "method": "tools/list",
 "params": {},
 "id": 2 
}

4. ツールの実行

{
 "jsonrpc": "2.0",
 "method": "tools/call",
 "params": { 
             "name": "uranai_workflow", 
             "arguments": { "query": "今日の運勢を教えて" } 
            },
 "id": 3 
}

Pythonクライアントでの動作確認

MCPサーバーの動作を確認するため、Pythonクライアントを作成しました。主な機能は以下の通りです:

SSEレスポンスのパース処理

def _parse_sse_response(self, response_text: str) ->  
    Optional[Dict[str, Any]]: 
       lines = response_text.strip().split('\n') 
       for 
           line in lines: 
           line = line.strip() 
           if line.startswith('data: '): 
               try: 
                   json_data = line[6:] # 'data: ' を削除 
                   return json.loads(json_data) 
               except json.JSONDecodeError as e:                                                 
                   print(f"JSON解析エラー: {e}") 
                   continue 
       return None

実行結果

🎯 Dify MCP クライアント開始 
🔌 MCPサーバーに接続中... 
✅ 接続成功! 
    サーバー: Dify 
    バージョン: 1.6.0 
    説明: 占いをします 
🔧 利用可能なツールを取得中... 
✅ 1個のツールが見つかりました:
   1. uranai_workflow 
     説明: 占いを実行します 
🚀 'uranai_workflow' を実行してみます... 
✅ ツール実行完了! 
📋 実行結果: 
    { 
    "content": 
        [ 
           { 
             "type": "text", 
             "text": "{\"text\": \"あなたの今日の運勢は****\\n\"}"    
            }
        ], 
        "isError": false 
     }

3. 外部MCPサーバーをDifyで利用する

外部で公開されているMCPサーバー(ファイル操作、データベース検索、Google検索など)をDifyのエージェントやワークフローに取り込むことも可能です。

接続手順

Difyのトップ画面から「ツール」タブを開き、「MCP」→「MCPサーバー(HTTP)を追加」を選択します。ここで利用したいMCPサーバーのURLを登録します。

エージェントでの利用

AIエージェントを作成する際、「ツール」の追加画面に登録済みのMCPツールが表示されるようになります。

ポイント: MCPツールを利用するには、アプリタイプを「チャットボット」ではなく「エージェント」にする必要があります(自律的にツールを選択・実行させるため)。

ワークフローでの利用

ワークフロー内で特定の処理としてMCPツールを組み込むことも可能です。ノード追加メニューから「MCP」を選択し、実行したいツールを指定します。

MCPツールの出力はJSON形式になることが多いため、後続のノード(コードブロックやLLMなど)でそのJSONを解析して利用する構成が一般的です。

まとめ

DifyのMCP対応により、以下のような連携が非常に簡単になりました。

  • Difyで作ったナレッジ検索(RAG)を、Claudeや他のAIアプリから呼び出す
  • 外部の高度なツール(ファイル操作やDB接続)を、Difyのエージェントに組み込む

「プラグイン開発」というハードルを越えることなく、URL一本で機能拡張ができるMCPは、今後のAI活用において重要な標準規格となるでしょう。ぜひDifyでその利便性を体験してみてください。

【推奨】業務システム化に有効なアイテム

生成AIを学ぶ

システム化のパートナー

VPSサーバの選定

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA


目次