LlamaIndex MCP デモ
このリポジトリでは、LlamaCloud を使用して MCP サーバーを作成する方法と、LlamaIndex を MCP クライアントとして使用する方法の両方を示します。
LlamaCloudをMCPサーバーとして
Claude Desktopのようなクライアントが利用できるローカルMCPサーバーを提供するには、 mcp-server.py
を使用します。これを使用することで、RAGを使用してClaudeに最新の個人情報を提供し、質問に答えるためのツールを提供できます。これらのツールは必要な数だけ提供できます。
LlamaCloudインデックスを設定する
- LlamaCloudアカウントを取得する
- 任意のデータソースで新しいインデックスを作成してください。今回のケースではGoogleドライブを使用し、LlamaIndexドキュメントのサブセットをソースとして提供しました。テスト目的であれば、ドキュメントを直接インデックスにアップロードすることもできます。
- LlamaCloud UIからAPIキーを取得する
MCPサーバーをセットアップする
- このリポジトリをクローンする
.env
ファイルを作成し、次の 2 つの環境変数を追加します。LLAMA_CLOUD_API_KEY
- 前の手順で取得したAPIキーOPENAI_API_KEY
- OpenAI APIキー。RAGクエリを実行するために使用されます。OpenAIを使用しない場合は、他のLLMを使用できます。
それではコードを見てみましょう。まずMCPサーバーをインスタンス化します。
次に、 @mcp.tool()
デコレータを使用してツールを定義します。
ここで使用するツールはllama_index_documentation
です。このツールはmcp-demo-2
というLlamaCloudインデックスをインスタンス化し、それをクエリエンジンとして使用してクエリに回答します。プロンプトには追加の指示も表示されます。LlamaCloudインデックスの設定方法については、次のセクションで説明します。
最後に、サーバーを実行します。
Claude Desktop との通信に使用されるstdio
トランスポートに注意してください。
Claudeデスクトップの設定
- Claude Desktopをインストールする
- メニューバーで
Claude
」→Settings
→Developer
」→Edit Config
を選択します。すると、お好みのテキストエディタで編集できる設定ファイルが表示されます。 - 設定は次のようになります (
$YOURPATH
リポジトリへのパスに置き換えてください)。
ファイルを構成した後は、必ずClaude Desktop を再起動してください。
これでクエリを実行する準備ができました。Claude Desktop のクエリボックスの下に、次のように、サーバー名がリストされたツールアイコンが表示されます。
MCPクライアントとしてのLlamaIndex
LlamaIndex には MCP クライアント統合機能も備わっており、任意の MCP サーバーをエージェントが使用できるツールセットに変換できます。 mcp-client.py
では、 BasicMCPClient
を使用してローカル MCP サーバーに接続しています。
デモを簡素化するため、上記でセットアップしたMCPサーバーと同じサーバーを使用しています。通常、LlamaCloudをLlamaIndexエージェントに接続する際にMCPは使用せず、 QueryEngineToolを使用してエージェントに直接渡します。
MCPサーバーをセットアップする
HTTPクライアントが使用できるローカルMCPサーバーを提供するには、 mcp-server.py
少し変更して、 run
ではなくrun_sse_async
メソッドを使用する必要があります。このメソッドはmcp-http-server.py
にあります。
MCPサーバーからツールを入手する
エージェントを作成して質問する
準備完了です。エージェントを使用して、LlamaCloud インデックスからの質問に回答できるようになりました。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Claude Desktop と統合されたローカル MCP サーバー。RAG 機能により、カスタム LlamaCloud インデックスから最新のプライベート情報を Claude に提供できるようになります。
Related MCP Servers
- AsecurityAlicenseAqualityA MCP server connecting to a managed index on LlamaCloud. This is a TypeScript-based MCP server that implements a connection to a managed index on LlamaCloud.Last updated -1474JavaScriptMIT License
- -securityAlicense-qualityAn MCP server that allows accessing and managing ledger files through Claude by providing account listing, balance checking, and transaction register viewing capabilities.Last updated -1PythonGPL 3.0
- -securityAlicense-qualityA local MCP server that enables AI applications like Claude Desktop to securely access and work with Obsidian vaults, providing capabilities for reading notes, executing templates, and performing semantic searches.Last updated -60TypeScriptMIT License
- -securityFlicense-qualityAn MCP server for Claude Desktop that allows users to query data from selected Google Cloud datasets by configuring project ID and datasets in the Claude Desktop configuration.Last updated -Python