DifyのMCP連携手順まとめ|環境構築から動作確認まで
DifyとMCP(Model Context Protocol)を連携させたいものの、具体的な環境構築や認証設定、ワークフロー変数の定義方法が分からず、実装が進まないという課題を抱えていないでしょうか。
本記事では、Difyを通じてMCPサーバ(Microsoft Learn Docsなど)を利用するための具体的な動作環境を、手元でエラーなく再現する手順を解説します。
Difyセルフホスト版の準備から、MCPツールの認証、エージェント戦略の設定まで、ステップバイステップで進めていきます。
【法人向け】現場で使える実践型AI研修!
株式会社KAGEMUSHAのAI研修は、現場業務に直結する実践型カリキュラムで、AI活用を「知識」で終わらせず「使えるスキル」として定着させます。
DX担当者・現場メンバーそれぞれのレベルに合わせ、生成AI・業務自動化・AIエージェント活用まで幅広く対応。
対面からオンライン・eラーニングと幅広い研修形式に対応しており、内製化や業務改善につながる設計が強みです。
研修内容・導入事例・カリキュラム詳細は、こちらのAI研修資料でご確認ください。

事前準備:Dify環境構築とLLMの連携設定
まずはDifyとMCPを連携させるための基盤となる環境を整えます。
ここでは、Docker Composeを用いたセルフホスト版Difyの構築と、推論に使用するAzure OpenAIの連携設定を行います。
Difyセルフホスト版のインストール(Docker Compose)
Difyをローカル環境またはサーバー上で動作させるため、公式推奨の手順に従ってインストールします。
- リポジトリのクローン
ターミナル(またはコマンドプロンプト)を開き、以下のコマンドを実行してDifyのソースコードを取得します。git clone https://github.com/langgenius/dify.git - Dockerディレクトリへ移動
クローンしたディレクトリ内のdockerフォルダへ移動します。cd dify/docker - 環境変数の設定
サンプルファイルをコピーして.envファイルを作成します。cp .env.example .env - コンテナの起動
Docker Composeコマンドを実行し、Difyを起動します。docker compose up -d - 起動確認
ブラウザでhttp://localhost/install(またはサーバーのIPアドレス)にアクセスし、管理者アカウントの作成画面が表示されればインストールは成功です。アカウントを作成し、ログインしてください。
Docker環境では.envファイルの設定を忘れずに行いましょう。
Azure OpenAI (gpt-4o) のAPI連携手順
MCPツールを効果的に制御するため、高性能なLLM(ここではAzure OpenAIのgpt-4oを想定)をDifyに連携させます。
- 設定画面へのアクセス
Difyの画面右上にあるアイコンをクリックし、「設定」>「モデルプロバイダー」を選択します。 - Azure OpenAIの追加
プロバイダー一覧から「Azure OpenAI Service」を探し、「セットアップ」をクリックします。 - API情報の入力
以下の情報を入力します。
・API Key: Azureポータルから取得したキー
・API Endpoint: AzureのリソースエンドポイントURL
・API Version: 使用するAPIバージョン(例:2024-02-15-previewなど) - モデルの追加
画面下部の「モデルリスト」にある「モデルを追加」をクリックし、以下の項目を設定して「保存」します。
・Model Name:gpt-4o
・Model Type:Text GenerationまたはChat
・Context Window: モデルの仕様に合わせて入力(例:128000)
手順1:MCPツールのインストールと認証情報の登録
DifyにMCPサーバを認識させるための設定を行います。ここでは例として「Microsoft Learn Docs」のMCPツールを追加します。
MCPツール(Microsoft Learn Docs)の追加操作
まず、Difyのトップメニューから「ツール」タブをクリックしてツール画面へ移動します。
ツール一覧または検索バーを使用し、「MCP SSE」または「StreamableHTTP」に関連する項目を探してください。Microsoft Learn Docsがプリセットされている場合は、そのカードを選択します。
該当ツールの「インストール」または「認証」ボタンをクリックし、設定ダイアログを開きます。
認証情報(Server Identifier)の設定ルールと入力例
MCPサーバとの接続には、JSON形式での認証情報と、サーバーを識別するためのID設定が必要です。
設定ダイアログ内の「Server Identifier」または「server_name」欄には、任意の名前を入力します。半角英数字とハイフンのみを使用し、一意の名前にしてください(例: ms-learn-mcp)。
「Auth Config」や「Configuration」といったJSON入力欄には、MCPサーバへの接続情報を記述します。Microsoft Learn Docsの場合、以下のような形式で記述します。
{
"server_url": "https://mcp-server-url.example.com/sse",
"api_key": "your-mcp-server-api-key"
}
実際のキーやURLは、利用するMCPサーバの仕様に合わせて書き換えてください。入力内容を確認し、「保存」をクリックして認証を完了させます。
Server Identifierは一意の名前を設定し、重複を避けてください。
手順2:ワークフロー作成とエージェント戦略の導入
MCPを活用するためのワークフローを作成し、エージェントが自律的にツールを選択できる環境を整えます。
マーケットプレイスからの「Dify Agent Strategies」インストール
Difyのメニューから「探索」または「プラグイン」セクションを開き、検索バーに「Dify Agent Strategies」または「Agent Strategy」と入力します。
該当するプラグインを選択し、「インストール」をクリックしてワークフロー内で利用可能な状態にします。
エージェント戦略の設定(歯車アイコンと接続先URL)
インストールした戦略をワークフローに適用し、正しく動作するように設定します。
- ワークフローの作成
「スタジオ」から「アプリを作成」を選択し、「チャットフロー」または「ワークフロー」形式で新規作成します。 - エージェント戦略ブロックの配置
ツールバーから「Agent Strategy」ブロックを選択し、キャンバスに配置します。 - プロパティ設定
配置したブロックの右上にある「歯車アイコン(プロパティ)」をクリックします。 - 接続先URLの入力
設定画面内の「Dify API URL」または「Connection URL」欄に、Dify本体への接続URLを入力します。
Docker環境の場合、コンテナ間通信となるため、http://host.docker.internal/v1 や http://api:5001/v1 などを指定します。
接続先URLにはlocalhostではなくDocker内部アドレスを指定します。
手順3:ワークフロー変数の定義とエージェント詳細設定
ワークフロー内でユーザーの入力を受け取り、エージェントに渡してMCPツールを実行させるための詳細設定を行います。
開始・終了ブロックでの入出力変数(Input/Output)定義
「開始(Start)」ブロックをクリックし、「入力フィールド」の「+ 追加」を押して変数を設定します。変数名は query または input とし、タイプはテキスト、必須にチェックを入れます。
次に「終了(End)」ブロックをクリックし、「出力変数」を設定します。値の設定メニューから、エージェントブロックの出力結果(例: {{agent.output}})を選択してマッピングしてください。
エージェントブロックの構成(モデル・ツール・プロンプト)
キャンバス上の「LLM」または「Agent」ブロックを選択し、以下の設定を行います。
- モデルの選択:事前準備で設定した「gpt-4o(Azure OpenAI)」を選択します。
- MCPツールの紐づけ:「ツール」セクションにある「+ 追加」をクリックし、手順1で登録した「Microsoft Learn Docs」を選択して紐づけます。
- プロンプトの設定:「SYSTEM」または「プロンプト」欄に、ツール利用を促す指示を記述します。
プロンプトには、「ユーザーの質問に対して、必ずMicrosoft Learn Docsツールを使用して情報を検索し、その結果に基づいて回答してください」といった具体的な指示を含めます。
プロンプトにはツールを必ず使用するよう明記しましょう。
動作確認:実行ログによるMCP利用判定
設定が完了したら、実際にワークフローを実行し、MCPツールが正しく呼び出されているかを確認します。
ワークフローの実行とテストチャット
画面右上の「プレビュー」または「実行」ボタンをクリックしてプレビューを起動します。
チャット入力欄に、「Azure OpenAIの最新のAPIバージョンについて教えてください」など、MCPツールが必要となる質問を入力して送信します。
Action LogsでのMCP呼び出し確認方法
回答の内容だけでなく、システム内部でMCPが機能したかをログで確認します。プレビュー画面の「ログ」タブ、または左メニューの「ログと分析」を開いてください。
該当する会話ログをクリックし、処理ステップの詳細を展開します。ログの中に CALL MCP_SSE_LIST_TOOLS や TOOL_USE: ms-learn-mcp といったエントリがあるかを確認します。
ログのTOOL_USEステータスがSuccessになっているか確認します。
うまくいかない場合のトラブルシューティング
手順通りに進めても動作しない場合に確認すべきポイントを解説します。
エージェントがMCPツールを使わず回答してしまう場合
エージェントが自身の知識だけで回答し、MCPツールを無視するケースです。
この場合、エージェントブロックのプロンプトに「自身の知識を使わず、必ずツールを使用すること」と強く明記してください。また、よりツール呼び出し性能が高いモデル(gpt-4oなど)への変更も有効です。
認証エラーや接続失敗が表示される場合
ログに「Connection refused」や「Auth failed」が表示されるケースです。
DifyがDockerコンテナ内で動作している場合、localhost はコンテナ自身を指します。ホストマシンのMCPサーバに接続する場合は host.docker.internal を使用してください。
また、認証情報のJSONに構文エラーがないか、Server Identifierが重複していないかも合わせて確認しましょう。
まとめ
DifyとMCPを連携させることで、外部データソースを活用した高度なAIエージェントを構築できます。
- 環境構築: Docker ComposeでDifyを起動し、Azure OpenAI等の強力なモデルを連携させる。
- MCP設定: ツール追加時に一意のServer Identifierを命名し、正しいJSON形式で認証情報を登録する。
- ワークフロー: エージェント戦略プラグインを導入し、プロパティで正しい接続URLを設定する。
- 動作確認: ログを確認し、
CALL MCP...の記述があるかで成功を判断する。
まずはこの手順通りに環境を構築し、Microsoft Learn Docsなどの標準的なMCPツールで動作確認を行ってください。正常な動作が確認できれば、他のMCPサーバへの応用もスムーズに行えます。
【法人向け】現場で使える実践型AI研修!
株式会社KAGEMUSHAのAI研修は、現場業務に直結する実践型カリキュラムで、AI活用を「知識」で終わらせず「使えるスキル」として定着させます。
DX担当者・現場メンバーそれぞれのレベルに合わせ、生成AI・業務自動化・AIエージェント活用まで幅広く対応。
対面からオンライン・eラーニングと幅広い研修形式に対応しており、内製化や業務改善につながる設計が強みです。
研修内容・導入事例・カリキュラム詳細は、こちらのAI研修資料でご確認ください。

