项目简介

本项目提供一个基于 Model Context Protocol (MCP) 的服务器实现和一个客户端示例。它旨在为大型语言模型 (LLM) 应用提供后端支持,特别是增强检索增强生成 (RAG) 的能力。服务器负责托管和执行各种智能工具,而客户端演示了如何连接到服务器并调用这些工具来协助LLM完成任务。

主要功能点

  • 实现 MCP 服务器端,能够按照 MCP 标准接收和处理来自客户端的请求。
  • 注册并提供多个预定义工具 (Tools),这些工具可以被 LLM 通过 MCP 协议调用。
  • 提供的工具包括但不限于:
    • 获取当前的日期和时间。
    • 利用 OpenAI 模型从文本中提取关键实体(如人物、地点、组织等)。
    • 优化和改进用户输入的查询语句,使其更适合信息检索。
    • 评估一个文档片段与用户查询之间的相关性。
  • 包含一个 MCP 客户端示例,演示如何与服务器建立连接、发现服务器提供的能力(工具列表),并执行工具调用。

安装步骤

  1. 克隆代码仓库: 打开终端或命令行工具,运行以下命令获取项目代码:
    git clone https://github.com/ashishpatel26/Agentic-RAG-with-MCP-Server.git
  2. 进入项目目录: 切换到刚刚克隆下来的项目文件夹:
    cd Agentic-RAG-with-MCP-Server
  3. 安装依赖库: 项目需要一些 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等

基本使用方法

  1. 启动 MCP 服务器: 确保您已经在项目目录下,并且 '.env' 文件已配置好。在终端中运行:
    python server.py
    服务器将启动并监听连接。
  2. 运行 MCP 客户端示例: 打开另一个终端窗口,同样切换到项目目录下,运行:
    python mcp-client.py
    客户端将连接到正在运行的服务器,打印出服务器提供的工具列表,并演示如何调用其中的一些工具(例如,获取时间、提取实体、优化查询、检查相关性)。

您可以根据客户端示例代码,将这些工具集成到您的 LLM 应用中,通过 MCP 协议调用服务器提供的功能,从而构建更强大的 Agentic RAG 系统。

信息

分类

AI与计算