学术论文管理服务器

一个基于FastMCP框架的MCP服务器,用于搜索、检索和管理arXiv学术论文,提供结构化接口以支持AI辅助研究。

  • by teddytesfa
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 teddytesfa/research-mcp-server

使用说明

MCP研究服务器

一个演示项目,展示了如何使用FastMCP框架创建自定义MCP(模型控制协议)服务器。该实现是构建与arXiv集成以搜索、检索和管理学术论文的MCP服务器的一个实例,为人工智能辅助研究提供了一个结构化界面。该项目利用FastMCP的功能创建自定义工具、资源和提示,使其成为开发自己的MCP服务器的绝佳参考。

🚀 特性

  • 论文搜索:按主题搜索arXiv的学术论文
  • 永久存储:自动保存纸张元数据以供将来参考
  • 主题组织:按研究主题组织论文
  • RESTful API:通过FastMCP公开端点,便于集成
  • 人工智能集成:包括提示Claude AI分析研究论文

🛠️ 先决条件

  • Python 3.11.11(推荐)
  • pip(Python包管理器)
  • 虚拟环境(推荐)

备注:这个项目是用Python 3.11.11开发和测试的。虽然它可能适用于其他Python 3.7+版本,但为了兼容性,建议使用3.11.11。

🚀 安装

  1. 克隆存储库:

    git clone https://github.com/teddytesfa/research-mcp-server.git
    cd mcp_project
    
  2. 创建并激活虚拟环境:

    python -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    
  3. 安装所需的软件包:

    pip install -r requirements.txt
    

🏃‍♂️ 入门指南

  1. 启动MCP服务器:

    python research_server.py
    
  2. 服务器将于启动 http://localhost:8001 默认情况下。

🛠️ API终点

工具

  • search_papers(topic: str, max_results: int = 5)

    • 搜索arXiv上的论文
    • 返回:纸张ID列表
  • extract_info(paper_id: str)

    • 获取特定论文的详细信息
    • 返回:JSON格式的纸质元数据

资源

  • papers://folders

    • 列出所有可用的主题文件夹
  • papers://{topic}

    • 获取特定主题的论文

🤖 人工智能集成

该服务器包括一个提示模板,供Claude AI分析研究论文。使用 generate_search_prompt 开始人工智能辅助研究的功能。

📁 项目结构

mcp_project/
├── papers/                  # Directory for storing paper metadata
│   └── {topic}/             # Topic-specific directories
│       └── papers_info.json  # Paper metadata
├── research_server.py        # Main server implementation
└── README.md                # This file

📝 示例用法

  1. 搜索某个主题的论文:

    # Example search for papers about "machine learning"
    paper_ids = search_papers("machine learning", max_results=3)
    
  2. 获取特定论文的信息:

    paper_info = extract_info("2103.00001")
    print(paper_info)
    

📚 学习资源

这个项目是一个演示如何创建自己的MCP(模型控制协议)服务器的实现。它展示了:

  • 使用创建自定义工具 @mcp.tool()
  • 定义资源 @mcp.resource()
  • 使用生成AI提示 @mcp.prompt()
  • 管理服务器状态和持久性
  • 与外部API(arXiv)集成

🤝 贡献

欢迎投稿!请随时提交拉取请求。