项目简介
本项目提供一个基于 Model Context Protocol (MCP) 的服务器实现和一个客户端示例。它旨在为大型语言模型 (LLM) 应用提供后端支持,特别是增强检索增强生成 (RAG) 的能力。服务器负责托管和执行各种智能工具,而客户端演示了如何连接到服务器并调用这些工具来协助LLM完成任务。
主要功能点
- 实现 MCP 服务器端,能够按照 MCP 标准接收和处理来自客户端的请求。
- 注册并提供多个预定义工具 (Tools),这些工具可以被 LLM 通过 MCP 协议调用。
- 提供的工具包括但不限于:
- 获取当前的日期和时间。
- 利用 OpenAI 模型从文本中提取关键实体(如人物、地点、组织等)。
- 优化和改进用户输入的查询语句,使其更适合信息检索。
- 评估一个文档片段与用户查询之间的相关性。
- 包含一个 MCP 客户端示例,演示如何与服务器建立连接、发现服务器提供的能力(工具列表),并执行工具调用。
安装步骤
- 克隆代码仓库:
打开终端或命令行工具,运行以下命令获取项目代码:
git clone https://github.com/ashishpatel26/Agentic-RAG-with-MCP-Server.git - 进入项目目录:
切换到刚刚克隆下来的项目文件夹:
cd Agentic-RAG-with-MCP-Server - 安装依赖库:
项目需要一些 Python 库才能运行。使用 pip 安装它们:
pip install -r requirements.txt
服务器配置
MCP 服务器是为 MCP 客户端提供服务的后端。您的 MCP 客户端应用需要知道如何连接并启动这个服务器。通常,这涉及到在客户端的配置中指定服务器的可执行命令及其参数。
对于本项目的服务器,其启动命令和参数大致如下(请根据您的实际环境和 MCP 客户端的要求进行配置,这仅为示例概念):
- 服务器名称: Agentic RAG MCP Server (或其他您指定的名称)
- 启动命令 (command): 'python'
- 命令参数 (args): '["server.py"]'
- 传输协议 (transport): 'sse' (默认) 或 'stdio' (如果客户端配置为使用 Stdio)
此外,服务器运行需要您提供 OpenAI API 密钥和模型名称。请在项目根目录下创建一个名为 '.env' 的文件,并参考 '.env.sample' 文件填写您的配置信息,例如:
OPENAI_MODEL_NAME="gpt-4o" # 替换为您想使用的OpenAI模型 OPENAI_API_KEY="sk-your-openai-api-key" # 替换为您的API密钥 # 可以根据需要添加其他配置,如GEMINI_API_KEY等
基本使用方法
- 启动 MCP 服务器:
确保您已经在项目目录下,并且 '.env' 文件已配置好。在终端中运行:
服务器将启动并监听连接。python server.py - 运行 MCP 客户端示例:
打开另一个终端窗口,同样切换到项目目录下,运行:
客户端将连接到正在运行的服务器,打印出服务器提供的工具列表,并演示如何调用其中的一些工具(例如,获取时间、提取实体、优化查询、检查相关性)。python mcp-client.py
您可以根据客户端示例代码,将这些工具集成到您的 LLM 应用中,通过 MCP 协议调用服务器提供的功能,从而构建更强大的 Agentic RAG 系统。
信息
分类
AI与计算