Dify アプリを MCP サーバーとして利用する方法

> 著者：Leilei Jiang、Difyオペレーションチーム

前回の記事では、Difyをクライアントとして活用し、[MCPプラグイン経由でZapierの7,000以上の統合機能などを利用する方法](https://qiita.com/DifyJapan/items/7b83d754815a71e5c04c)をご紹介しました。Difyのモジュラー設計と柔軟なプラグインシステムにより、Difyはクライアントとしてだけでなく、MCPサーバーとしても機能します。これにより、開発したAIアプリケーションを互換性のある他のシステムと共有し、幅広い用途で活用することが可能になります。

## MCP Server プラグイン：Dify と MCPクライアントを接続する
Dify マーケットプレイスで提供されている [mcp-server](https://marketplace.dify.ai/plugins/hjlarry/mcp-server) は、[拡張（Extension）](https://docs.dify.ai/ja-jp/plugins/quick-start/develop-plugins/extension-plugin)タイプのプラグインです。このプラグインをインストールすると、どのDifyアプリケーションもMCP標準に準拠したサーバーエンドポイントとして機能させることができ、外部のMCPクライアントから直接アクセス可能になります。主な機能は以下の通りです：

* **MCPツールとして公開**： Dify アプリを単一の MCP ツールとして抽象化し、Cursor、Claude Desktop、Cline、Windsurf、あるいは他の Dify インスタンスなどの外部 MCP クライアントが呼び出せるようにします
* **[エンドポイント](https://dify.ai/blog/extension-plugin-endpoint-bringing-serverless-flexibility-to-dify)生成**： アプリのエンドポイントを作成すると、MCP クライアントが接続に使用できる一意の URL が発行されます
* **MCP Service起動**： プラグインは Dify のプラグイン環境内で自動的に HTTP サービスを開始し、HTTP および SSE プロトコルを介して MCP クライアントからのリクエスト（プロトコルハンドシェイク、能力発見、ツール実行を含む）を処理します

## Dify アプリを MCP Server としてセットアップするには？

### 1. プラグインのインストール

Dify Marketplace にアクセスし、mcp-server プラグインをダウンロードしてインストールします。

![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F3924419%2F027d131a-7875-4ada-b238-37766bd7cf78.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&s=ea3840035fb705ef5d24303f5278734f)

### 2. 公開された Dify アプリを選択

今回は例として「Deep Research*」アプリを使用します。このアプリは、ユーザーの質問を受け取り、Tavily プラグインを利用して検索したいこと入力するだけで、検索を繰り返し実行して、レポートを作成します。
> *このアプリのテンプレートは Dify の探索ページにあります。

![schema.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3924419/38bb0867-f1af-40de-96df-c0c694f1b702.png)

### 3. MCP Server エンドポイントの設定

mcp-server プラグインの設定画面で、以下の内容を入力します：

* **Endpoint Name（エンドポイント名）**： エンドポイントの名称
* **App（アプリ）**： MCP Server として公開したい Dify アプリを選択します
* **App Type（アプリのタイプ）**： アプリのタイプ（Chat または Workflow）を選択します
* **App Input Schema（アプリの入力スキーマ）**： アプリの入力パラメータを JSON 形式で定義します（外部システムがこのアプリとの対話方法を理解するための構造定義）

![Frame 2268 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3924419/b3a9f869-9fdf-4fda-a70b-349a96c92a46.png)

以下は deep_research アプリ用の JSON スキーマ定義の例です：

```JSON
{
  "name": "deep_research",
  "description": "ユーザーの質問に基づいて詳細な調査を実行します",
  "inputSchema": {
    "title": "deep_researchArguments",
    "type": "object",
    "properties": {
      "query": {
        "title": "ユーザーの質問",
        "description": "ユーザーが主に調査したい質問やトピック",
        "type": "string"
      },
      "depth": {
        "title": "検索深度",
        "description": "オプション：調査の望ましい深さを指定します",
        "type": "number"
      }
    },
    "required": ["query"]
  }
}
```

#### スキーマの詳細

- **プロパティ (properties)**: アプリが受け取る全てのパラメータとそのデータ型（例：文字列、数値など）をリスト形式で定義します
- **説明 (description)**: アプリの主要機能をMCPクライアントに説明し、クライアントがアプリを発見して利用することを可能にします
- **必須 (required)**: 必須のパラメータを定義します。チャット型アプリ（エージェント/チャットフロー）の場合、通常`query`パラメータが必須となります

### 4. 自動生成された Endpoint URL の取得

設定を保存後、プラグインがエンドポイント URL を自動生成します。

![Frame 2269.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3924419/deffeb0d-b80e-4c68-949d-2bd24e3d0032.png)

### 5. クライアント側の設定例（Cursor IDE）

生成したエンドポイント URL を MCP 対応クライアントに追加します。Cursor IDE の場合、設定ファイルに以下のエントリを追加します（URL は実際の値に置き換えてください）：
```JSON

{
  "mcpServers": {
    "dify_deep_research": {
      "url": "https://*******.ai-plugin.io/sse"
    }
  }
}
```
![3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3924419/68b3ede2-31a7-499f-a9a4-5ad5274ee378.jpeg)

設定完了後、すぐに使用可能になります。下図は Cursor が Deep Research ツールを使用し、Dify プラグインタイプに関する多段階調査を実行している様子です。これにより、開発効率とコード品質の向上が期待できます。

![4.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3924419/a954d7a9-4df9-4f53-9263-418fdb472671.jpeg)

## 活用事例
開発ツール統合以外に、Dify MCP Server は業務プロセスへの AI 機能統合に適しています：

* 顧客リクエストの自動分類
* 報告書の要約生成
* ドキュメントからの重要情報抽出

従来の REST API との比較優位性：

* 動的ツール検出機能
* ハードコーディング不要な柔軟な連携
* AIエージェントとの親和性

**注意点**： セキュリティ確保のため、MCP Server プラグインはプライベートネットワーク環境での運用を推奨します。

## まとめ

DifyチームはネイティブMCPサポートの開発を推進中です。今後のバージョンアップでは：
* 外部MCPサーバーへのワンクリック接続
* アプリのMCPサーバー化機能標準装備
* 拡張された相互運用性

これにより、AIアプリの機能統合がさらに簡素化されます。

## 参考
Dify: [公式サイト](https://dify.ai/jp) | [Github](https://github.com/langgenius/dify) | [Docs](https://docs.dify.ai/) | [X](https://x.com/DifyJapan) | [Discord](https://discord.gg/bHc2rYXf) | [Linkedin](https://www.linkedin.com/company/langgenius) | [Youtube](https://www.youtube.com/@dify_ai)