最近、AIエージェントの標準規格として注目を集めている「MCP (Model Context Protocol)」。
これを利用して、Difyの強力なナレッジベースやチャット機能を、Cline(旧Claude Dev)などのローカルAIエージェントから直接呼び出したいというニーズが高まっています。
しかし、実際に「Dify Connect MCP」などを導入しようとすると、「接続できない」「コマンドが見つからない」「認証エラーが出る」といったトラブルに直面しがちです。
この記事では、DifyとMCPを連携させるための具体的な構築手順に加え、ハマりやすいポイントとエラーの解決策に重点を置いて解説します。
Dify Connect MCP とは?
Dify Connect MCPは、DifyのAPIをMCPサーバーとしてラップ(包み込む)し、外部のMCPクライアント(ClineやClaude Desktopなど)からDifyを操作できるようにするツールです。
主に以下の2つの機能を提供します。
- dify-chat: Difyのチャットボットに質問を投げ、回答を得る。
- knowledge-base-query: Dify内のナレッジベースを検索して情報を引き出す。
導入手順と注意点
まずは基本のセットアップを行いますが、トラブルを避けるための注意点を併記します。
1. 前提環境の確認(トラブルの元!)
多くのエラーはNode.jsのバージョン不整合から始まります。
- Node.js: v16以上が必須です。
node -vで確認してください。 - npm: 最新版にしておくことを推奨します。
2. インストールとビルド
# リポジトリのクローン(またはダウンロード) git clone [リポジトリURL] cd [リポジトリディレクトリ]
依存関係のインストール
npm install
ビルド実行
./build.sh
⚠️ トラブルポイント:権限エラー
./build.sh: Permission denied と出る場合は、実行権限が足りていません。
chmod +x build.sh start-mcp.sh run-mcp.sh を実行して権限を付与してください。
3. 環境変数の設定(最重要)
.env ファイルの設定ミスが、接続不良の最大の原因です。
cp .env.example .env vi .env
以下の項目を慎重に設定します。
# Difyがクラウド版の場合 DIFY_BASE_URL=https://api.dify.ai/v1
Difyがローカル版(Docker)の場合
注意: MCPクライアントから見たアドレスを指定する必要があります
DIFY_BASE_URL=http://localhost/v1
またはポート指定がある場合: http://localhost:8080/v1
DIFY_SECRET_KEY=app-xxxxxxxxxxxxxxxxxxxx # ⚠️「APIキー」です。アプリIDではありません。
MCPクライアント設定とトラブルシューティング
ClineやClaude Desktopの設定ファイル(JSON)に記述する際の問題解決です。
設定ファイルの記述例
{ "mcpServers": { "dify-connect-mcp": { "command": "/bin/bash", "args": ["/Users/username/projects/dify-connect-mcp/run-mcp.sh"], "disabled": false, "autoApprove": [] } } }
よくあるエラーと解決策
エラー1: “command not found” や 起動しない
原因: 相対パスで指定している、またはパスが間違っている。
解決策: args のパスは必ず絶対パス(フルパス)で記述してください。~/projects/... ではなく /Users/username/... のように記述します。
エラー2: API Connection Error / 404 Not Found
原因: .env の DIFY_BASE_URL が間違っている。
解決策:
- 末尾に
/v1が付いているか確認してください。 - Difyのアプリ設定画面から「APIアクセス」を開き、正しいAPIベースURLを確認してください。
エラー3: 401 Unauthorized
原因: APIキーの間違い。
解決策: Difyの「APIキー」は、アプリごとに発行されます。ユーザーのアクセストークンやOpenAIのキーと混同していないか確認し、対象アプリの「APIキー」を再発行して .env に貼り付けてください。
エラー4: 動作が遅い、または反応がない
原因: ビルドが行われていない。
解決策: npm install の後に必ず ./build.sh または npm run build を実行し、TypeScriptがJavaScriptにコンパイルされているか確認してください。
動作確認コマンド
設定が完了したら、ClineなどのAIチャット上で以下のように指示を出してみましょう。
「Difyを使って、今日の東京の天気を調べて」
「Knowledge Baseから、社内規定の交通費精算について検索して」
ツール使用の承認(Approve)が求められ、Difyからの応答が返ってくれば連携成功です。
まとめ
DifyとMCPの連携は非常に強力ですが、設定ファイル(JSON)のパス指定や環境変数(.env)の記述ミスといった些細なことで躓きがちです。
もし動かない場合は、一度 ./start-mcp.sh をターミナルで直接実行し、単体でエラーが出ないか確認する「切り分け」を行うのが解決への近道です。ぜひDifyのポテンシャルをローカル環境でも引き出してみてください。


コメント