学术论文搜索工具

基于MCP架构的学术论文搜索工具,提供arXiv论文搜索、信息提取和多服务器连接的聊天机器人界面。

  • by Prajapdh
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 prajapdh/arxiv_mcp_server

使用说明

使用MCP搜索学术论文

该项目展示了模型上下文协议(MCP)架构,其中服务器提供学术论文搜索功能,客户端在聊天机器人界面中连接到多个MCP服务器。

项目概述

此应用程序包括:

  1. MCP服务器(ResearchServer.py):提供搜索和探索arXiv学术论文的工具、资源和提示。
  2. MCP客户端(MCPChatbotWithMultipleServers.py):一个聊天机器人界面,可以连接到多个MCP服务器并使用它们的工具、资源和提示。

特性

MCP服务器

  • 🔍 搜索论文:按主题搜索arXiv的学术论文
  • 📋 提取信息:获取特定论文的详细信息
  • 📂 浏览资源:通过基于URI的资源查看论文主题和内容
  • 📝 鼓励:为研究任务生成结构化提示

MCP客户端

  • 🤖 聊天机器人界面:MCP服务器的自然语言接口
  • 🌐 多服务器支持:同时连接到多个MCP服务器
  • 🧰 资源导航:浏览论文主题 @ 命令
  • ⚡ 迅速执行:使用以下命令运行预定义提示 / 命令

先决条件

  • Python 3.9+
  • Node.js(用于MCP检查器)

安装

  1. 克隆此存储库:
git clone https://github.com/Prajapdh/arxiv_mcp_server.git
cd arxiv_mcp_server
  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建一个 .env 使用您的Anthropic API密钥文件:
ANTHROPIC_API_KEY=your_api_key_here
  1. 在中配置服务器 server_config.json:
{
  "mcpServers": {
    "research": {
      "command": "uv",
      "args": ["run", "ResearchServer.py"],
      "env": null
    }
  }
}

运行MCP服务器

使用stdio传输运行(默认)

uv run ResearchServer.py

使用MCP检查器进行调试

npx @modelcontextprotocol/inspector uv run ResearchServer.py

运行MCP客户端

uv run MCPChatbotWithMultipleServers.py

聊天机器人命令

  • 定期查询:键入任何文本与助手聊天
  • @folders:列出所有可用的论文主题文件夹
  • @<topic>:浏览特定主题的论文
  • /prompts:列出所有可用提示
  • /prompt <name> <arg1=value1>:使用参数执行特定提示
  • exit:退出聊天机器人

服务器功能

工具

工具 说明
search_papers 基于主题搜索arXiv论文
extract_info 获取特定论文的详细信息

资源

资源 描述
papers://folders 列出所有可用的主题文件夹
papers://{topic} 获取特定主题论文的详细信息

鼓励

提示 描述
generate_search_prompt 生成提示,让Claude查找和讨论学术论文

项目结构

DeepLearning MCP tutorial/
├── MCPChatbotWithMultipleServers.py  # Multi-server MCP client
├── ResearchServer.py                 # ArXiv paper search MCP server
├── server_config.json                # Server connection configuration
├── requirements.txt                  # Project dependencies
├── papers/                           # Directory for storing paper information
│   └── {topic}/                      # Topic-specific directories
│       └── papers_info.json          # Stored paper metadata
└── README.md                         # This file

了解MCP

模型上下文协议(MCP)是将大型语言模型(LLM)连接到外部工具和资源的标准。在本项目中:

  • MCP服务器公开工具(功能)、资源(数据源)和提示(模板)
  • MCP客户端连接到这些服务器,并使LLM能够使用它们的功能
  • 通信通过stdio(用于本地)或SSE(用于网络)进行

扩展项目

  • 添加更多具有不同功能的MCP服务器
  • 实施其他纸张分析工具
  • 添加对其他学术数据库的支持
  • 为研究数据创建可视化工具

故障排除

  • 如果遇到连接错误,请在启动客户端之前确保服务器正在运行
  • 对于SSE传输问题,请检查端口可用性或切换到stdio传输
  • 验证在.env文件中正确设置了Anthropic API密钥

许可证

MIT许可证