学术论文搜索与下载 MCP 服务
paper-search-mcp
一个强大的 MCP 服务,支持从 arXiv、PubMed、Semantic Scholar 等多个学术平台搜索、检索并下载论文。

试试这样做
搜索关于“大型语言模型推理优化”的最新论文,并尝试下载相关的 PDF 文件。
在 arXiv 和 PubMed 中查找关于 CRISPR 基因编辑的综述文章。
使用 DOI 查找特定论文的元数据并检查是否有可用的开放获取下载链接。
详细介绍
Paper Search MCP
一个用于搜索和下载学术论文的 MCP 服务器,支持从多个来源(如 arXiv、PubMed、Semantic Scholar 等)检索和获取论文全文。适用于研究人员、AI 工作流和需要文献检索的场景。
设计原则
- 免费优先:公共和开放来源是默认路线图,付费或受限来源不是本项目的核心方向。
- 可选 API Key:API key 仅用于提升稳定性、速率限制或元数据质量,尽可能无 key 也可使用。
- LLM 友好检索:搜索结果应标准化、去重,并尽可能完整,以支持下游 LLM 工作流。
- 来源透明:不同来源有不同优势,本 MCP 应明确这些权衡,而不是假装每个来源都支持全文检索。
适用场景
- 研究人员需要快速查找相关学术论文
- AI 工作流需要自动获取论文元数据和全文
- 需要从多个来源综合检索去重结果
- 需要下载开放获取(OA)论文 PDF
效果预览

核心能力
- 双层架构:提供高层工具(
search_papers多源并发搜索与去重,download_with_fallback依次尝试开放获取链接)和底层平台连接器。 - 多源支持:支持 arXiv、PubMed、bioRxiv、medRxiv、Google Scholar、IACR、Semantic Scholar、Crossref、OpenAlex、PubMed Central (PMC)、CORE、Europe PMC、dblp、OpenAIRE、CiteSeerX、DOAJ、BASE、Zenodo、HAL、SSRN、Unpaywall 以及可选的 Sci-Hub。
- 标准化输出:所有论文以统一的
Paper字典格式返回。 - 免费优先设计:优先使用开放和公共数据源,API key 仅用于提升稳定性或覆盖率,不影响基本使用。
- 发现与检索工作流:Google Scholar 和 Crossref 可用于发现和 DOI 补全,开放仓库和出版商链接用于合法全文获取。
- OA 优先降级链:
download_with_fallback按源原生下载 → OpenAIRE/CORE/Europe PMC/PMC 发现 → Unpaywall DOI 解析 → 可选 Sci-Hub 的顺序依次尝试。 - MCP 集成:兼容 MCP 客户端,可为 LLM 提供上下文增强。
- 可扩展设计:可通过
academic_platforms模块添加新的学术平台。
工作方式
- 用户提供:搜索查询(关键词、标题、作者等),或论文标识(DOI、arXiv ID)。
- Skill 处理:并行搜索多个已启用的学术来源,自动去重,提取元数据;对于下载请求,按开放获取优先级依次尝试。
- 用户获得:结构化的论文列表(标题、作者、摘要、DOI、链接等),可下载 PDF 或读取文本内容。
你需要提供
配置环境变量(可选,但部分来源推荐设置以提升性能):
| 环境变量 | 提供方 | 是否需要 | 获取方式 |
|---|---|---|---|
PAPER_SEARCH_MCP_UNPAYWALL_EMAIL |
Unpaywall | 是(否则 Unpaywall 不可用) | 任意有效邮箱,在 unpaywall.org 注册 |
PAPER_SEARCH_MCP_CORE_API_KEY |
CORE | 推荐 | 免费申请于 core.ac.uk/services/api |
PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY |
Semantic Scholar | 可选 | 免费申请于 semanticscholar.org — 提升速率限制 |
PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL |
Google Scholar | 可选 | 你的 HTTP/HTTPS 代理 URL — 绕过反爬检测 |
PAPER_SEARCH_MCP_DOAJ_API_KEY |
DOAJ | 可选 | 免费申请于 doaj.org — 提升小时速率限制 |
PAPER_SEARCH_MCP_ZENODO_ACCESS_TOKEN |
Zenodo | 可选 | 免费申请于 zenodo.org — 私有记录需要 |
PAPER_SEARCH_MCP_IEEE_API_KEY |
IEEE Xplore | 激活需要 | 免费申请于 developer.ieee.org |
PAPER_SEARCH_MCP_ACM_API_KEY |
ACM DL | 激活需要 | 参见 libraries.acm.org/digital-library/acm-open |
所有变量使用 PAPER_SEARCH_MCP_ 前缀。旧版无前缀名称(如 CORE_API_KEY)仍向后兼容。
你可以将这些变量存储在 ~/.config/paper-search-mcp/.env 文件中,启动时自动加载。也可通过 PAPER_SEARCH_MCP_ENV_FILE 环境变量指定自定义路径。
你会获得
- 搜索结果:以 JSON 格式返回的论文列表,包含标题、作者、摘要、DOI、来源、链接等。
- 下载的 PDF 文件(当来源支持且提供开放获取链接时)。
- 论文文本内容(通过
read工具,当来源支持时)。
使用示例
在 Claude Code 中,你可以直接说出需求:
- "Find me recent papers on CRISPR base editing"
- "Search arxiv and semantic scholar for transformer attention mechanisms"
- "Download the PDF for arxiv paper 2106.12345"
平台能力矩阵
下表展示了各平台在搜索、下载和读取方面的实际支持情况(基于集成测试结果):
| 平台 | 搜索 | 下载 | 读取 | 备注 |
|---|---|---|---|---|
| arXiv | ✅ | ✅ | ✅ | 开放 API,稳定 |
| PubMed | ✅ | ❌ | ⚠️ 仅元数据 | 开放 API,稳定 |
| bioRxiv | ✅ | ✅ | ✅ | 开放 API,稳定 |
| medRxiv | ✅ | ✅ | ✅ | 开放 API,稳定 |
| Google Scholar | ⚠️ | ❌ | ❌ | 反爬检测活跃,需设置 PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL |
| IACR | ✅ | ✅ | ✅ | 开放 API,稳定 |
| Semantic Scholar | ✅ | ✅ (OA) | ✅ (OA) | 无 key 也可用(速率限制);有 key 可提升限制;key 被拒绝 (403) 会自动无 key 重试 |
| Crossref | ✅ | ❌ | ⚠️ 仅元数据 | 开放 API,稳定 |
| OpenAlex | ✅ | ❌ | ⚠️ 仅元数据 | 开放 API,稳定 |
| PMC | ✅ | ✅ (仅OA) | ✅ (仅OA) | 仅开放获取 PDF;部分代理环境可能阻止直接下载 |
| CORE | ✅ | ✅ (取决于记录) | ✅ (取决于记录) | 推荐免费 key;连接器重试并在 401/403 时自动降级为无 key |
| Europe PMC | ✅ | ✅ (OA) | ✅ (OA) | 仅开放获取 PDF;部分代理环境可能阻止直接下载 |
| dblp | ✅ | ❌ | ⚠️ 仅元数据 | 开放 API,稳定 |
| OpenAIRE | ✅ | ❌ | ❌ | 开放 API;遇到 403 时重试 3 次,逐步升级请求策略 |
| CiteSeerX | ⚠️ | ✅ (取决于记录) | ⚠️ | API 端点间歇性不可用 / 重定向到网络存档 |
| DOAJ | ✅ | ⚠️ (取决于URL) | ⚠️ (取决于URL) | PDF 可用性因文章而异;免费 key 提升速率限制 |
| BASE | ⚠️ | ✅ (取决于记录) | ✅ (取决于记录) | OAI-PMH 端点需要机构 IP 注册;否则优雅返回空结果 |
| Zenodo | ✅ | ✅ (取决于记录) | ✅ (取决于记录) | 开放 API,稳定 |
| HAL | ✅ | ✅ (取决于记录) | ✅ (取决于记录) | 开放 API,稳定 |
| SSRN | ⚠️ | ⚠️ 尽力而为 | ⚠️ 尽力而为 | 403 反爬检测活跃;仅公共 PDF |
| Unpaywall | ✅ (DOI 查找) | ❌ | ❌ | 需要 PAPER_SEARCH_MCP_UNPAYWALL_EMAIL |
| Sci-Hub (可选) | ⚠️ 仅降级 | ✅ | ❌ | 可选,镜像不稳定,用户自行承担法律风险 |
| IEEE Xplore 🔑 | 🚧 骨架 | 🚧 骨架 | 🚧 骨架 | 需要 PAPER_SEARCH_MCP_IEEE_API_KEY 激活 |
| ACM DL 🔑 | 🚧 骨架 | 🚧 骨架 | 🚧 骨架 | 需要 PAPER_SEARCH_MCP_ACM_API_KEY 激活 |
✅ = 实际测试可靠。⚠️ = 可用但受上游不稳定或访问限制影响。❌ = 不支持。🔑 = 需要 key。🚧 = 仅骨架。
注意事项
上游限制
部分搜索失败由外部提供方不稳定导致,非本工具 bug:
| 来源 | 症状 | 原因 | 解决方法 |
|---|---|---|---|
| Google Scholar | 返回 0 结果 / 空 HTML | 反爬检测 (CAPTCHA) | 设置 PAPER_SEARCH_MCP_GOOGLE_SCHOLAR_PROXY_URL 为代理 |
| Semantic Scholar | 429 速率限制 | 匿名访问限制 | 设置 PAPER_SEARCH_MCP_SEMANTIC_SCHOLAR_API_KEY;若 key 被拒 (403) 连接器自动无 key 重试 |
| CORE | 500 / 超时 | 未认证速率限制 | 设置 PAPER_SEARCH_MCP_CORE_API_KEY(免费);连接器指数退避重试,401/403 时降级为无 key |
| OpenAIRE | 临时 403 | 基于 IP 的会话速率限制 | 连接器重试 3 次,逐步升级请求策略 |
| CiteSeerX | 404 重定向到网络存档 | PSU 端点间歇性重定向 | 无解决方法;连接器优雅返回空结果 |
| BASE | 搜索返回 0 结果 | OAI-PMH 端点需要机构 IP 注册 | 在 base-search.net 注册 API 访问;否则优雅返回空结果 |
| SSRN | HTTP 403 | 反爬检测 (Cloudflare) | 无解决方法;连接器尝试两个端点,失败时返回明确消息 |
| PMC / Europe PMC | PDF 下载 ProxyError | 本地代理阻止直接 HTTPS PDF 下载 | 禁用代理或使用 download_with_fallback |
| Unpaywall | 跳过 | UNPAYWALL_EMAIL 环境变量未设置 |
在 ~/.config/paper-search-mcp/.env 中设置 PAPER_SEARCH_MCP_UNPAYWALL_EMAIL |
Sci-Hub 注意事项
- Sci-Hub 支持作为可选连接器,但不应作为默认或推荐的全文获取路径。
- 镜像稳定性差,地址频繁变更。
- 法律和政策风险因司法管辖区而异。
- 用户自行负责启用和使用。
- 应优先尝试开放获取和出版商允许的来源。
可选付费平台连接器
- IEEE Xplore 和 ACM Digital Library 连接器作为 骨架 包含,默认禁用,除非配置相应 API key。
- 设置 key 后,对应来源自动添加到
ALL_SOURCES,并注册 MCP 工具。 - 无 key 时仅记录启动警告,不影响服务器其他功能。