Model Context Protocol (MCP) は、Anthropic によって開発された標準化するオープンプロトコルで、AIが外部のツールやデータソースと対話するための標準化されたインターフェースを提供し、そしてこのプロトコルを用いてソフトウェアツールやデータリソースにアクセスします。

本記事では、dify-docs-mintlify リポジトリ に基づいてローカル MCP サーバーをデプロイし、LLM とドキュメントの自然な対話を実現する方法を紹介します。

MCP プロトコルの詳細については、Model Context Protocol を参照してください。

前提条件

  • Node ≥ 16.0
  • Git
  • MCP クライアント(Claude Desktop、VS Code など)

インストール手順

1. リポジトリのクローン

Dify ドキュメントリポジトリをローカルにクローンします:

git clone https://github.com/langgenius/dify-docs-mintlify.git

このリポジトリには完全な Dify ドキュメントが含まれており、MCP サーバーのデータソースとして機能します。

2. MCP サーバーの初期化

ドキュメントディレクトリに入り、MCP サーバーをインストールして設定します:

cd dify-docs-mintlify
npx mint-mcp add dify-6c0370d8

このコマンドは以下の操作を完了します:

  • ローカル MCP サーバーインスタンスの作成
  • ドキュメントコンテンツの分析とインデックス化
  • 必要な依存関係の設定

インストールプロセスは約数分かかり、時間はネットワーク状況に依存します。

3. MCP サーバーの設定

MCP クライアントとサーバーの関係:

MCP サーバーは知識とツールを提供し、クエリリクエストの処理、データリソースの管理、特定機能の実行を行います。クライアントはユーザーインタラクションインターフェースで、通常は AI アプリケーションやチャットツールで、ユーザーの質問を受信し、適切な MCP サーバーにクエリを転送し、情報を統合してユーザーに返します。

インストール中に MCP クライアントを選択します。Claude Desktop を例として、ツールは対応する設定情報を生成します。

インストール完了後、Claude Desktop の設定で MCP サーバーを追加します。設定ページに移動し、MCP サーバー設定セクションでサーバーアドレスとポートを追加し、設定を保存してアプリケーションを再起動します。

Docsとの対話

設定完了後、Dify Docsと対話できます。この方法は自然言語クエリをサポートし、ページごとの検索や正確なキーワードマッチングは不要です。

例えば「カスタマーサービスチャットボットを作成したいのですが、Workflow と Chatflow のどちらを選ぶべきですか?」と質問すると、システムは 2 つのアプリケーションタイプの違いを説明し、カスタマーサービスシナリオに基づいて具体的な推奨事項を提供します。

「Dify のポート番号を変更する方法」などの技術的質問に対して、AI は具体的な操作手順を提供します:

MCP 方式では、自然言語で問題を記述できます。具体的な技術用語が分からない場合でも、期待する効果を記述するだけで関連情報を取得できます。

RAG 方法との比較

RAG(検索拡張生成)は事前にDocsをテキストチャンクに分割し、ベクトル埋め込みを使用してインデックスを構築します。ユーザーが質問すると、システムは質問とテキストチャンクの類似度を計算し、関連チャンクをコンテキストとして選択して回答を生成します。

RAG の利点:処理速度が速く、大規模な静的ドキュメントコレクションに適しています。

RAG の制限:

  • 静的ドキュメント分割により関連情報が分散する可能性がある
  • ベクトル類似度ベースの検索では、意味的に関連しているが語彙が異なるコンテンツを見逃す可能性がある
  • コンテキストウィンドウの制限により、特定のフラグメントのみに基づいて回答を生成する

MCP 方法は動的で柔軟なアプローチを採用します。AI は質問の要件に基づいてクエリ戦略を積極的に生成し、多ラウンドの対話クエリをサポートし、初回結果に基づいて後続の検索を調整します。

MCP の利点:

  • 完全なドキュメントコンテンツにアクセスでき、複雑な章間クエリをサポート
  • リアルタイムクエリがドキュメント更新を反映し、情報の時宜性を確保
  • 一貫性のある完全な回答を提供