学术论文搜索下载工具

一个基于MCP协议的学术论文搜索与下载服务器,支持从DBLP会议页面抓取论文信息并下载IEEE和ACM等出版商的PDF文件。

  • by Xyfuture
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Xyfuture/paper-searcher-mcp

使用说明

纸张搜索器MCP

用于从DBLP搜索和下载学术论文的模型上下文协议(MCP)服务器。此MCP服务器可供任何支持MCP协议的LLM(Claude、GPT等)使用,以帮助研究人员查找和下载学术论文。

特性

  • scrape_dblp会议:从DBLP会议页面中抓取论文并导出到markdown(带有可选作者信息)
  • download_paper:使用DOI下载纸质PDF(支持IEEE和ACM)

安装

快速安装(推荐)

使用uvx直接从GitHub安装:

uvx --from git+https://github.com/Xyfuture/paper-searcher-mcp paper-searcher-mcp

开发安装

克隆并在本地安装:

git clone https://github.com/Xyfuture/paper-searcher-mcp.git
cd paper-searcher-mcp
uv sync

浏览器安装(用于ACM下载)

ACM论文下载需要无头浏览器来绕过Cloudflare保护。安装Chromium:

uv run playwright install chromium

注: 这在使用uvx时会自动处理,但对于本地开发是必需的。

更新中

要更新到最新版本,只需使用uvx重新安装:

uvx --from git+https://github.com/Xyfuture/paper-searcher-mcp paper-searcher-mcp

uvx将自动从GitHub获取并使用最新版本。

用法

作为MCP服务器

此MCP服务器可以与支持模型上下文协议的任何LLM客户端集成。

适用于克劳德桌面

添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json):

选项1:使用uvx(推荐-自动更新)

{
  "mcpServers": {
    "paper-searcher": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/Xyfuture/paper-searcher-mcp", "paper-searcher-mcp"]
    }
  }
}

选项2:使用本地安装

{
  "mcpServers": {
    "paper-searcher": {
      "command": "uv",
      "args": ["run", "fastmcp", "run", "main.py"],
      "cwd": "/path/to/paper-searcher-mcp"
    }
  }
}

对于其他MCP客户端

使用uvx:

uvx --from git+https://github.com/Xyfuture/paper-searcher-mcp paper-searcher-mcp

使用本地安装:

uv run fastmcp run main.py

发展模式

在开发模式下运行MCP服务器:

uv run fastmcp dev main.py

MCP工具

scrape_dblp会议

从DBLP会议页面中删除所有论文并保存到markdown。

参数:

  • url (str):DBLP会议URL
  • output_file (str,可选):输出markdown文件路径(默认:“papers.md”)
  • include_authors (bool,可选):是否包含作者信息(默认值:False)

退货: 带有纸张计数的状态消息

例子:

# Without authors (default)
scrape_dblp_conference("https://dblp.org/db/conf/dac/dac2025.html", "dac2025.md")

# With authors
scrape_dblp_conference("https://dblp.org/db/conf/dac/dac2025.html", "dac2025.md", include_authors=True)

download_paper

从DOI下载纸质PDF。支持IEEE和ACM论文直接下载。

参数:

  • doi (str):纸质DOI(有或没有https://doi.org/前缀)
  • output_dir (str,可选):保存PDF的目录(默认:“下载”)

支持的发布者:

  • 电气与电子工程师学会:使用IEEE Xplore stampPDF API(无需验证即可工作)
  • 国际计算机学会:使用无头浏览器绕过Cloudflare保护(大多数论文需要机构访问或订阅)
  • 其他:尝试从出版商页面查找PDF链接

退货: 带有文件路径或错误的状态消息

例子:

# Download IEEE paper
download_paper("10.1109/DAC18074.2021.9586141", "downloads")

# Download ACM paper
download_paper("10.1145/3489517.3530525", "downloads")

备注

  • 所有下载都是在没有代理的情况下进行的,以确保与学术出版商网站的兼容性
  • 服务器自动处理不同的特定于发布者的下载方法
  • 在会议抓取中,作者信息是可选的,以便在不需要时减少输出大小

ACM下载限制

ACM论文通常需要机构访问或个人订阅。该工具使用无头浏览器绕过Cloudflare保护,但无法绕过访问限制。如果遇到403错误:

  1. 利用机构网络:从您的大学/研究机构网络访问
  2. 检查替代来源:许多论文都可以在arXiv或作者的个人网站上找到
  3. 手动下载:直接通过您所在机构的代理访问纸质页面

如果您通过网络拥有正确的访问凭据,无头浏览器方法将成功工作。

更新如何工作

适用于uvx用户(推荐)

当使用带有GitHub URL的uvx时,更新会自动处理:

  • 首次运行:uvx从GitHub下载并缓存最新版本
  • 后续运行:uvx检查更新,如果是最新版本,则使用缓存的版本
  • 手动更新:只需重新启动MCP客户端(例如Claude Desktop)-uvx将在下次启动时获取最新版本
  • 强制更新:再次手动运行uvx命令以强制重新下载

无需手动更新步骤! 只需重新启动LLM客户端即可获取最新功能。

对于本地安装用户

如果您在本地克隆了存储库,请使用以下内容进行更新:

cd /path/to/paper-searcher-mcp
git pull
uv sync

然后重新启动MCP客户端以使用更新的版本。