Dify MCP サーバー
TypeScriptベースのMCP(Model Context Protocol)サーバーは、MCPクライアントとDifyアプリケーションを接続します。このサーバーは、DifyアプリケーションをMCPクライアント内で直接使用できるツールとして動的に公開します。
概要
このサーバーは、MCPクライアントとDifyアプリケーション間の橋渡しとして、モデルコンテキストプロトコルを実装しています。Dify APIからアプリケーション仕様を動的に取得し、MCPツールとして公開します。このサーバーにより、ユーザーはMCPクライアント内の統一されたインターフェースを通じて、複数のDifyアプリケーションと連携できます。
特徴
ダイナミックDify統合
- APIキーを使用して複数のDifyアプリケーションに接続します
- アプリケーションのメタデータとパラメータを自動的に取得します
- Difyアプリケーション仕様に基づいてツールインターフェースを動的に生成します
- テキスト、段落、選択ドロップダウンなど、さまざまな入力タイプをサポートします
リクエスト処理
- リクエストの再試行による堅牢なエラー処理
- ブロッキングとストリーミングの両方の応答モードをサポート
- 大きな数値に対する JSON BigInt の処理
構成
- 環境変数を通じて設定されたAPIキー
- 構成可能なベース URL とタイムアウト設定
- 環境変数が利用できない場合はデフォルト値にフォールバックする
インストール
前提条件
- Node.js (v16 以上)
- npmまたはyarn
設定
- リポジトリをクローンする
Copy
- 依存関係をインストールする
Copy
- プロジェクトを構築する
Copy
Windsurf IDEとの統合
Windsurf IDE で使用するには、MCP 設定にサーバー構成を追加します。
Copy
環境変数
AGENT_API_KEYS
: Dify APIキーのカンマ区切りリストBASE_URL
: Dify API のベース URL (デフォルト: https://api.dify.ai )TIMEOUT
: リクエストのタイムアウト(ミリ秒)(デフォルト: 60000)
環境変数を取得する方法
API秘密钥(AGENT_API_KEYS): 多个以,分割
使用法
設定が完了すると、Dify MCP サーバーは次の動作を実行します。
- 提供された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 インスペクタを実行する
プロジェクト構造
src/index.ts
: メインサーバーの実装src/request.ts
: Dify API通信用のHTTPクライアントsrc/type.ts
: Dify API の TypeScript インターフェース
トラブルシューティング
問題が発生した場合:
- APIキーが正しく、必要な権限があることを確認してください
- BASE_URLがあなたの環境からアクセスできることを確認してください
- 詳細なエラーメッセージについてはサーバーログを確認してください
- Difyアプリケーションが適切に構成され、アクセス可能であることを確認する
ライセンス
このプロジェクトは、LICENSE ファイルに指定された条件に基づいてライセンスされます。
This server cannot be installed
MCP クライアントを Dify アプリケーションに接続し、Dify アプリケーションを MCP クライアント内で直接使用できるツールとして動的に公開する TypeScript ベースのサーバーです。