Difyバージョン1.6.0で追加された目玉機能、それが「ネイティブMCPサーバー」です。
これまでDifyは「外部のツールを使う側(クライアント)」でしたが、このアップデートにより「Dify自体がツールとして使われる側(サーバー)」になることが可能になりました。
これにより、あなたが作成した高度なDifyワークフローを、Claude DesktopやCursorといった外部のAIエージェントから直接呼び出して利用できるようになります。
この記事では、Linuxサーバー上でDockerを使用してDifyを構築し、ネイティブMCPサーバーとして公開・運用するための技術的な手順をステップバイステップで解説します。
1. LinuxサーバーへのDifyデプロイ
まずはベースとなるDify環境を構築します。本番運用を見据え、Ubuntu LTSなどの安定したLinuxディストリビューションとDocker Composeを使用します。
環境準備とインストール
必要なパッケージ(Docker, Docker Compose, Git)がインストールされている状態で、公式リポジトリからDifyを展開します。
# リポジトリのクローン git clone https://github.com/langgenius/dify.git
ディレクトリ移動
cd dify/docker
設定ファイルの作成
cp .env.example .env
Difyの起動
docker compose up -d
重要な環境変数の設定 (.env)
MCPサーバーとして外部から正しくアクセスさせるためには、.env ファイル内のURL設定が非常に重要です。
- APP_WEB_URL / SERVICE_API_URL:
http://localhostのままにせず、サーバーの実IPアドレスまたは公開ドメイン(例:https://dify.your-domain.com)を設定してください。これがMCPエンドポイントのベースURLになります。
2. ワークフローをMCPサーバーとして公開する
Difyの構築が完了したら、作成したワークフローをMCPサーバーとして公開設定します。
ここでの設定内容が、AIエージェントが「このツールは何ができるのか」を判断する材料になります。
ステップ1: ワークフローの作成
「スタジオ」から「空白から作成」→「ワークフロー」を選択します。
重要なのは「開始ノード」の入力変数です。ここで設定した変数が、MCPツールの引数(Arguments)となります。
ステップ2: 公開設定とメタデータ記述
画面右上の「APIとして公開」をクリックし、以下の手順で設定します。
- 設定トグルを「MCPサーバーとして公開」に切り替えます。
- サービス概要 (Service description): このツールが何をするものか、AI向けに具体的に記述します。 例:「指定されたURLのウェブ記事を読み込み、要約を作成するツール」
- パラメーター説明 (Parameter description): 入力変数が何を意味するか記述します。 例:「url: 要約したい記事のURL」
設定を保存すると、MCPサーバーURLが生成されます。これをコピーしておきましょう。
3. クライアントからの接続(動作確認)
公開したMCPサーバーを、Claude Desktopなどのクライアントに登録して利用します。
Claude Desktopの設定ファイル(claude_desktop_config.json)に以下のように記述します。
Difyの標準プロトコルであるSSE (Server-Sent Events) を指定するのがポイントです。
{ "mcpServers": { "my-dify-tool": { "transport": "sse", "url": "https://dify.your-domain.com/mcp/apps/xxxx-xxxx/sse" } } }
Claude Desktopを再起動し、チャット欄で「(設定したツールの説明)」に関連する指示を出してみてください。
Difyのワークフローが裏側で実行され、その結果がClaudeの回答として返ってくれば構築成功です。
4. 本番運用に向けたアーキテクチャの推奨事項
テスト環境から本番環境へ移行する際は、データの永続性と可用性を高めるために以下の構成変更を推奨します。
データベースの外部化
Dockerコンテナ内のPostgreSQLはデータ消失のリスクがあります。AWS RDSなどのマネージドデータベースを利用し、.env の DB_HOST 等を書き換えて接続しましょう。
ストレージのS3化
アップロードファイルの保存先をローカルからS3互換ストレージ(AWS S3, MinIOなど)に変更します。
.env で STORAGE_TYPE=s3 と設定し、認証情報を記述することで、サーバー障害時のデータ保全性が向上します。
まとめ
DifyをMCPサーバーとして構築することで、Difyは単なる「アプリ作成ツール」から、AIエコシステムの中心的なハブへと進化します。
自社の独自データや複雑な処理ロジックをMCP経由で公開し、様々なAIエージェントから活用できる環境をぜひ構築してみてください。


コメント