MCP研究助理
一个研究助手,利用模型上下文协议(MCP)、谷歌Gemini大型语言模型(LLM)以及针对尼泊尔法律学术研究定制的工具/资源构建而成。\ 允许用户通过命令行界面(CLI)交互式地查询、总结和比较研究论文。
______________________________________________________________________
项目概述
这个项目展示了一个使用MCP架构的研究助手:
- 服务器: 提供研究查询所需的工具和资源。
- 客户: 连接到服务器和Gemini大语言模型以处理用户查询。
- 资源: 预加载的尼泊尔学术论文。
- 工具: 从Google学术搜索获取更多论文,进行总结,并对论文进行比较。
该助手结合服务器资源和工具调用,为研究任务提供丰富、结构化的输出。
______________________________________________________________________
特点/功能
- 查询尼泊尔法律研究论文。
- 总结或比较多篇论文。
- 动态地从Google学术中获取更多论文。
- 持久的聊天记录。
- 基于交互式命令行界面(CLI)和Streamlit的用户界面(UI)。
______________________________________________________________________
项目结构
论文-MCP/ ├─ mcp-server/(译文:├─ mcp服务器/) │ ├─ server.py # MCP服务器,用于暴露工具/资源 │ └─ sample_papers.json # 尼泊尔学术论文资源 mcp-client/(可翻译为)MCP客户端/ │ ├─ client.py # 连接到服务器的MCP客户端 ├─ README.md(中文可译为:├─ 说明文件README.md 或 目录下的README.md文件) .env # API密钥(Gemini、Scholar API)
______________________________________________________________________
要求
- Python 3.12及以上版本
- MCP 版本大于等于 2.12.5
- 根据上面的信息,执行如下指令:
- 学者API密钥(可选)
- 使用Streamlit进行用户界面开发(可选)
使用 uv 或 pip 安装依赖项:
安装 MCP(MCP 可能代表某个特定的软件、模块或系统,具体含义需根据上下文确定) 安装谷歌生成式人工智能库(google-genai) 使用pip安装streamlit(注:原文中的“uv”可能是一个误写或特定上下文中的命令,通常Python包的安装会使用“pip”,因此这里翻译为使用pip安装streamlit) 安装 uv 和 httpx(注:这里的“uv install”可能是一个特定环境或工具下的安装命令,但“uv”本身并不是一个广泛认知的安装工具名称,可能是特定上下文中的命令或工具名,因此直接翻译为“安装 uv 和 httpx”,具体含义需结合上下文理解) 安装 python-dotenv(使用 uv 工具)
______________________________________________________________________
设置
- 克隆仓库:
使用 SSH 或 HTTP 基础的 URL 克隆仓库
- 创建并激活虚拟环境:
python -m venv .venv 翻译为中文是:“使用 Python 的 venv 模块创建一个名为 .venv 的虚拟环境” source .venv/bin/activate # Linux/macOS(译文:在Linux/macOS系统中激活虚拟环境) .venv\\Scripts\\activate # Windows(激活虚拟环境)
- 安装依赖项:
安装UV(注:UV可能指某种软件包或工具,具体名称需根据上下文确定,此处为直译)
- 添加包含您的API密钥的.env文件:
GEMINI_API_KEY=your_gemini_api_key SCHOLAR_API_KEY=your_scholar_api_key
______________________________________________________________________
运行MCP服务器
进入 mcp-server 目录 运行 python server.py
服务器通过MCP(管理控制协议)提供工具和资源:
- 工具: 获取、总结、比较论文;清除聊天记录。
- 资源: 尼泊尔学术论文
resource://nepali_academic_papers)。 - 提示: 预定义的用户提示(文献综述、比较等)。
______________________________________________________________________
运行MCP客户端(命令行界面)
进入 mcp-client 目录 运行 python client.py mcp-server/server.py
- 交互式地输入查询类型。
- 类型
quit退出。 - 客户利用可用的工具和资源来做出回应。
______________________________________________________________________
______________________________________________________________________
MCP 工具和资源
工具:
get_scholar_papers(query: str)– 从Google学术上获取论文。summarize_paper(text: str)– 概括一篇给定的论文。compare_papers(papers: list[str])– 比较多篇论文。erase_chat_history()– 清除聊天记录。
资源:
resource://nepali_academic_papers– 预加载的尼泊尔法律研究论文(标题、摘要)。
______________________________________________________________________
示例工作流程
- 用户查询:“提供关于尼泊尔法律问答(QA)的文献综述。”
- 客户端检查资源以加载预存的论文。
- 电话通话
get_scholar_papers用于撰写额外论文的工具。 - 使用(某种方法/工具)总结论文
summarize_paper。 - 向用户返回结构化的答案。
______________________________________________________________________
许可证
麻省理工学院许可证
______________________________________________________________________
联系
阿南·帕拉朱利 – anjanparajuli2001@gmail.com
