学术论文研究服务器

一个基于arXiv集成的学术论文研究服务器,提供论文搜索、信息提取、资源访问和研究提示生成功能。

  • by RamziRebai
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 RamziRebai/MCP_remote_server_for_papers_reasearch

使用说明

MCP远程论文研究服务器

A. 模型上下文协议(MCP) 服务器,通过arXiv集成为学术论文提供全面的研究能力。该服务器公开了用于搜索论文、提取信息、访问有组织的资源和生成研究提示的工具。

🚀 特性

🔧 工具

  • search_papers -在arXiv中搜索任何主题的论文并存储其元数据
  • extract_info -按ID检索特定论文的详细信息

📁 资源

  • papers://folders -列出所有可用的研究主题文件夹
  • papers://{topic} -访问特定主题的详细论文信息

💡 鼓励

  • generate_search_prompt -为克劳德分析学术论文生成全面的研究提示

🗂️ 数据组织

  • 在中按主题自动组织论文 papers/ 目录
  • 以JSON格式存储纸张元数据,以实现高效检索
  • 在服务器重启过程中保持持久存储

🌐 部署

此服务器是 准备部署 在任何云提供商上,包括:

  • AWS(EC2、Lambda、ECS)
  • 谷歌云平台(计算引擎,云运行)
  • Microsoft Azure(虚拟机、容器实例)
  • DigitalOcean水滴
  • Heroku
  • 铁路
  • Fly.io

服务器运行在 端口8001 并使用 流式HTTP传输 为了获得最大的兼容性。

🛠️ 本地开发和测试

先决条件

安装步骤

  1. 克隆存储库

    git clone <repository-url>
    cd remote_mcp_server
    
  2. 使用uv创建和激活虚拟环境

    # Install uv if you haven't already
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # Create virtual environment
    uv venv
    
    # Activate the virtual environment
    # On Windows:
    .venv\Scripts\activate
    # On macOS/Linux:
    source .venv/bin/activate
    
  3. 安装依赖项

    uv pip install -r requirements.txt
    
  4. 运行服务器

    uv run research_server.py
    

MCP检验员测试

  1. 启动服务器 (在第一个终端中):

    uv run research_server.py
    
  2. 启动MCP检查器 (在第二个终端中):

    npx @modelcontextprotocol/inspector
    
  3. 连接到服务器:

    • 服务器URL: http://localhost:8001
    • 运输: streamable-http

📖 使用示例

搜索论文

# Search for machine learning papers
search_papers(topic="machine learning", max_results=10)

提取纸张信息

# Get detailed information about a specific paper
extract_info(paper_id="2301.07041")

访问资源

# List available topic folders
papers://folders

# Access papers on a specific topic
papers://artificial_intelligence

生成研究提示

# Create a comprehensive research prompt
generate_search_prompt(topic="quantum computing", num_papers=5)

📁 项目结构

remote_mcp_server/
├── research_server.py      # Main MCP server implementation
├── requirements.txt        # Python dependencies
├── papers/                # Auto-generated paper storage
│   ├── topic_name/
│   │   └── papers_info.json
│   └── another_topic/
│       └── papers_info.json
└── README.md              # This file

🔧 配置

服务器配置了合理的默认值:

  • 端口: 8001
  • 运输:可流式传输http
  • 论文目录: ./papers
  • 默认最大结果:每次搜索5篇论文

📚 api参考

工具

search_papers(topic: str, max_results: int = 5) -> List[str]

在arXiv中搜索给定主题的论文并存储其元数据。

参数:

  • topic:要搜索的研究主题
  • max_results:要检索的最大论文数(默认值:5)

退货: 找到的纸张ID列表

extract_info(paper_id: str) -> str

检索特定论文的详细信息。

参数:

  • paper_id:ArXiv纸张ID(例如“2301.07041”)

退货: 带有纸张详细信息或错误消息的JSON字符串

资源

papers://folders

列出所有可用的研究主题文件夹。

papers://{topic}

提供特定主题论文的详细标记格式信息。

鼓励

generate_search_prompt(topic: str, num_papers: int = 5) -> str

为克劳德生成一个全面的研究提示。

参数:

  • topic:研究主题
  • num_papers:要分析的论文数量(默认值:5)

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

🙏 致谢


准备好彻底改变你的研究工作流程了吗? 🚀 部署此服务器,在人工智能的帮助下开始探索广阔的学术文献世界!