Difyのエージェントやワークフローで、もっと高度な外部連携を行いたいと思ったことはありませんか?
MCP(Model Context Protocol)ツールを活用すれば、既存のDifyプラグインの枠を超えて、世界中の開発者が公開している多様なMCPサーバーの機能を直接取り込むことができます。
この記事では、DifyでMCPツールを使用するための設定手順と、連携時に発生しやすいトラブルの解決策を、エンジニア視点で詳しく解説します。
MCPツール利用の前提条件
現在、Difyで利用可能なMCPサーバーには一つの重要な条件があります。
それは、HTTPトランスポート(SSE: Server-Sent Events)をサポートしていることです。
ローカルPC上の標準入出力(stdio)で動作するMCPサーバーは、そのままではクラウド上のDifyやDockerコンテナ内のDifyから接続できないため、HTTPサーバーとして公開する必要があります。


MCPサーバーの追加と設定手順
Difyの管理画面から、外部のMCPサーバーを登録する手順です。
1. MCPサーバー管理画面へアクセス
Difyワークスペースの「ツール」メニューを開き、「MCP」タブを選択します。
ここで「MCPサーバー(HTTP)の追加」ボタンをクリックします。

2. 接続情報の入力
以下の情報を入力して接続します。
- サーバーURL: MCPサーバーのエンドポイント(例:
https://api.example.com/mcp/sse) - 名前・アイコン: Dify内で表示される名称です。
- サーバー識別子(重要): システム内部で使われるIDです。後から変更すると連携が切れるため、慎重に決めてください(例:
salesforce-mcp)。

3. 認証とツール検出
接続ボタンを押すと、Difyは自動的に以下の処理を行います。
- 利用可能なツールリストの取得(Discovery)
- 必要に応じたOAuth認証フローの開始
- ツール定義(スキーマ)のダウンロードと登録

トラブルシューティング:MCP連携で困ったら
MCPツールの連携において、よく発生するエラーとその対処法をまとめました。
エラー1: 「未設定のサーバー」と表示される
原因: 認証に失敗しているか、ツール定義の取得に失敗しています。
解決策:
- サーバーURLが正しいか確認してください(特に末尾の
/sseなど)。 - 「再認証」ボタンをクリックして、認証フローをやり直してください。
エラー2: 追加したはずのツールが表示されない
原因: 外部サービス側で機能追加や変更があった可能性があります。
解決策: サーバーカードの「ツールの更新」をクリックして、最新のツール定義を再取得してください。
エラー3: ワークフロー実行時にツールエラーが出る
原因: サーバー識別子(ID)を変更したか、サーバーを一度削除して再登録した可能性があります。
解決策: アプリケーション側は「サーバーID」で紐付いています。削除してしまった場合は、全く同じIDで再登録することで復旧できる場合があります。
エラー4: 接続タイムアウト
原因: 外部MCPサーバーの応答が遅い、またはネットワークの問題。
解決策: Difyサーバーから外部MCPサーバーへの通信がファイアウォールでブロックされていないか確認してください。
運用のベストプラクティス
- IDは変更しない: サーバー識別子は一度決めたら変更しないでください。
- パラメータの固定化: ツール設定で「固定値」を活用し、AIに推論させる必要のないパラメータ(APIバージョン等)はあらかじめ埋めておくことで、動作の安定性が向上します。
- 環境の一致: 開発環境と本番環境で、同じMCPサーバー構成(ID含む)を維持することで、移行時のトラブルを防げます。
まとめ
DifyでMCPツールを活用することで、開発の幅は無限に広がります。
最初は接続設定で戸惑うこともあるかもしれませんが、一度確立してしまえば、強力な外部機能をノーコードで自在に操れるようになります。
ぜひ本記事のトラブルシューティングを参考に、MCPツールの導入に挑戦してみてください。


コメント