Dify MCP Server について
Dify MCP Serverは、複数のDifyアプリをMCPクライアントに接続するTypeScript製のサーバーです。Dify APIからアプリの仕様を取得し、それに基づいてツールインターフェースを動的に生成します。
主な機能
- 01APIキーで複数のDifyアプリに接続
- 02アプリのメタデータとパラメーターを取得
- 03アプリ仕様からツールを生成
- 04テキスト、段落、選択肢の入力に対応
- 05ブロッキングとストリーミング応答に対応
活用シーン
- 01MCPクライアントからDifyアプリを呼び出す
- 02複数アプリのツール入口を一元化
- 03アプリのパラメーターからインターフェースを生成
MCP 対応
MCPサーバーはDifyアプリの設定を取得し、各アプリを個別のツールとしてMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Dify MCP Server

MCP クライアントと Dify アプリケーションを接続する、TypeScript ベースの MCP(Model Context Protocol)サーバーです。このサーバーは、Dify アプリケーションを MCP クライアント内で直接利用できるツールとして動的に公開します。
概要
このサーバーは Model Context Protocol を実装し、MCP クライアントと Dify アプリケーションをつなぎます。Dify API からアプリケーションの仕様を動的に取得し、MCP ツールとして公開します。MCP クライアント内の統一されたインターフェースを通じて、複数の Dify アプリケーションを利用できます。
機能
Dify との動的な連携
- API キーを使用して複数の Dify アプリケーションに接続します
- アプリケーションのメタデータとパラメーターを自動的に取得します
- Dify アプリケーションの仕様に基づいてツールインターフェースを動的に生成します
- テキスト、段落、セレクトドロップダウンなど、さまざまな入力形式に対応しています
リクエストの処理
- リクエストの再試行を備えた堅牢なエラー処理
- ブロッキングモードとストリーミングモードの両方に対応
- 大きな数値を扱うための JSON BigInt 処理
設定
- 環境変数を使用して API キーを設定します
- ベース URL とタイムアウトを設定できます
- 環境変数が利用できない場合は、デフォルト値を使用します
インストール
前提条件
- Node.js(v16 以上)
- npm または yarn
セットアップ
- リポジトリをクローンします
git clone https://github.com/zhuzhoulin/dify-mcp-server.git
cd dify-mcp-server
- 依存関係をインストールします
npm install
- プロジェクトをビルドします
npm run build
Windsurf IDE との連携
Windsurf IDE で使用するには、MCP 設定にサーバーの設定を追加します。
{
"mcpServers": {
"dify-mcp-server": {
"command": "node",
"args": [
"/path/to/dify-mcp-server/build/index.js"
],
"env": {
"AGENT_API_KEYS": "key1,key2,key3",
"BASE_URL": "https://api.dify.ai",
"TIMEOUT": "60000"
}
}
}
}
環境変数
AGENT_API_KEYS:Dify API キーをカンマ区切りで指定したリストBASE_URL:Dify API のベース URL(デフォルト:https://api.dify.ai)TIMEOUT:リクエストのタイムアウト(ミリ秒単位。デフォルト:60000)
環境変数の取得方法
API キー(AGENT_API_KEYS):複数のキーを,で区切ります


使用方法
設定すると、Dify MCP Server は次の処理を行います。
- 指定された API キーを使用して、指定された Dify アプリケーションに接続します
- アプリケーションのメタデータとパラメーターの仕様を取得します
- Dify アプリケーションの設定に基づいて MCP ツールのインターフェースを生成します
- これらのツールを Windsurf IDE 内で利用できるようにします
各 Dify アプリケーションは、dify_app_info_{application_name} という名前形式の個別のツールとして公開されます。
開発
利用可能なスクリプト
npm run build:プロジェクトをビルドしますnpm run prepare:配布用にプロジェクトを準備しますnpm run watch:変更を監視し、再ビルドしますnpm run inspector:デバッグ用に MCP inspector を実行します
プロジェクト構成
src/index.ts:サーバーのメイン実装src/request.ts:Dify API 通信用の HTTP クライアントsrc/type.ts:Dify API 用の TypeScript インターフェース
トラブルシューティング
問題が発生した場合は、次の点を確認してください。
- API キーが正しく、必要な権限があることを確認します
- 環境から BASE_URL にアクセスできることを確認します
- 詳細なエラーメッセージを確認するため、サーバーログを確認します
- Dify アプリケーションが適切に設定され、アクセス可能であることを確認します
ライセンス
このプロジェクトは、LICENSE ファイルに記載された条件に基づいてライセンスされています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。