LlamaIndex MCP 演示
该 repo 演示了如何使用 LlamaCloud 创建 MCP 服务器以及如何使用 LlamaIndex 作为 MCP 客户端。
LlamaCloud 作为 MCP 服务器
要提供可供 Claude Desktop 等客户端使用的本地 MCP 服务器,您可以使用mcp-server.py
。您可以使用它来提供一个工具,该工具将使用 RAG 为 Claude 提供最新的隐私信息,以便 Claude 回答问题。您可以根据需要提供任意数量的此类工具。
设置您的 LlamaCloud 索引
- 获取LlamaCloud帐户
- 使用您想要的任何数据源创建一个新的索引。在我们的例子中,我们使用了Google Drive ,并提供了 LlamaIndex 文档的子集作为数据源。如果您只是想测试一下,也可以直接将文档上传到索引。
- 从LlamaCloud UI获取 API 密钥
设置您的 MCP 服务器
- 克隆此存储库
- 创建一个
.env
文件并添加两个环境变量:LLAMA_CLOUD_API_KEY
- 您在上一步中获得的 API 密钥OPENAI_API_KEY
- OpenAI API 密钥。用于支持 RAG 查询。如果您不想使用 OpenAI,可以使用任何其他 LLM 。
现在我们来看一下代码。首先实例化一个 MCP 服务器:
然后使用@mcp.tool()
装饰器定义您的工具:
这里我们的工具名为llama_index_documentation
;它会实例化一个名为mcp-demo-2
的 LlamaCloud 索引,然后将其用作查询引擎来响应查询,并在提示符中包含一些额外的说明。您将在下一节中获得有关如何设置 LlamaCloud 索引的说明。
最后,运行服务器:
注意stdio
传输,用于与 Claude Desktop 进行通信。
配置 Claude 桌面
- 安装Claude Desktop
- 在菜单栏中选择
Claude
->Settings
->Developer
->Edit Config
。这将显示一个配置文件,您可以在您喜欢的文本编辑器中编辑它。 - 您希望您的配置看起来像这样(确保用存储库的路径替换
$YOURPATH
):
配置文件后,请确保重新启动 Claude Desktop 。
现在您可以开始查询了!您应该会在 Claude Desktop 的查询框下方看到一个工具图标,其中列出了您的服务器,如下所示:
LlamaIndex 作为 MCP 客户端
LlamaIndex 还集成了 MCP 客户端,这意味着您可以将任何 MCP 服务器变成一套可供代理使用的工具。您可以在mcp-client.py
中看到这一点,其中我们使用BasicMCPClient
连接到本地 MCP 服务器。
为了演示的简便,我们使用上面刚刚设置的 MCP 服务器。通常情况下,您不会使用 MCP 将 LlamaCloud 连接到 LlamaIndex 代理,而是使用QueryEngineTool并将其直接传递给代理。
设置您的 MCP 服务器
为了提供一个可供 HTTP 客户端使用的本地 MCP 服务器,我们需要稍微修改mcp-server.py
,使用run_sse_async
方法代替run
方法。您可以在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 功能能够为 Claude 提供来自自定义 LlamaCloud 索引的最新私人信息。
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