Model Context Protocol (MCP) Server for dify workflows について
Dify ワークフローを MCP ツールとして公開する、シンプルな MCP サーバーの実装です。Dify のベース URL とアプリのシークレットキーを設定すると、MCP 対応クライアントから対応するワークフローを呼び出せます。MCP クライアントから Dify ワークフローを利用したい方に向いています。
主な機能
- 01MCP ツールを通じた Dify ワークフローの呼び出し
- 02環境変数または config.yaml による設定
- 03複数の Dify アプリシークレットキーに対応
- 04uvx で Git リポジトリから直接実行可能
活用シーン
- 01MCP クライアントから既存の Dify ワークフローを呼び出す
- 02環境変数でクラウドホスト型の Dify を設定する
MCP 対応
本プロジェクトは MCP サーバーであり、各 Dify アプリのワークフローを MCP ツールとして互換クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
dify ワークフロー用 Model Context Protocol(MCP)サーバー
dify を利用するための、シンプルな MCP サーバー実装です。MCP のツールを呼び出すことで、Dify ワークフローを実行できます。
📰 ニュース
- [2025/4/15]
base_urlとapp_sksを環境変数で直接渡せるようになりました。クラウドホスト型プラットフォームでより便利に利用できます。
🔨インストール
サーバーは Smithery からインストールするか、手動でインストールできます。
Step1: config.yaml または環境変数を準備する
環境変数または config.yaml ファイルを使用してサーバーを設定できます。
方法 1: 環境変数を使用する(クラウドプラットフォームでの使用を推奨)
以下の環境変数を設定します。
export DIFY_BASE_URL="https://cloud.dify.ai/v1"
export DIFY_APP_SKS="app-sk1,app-sk2" # Comma-separated list of your Dify App SKs
DIFY_BASE_URL:Dify API のベース URL です。DIFY_APP_SKS:Dify App Secret Key(SK)のカンマ区切りリストです。各 SK は通常、MCP から利用できるようにする個別の Dify ワークフローに対応します。
方法 2: config.yaml を使用する
Dify のベース URL と App SK を保存する config.yaml ファイルを作成します。
config.yaml の例:
dify_base_url: "https://cloud.dify.ai/v1"
dify_app_sks:
- "app-sk1" # SK for workflow 1
- "app-sk2" # SK for workflow 2
# Add more SKs as needed
dify_base_url:Dify API のベース URL です。dify_app_sks:Dify App Secret Key(SK)のリストです。各 SK は通常、個別の Dify ワークフローに対応します。
次のコマンドを使用すると、このファイルをすばやく作成できます(必要に応じてパスと値を調整してください)。
# Create a directory if it doesn't exist
mkdir -p ~/.config/dify-mcp-server
# Create the config file
cat > ~/.config/dify-mcp-server/config.yaml <<EOF
dify_base_url: "https://cloud.dify.ai/v1"
dify_app_sks:
- "app-your-sk-1"
- "app-your-sk-2"
EOF
echo "Configuration file created at ~/.config/dify-mcp-server/config.yaml"
サーバーの実行時(Step 2 で説明)、この方法を選択した場合は、CONFIG_PATH 環境変数でこの config.yaml ファイルのパスを指定する必要があります。
Step2: クライアントへのインストール
❓ uv または uvx をまだインストールしていない場合は、次のコマンドですばやくインストールできます。
curl -Ls https://astral.sh/uv/install.sh | sh
✅ 方法 1: uvx を使用する(コードのクローンは不要。推奨)
{
"mcpServers": {
"dify-mcp-server": {
"command": "uvx",
"args": [
"--from","git+https://github.com/YanxingLiu/dify-mcp-server","dify_mcp_server"
],
"env": {
"DIFY_BASE_URL": "https://cloud.dify.ai/v1",
"DIFY_APP_SKS": "app-sk1,app-sk2",
}
}
}
}
または
{
"mcpServers": {
"dify-mcp-server": {
"command": "uvx",
"args": [
"--from","git+https://github.com/YanxingLiu/dify-mcp-server","dify_mcp_server"
],
"env": {
"CONFIG_PATH": "/Users/lyx/Downloads/config.yaml"
}
}
}
}
✅ 方法 2: uv を使用する(ローカルにクローンして uv で起動)
クライアントで dify MCP サーバーを手動で実行することもできます。クライアントの設定は、次の形式にします。
{
"mcpServers": {
"mcp-server-rag-web-browser": {
"command": "uv",
"args": [
"--directory", "${DIFY_MCP_SERVER_PATH}",
"run", "dify_mcp_server"
],
"env": {
"CONFIG_PATH": "$CONFIG_PATH"
}
}
}
}
または
{
"mcpServers": {
"mcp-server-rag-web-browser": {
"command": "uv",
"args": [
"--directory", "${DIFY_MCP_SERVER_PATH}",
"run", "dify_mcp_server"
],
"env": {
"CONFIG_PATH": "$CONFIG_PATH"
}
}
}
}
設定例:
{
"mcpServers": {
"dify-mcp-server": {
"command": "uv",
"args": [
"--directory", "/Users/lyx/Downloads/dify-mcp-server",
"run", "dify_mcp_server"
],
"env": {
"DIFY_BASE_URL": "https://cloud.dify.ai/v1",
"DIFY_APP_SKS": "app-sk1,app-sk2",
}
}
}
}
お楽しみください
これで、MCP に対応するあらゆるクライアントで dify ツールを使用できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。