paper-fetch-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@paper-fetch-mcpfetch full text for DOI 10.1038/s41586-021-03819-2"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Paper Fetch Skill
Fetch papers as agent-ready markdown — DOI/URL/title in, structured full text out. CLI · MCP · Skill.
Paper Fetch Skill —— 已知论文的 AI 阅读层。 你有 DOI、URL 或标题;它返回结构化元数据 + 干净 Markdown 全文 + 图表资源,直接喂给 Codex / Claude Code / Gemini CLI / 任意 MCP host。 不绕付费墙,只在你本就有访问权限的地方,把 AI 从「只能读摘要」升级到「读全文」。
如果觉得有帮助,欢迎 star⭐ 支持!
🙁 AI agent 读论文的痛点
你有权限获取全文,但 AI 没有权限,AI 只能读到摘要。
PDF 无法正确解析文字、图片,agent 理解效果不如 markdown。
文章 html 有很多无关的网页信息,给 agent 造成语义负担。
文章 html 中的图片 agent 读不到。
😍 这个项目做什么
✅这个项目把这些问题收敛到一个工具层:
当你有全文获取权限时,让 AI 也能获取全文,而不仅是摘要。
输入 n 篇已知论文,抓取 AI 更容易理解的 markdown 版本,为后续知识库构建做好干净的数据基础。
✅项目提供三个主要入口:
paper-fetch:命令行工具,适合手动大规模快速抓取文献。paper-fetch-mcp:stdio MCP server,适合接入 Codex、Claude Code、Gemini CLI 等支持 MCP 的 host。skills/paper-fetch-skill/:静态 agent skill,告诉 agent 什么时候应该调用论文抓取工具。
核心能力:
支持 DOI、URL 和标题查询。
输出结构化论文元数据、正文 Markdown、引用信息和本地缓存资源。
支持常见 provider 路由,包括 Crossref、arXiv、Elsevier、Springer、Wiley、Science、PNAS、AMS、ACS、IEEE、MDPI 和 Copernicus。
在无法取得全文时返回带 warning 的 abstract-only 或 metadata-only 结果。
项目边界:
不做主题检索、文献推荐或综述生成。
不绕过付费墙或访问授权;可用性取决于 provider、凭据和本机运行环境。
Wiley、Science、PNAS、AMS、ACS、MDPI 的浏览器路径统一使用 CloakBrowser;IEEE 路线不需要额外 API key,但全文可用性取决于 IEEE Xplore 对当前环境的合法访问上下文。
Provider onboarding 的 AI/coordinator 自动化入口见
onboarding/README.md,其中的 runner 仍不能代替 access approval、challenge 决策或最终语义审查判断;最终签字由用户确认后通过项目脚本机械写入。
效果展示
agent 安装 skill 后,可以识别 paper-fetch-skill 的适用边界,并在抓取前确认是否保存全文和图表资源。

以下示例来自 figures/ 中的真实开放抓取产物。
Nature 示例
论文:Towards end-to-end automation of AI research
DOI:
10.1038/s41586-026-10265-5来源:Springer/Nature HTML full text
许可:
CC BY 4.0Markdown 全文:
towards-end-to-end-automation-of-ai-research.md

Science Advances 示例
论文:Deforestation-induced runoff changes dominated by forest-climate feedbacks
DOI:
10.1126/sciadv.adp3964来源:Science Advances / Science provider
Markdown 全文:
deforestation-induced-runoff-changes-dominated-by-forest-climate-feedbacks.md

快速安装
离线安装(推荐)
离线 release asset 包含 4 个 Linux ABI 自解压 .sh 安装器、4 个 macOS ABI tarball 和 1 个 Windows x86_64 安装器。macOS tarball 使用同一构建脚本在 macos-latest 上按 runner 架构和 CPython 3.11、3.12、3.13、3.14 生成,并由 macOS CI 验证安装、headful preset 和 CloakBrowser 浏览器启动 smoke。
paper-fetch-skill-offline-linux-x86_64-cp311.sh
paper-fetch-skill-offline-linux-x86_64-cp312.sh
paper-fetch-skill-offline-linux-x86_64-cp313.sh
paper-fetch-skill-offline-linux-x86_64-cp314.sh
paper-fetch-skill-offline-macos-<arch>-cp311.tar.gz
paper-fetch-skill-offline-macos-<arch>-cp312.tar.gz
paper-fetch-skill-offline-macos-<arch>-cp313.tar.gz
paper-fetch-skill-offline-macos-<arch>-cp314.tar.gz
paper-fetch-skill-windows-x86_64-setup.exeI. Windows x86_64:
1. 下载安装包
在 Releases 中下载
paper-fetch-skill-windows-x86_64-setup.exe2. 双击安装或者在本地终端运行安装程序
.\paper-fetch-skill-windows-x86_64-setup.exe安装器默认安装到 %LOCALAPPDATA%\PaperFetchSkill,不要求管理员权限。会自动安装 paper-fetch CLI 工具、注册 MCP 并安装 Skill。若用户级 PATH / Skill / MCP 集成或 smoke check 在本机失败,runtime 仍会保留在安装目录,详细警告见 %LOCALAPPDATA%\PaperFetchSkill\install-helper.log。
3. 验证安装
安装后新开一个 PowerShell
paper-fetch --help如果有输出usage: cli.py [-h] -(后略)则安装成功
4. 开启 Wiley / Science / PNAS / AMS / ACS / MDPI 浏览器路径
安装器会注册 CloakBrowser 默认 headless 环境,并在 offline.env 默认启用普通 Chrome browser UA,降低 AGU/Wiley 页面进入 Cloudflare challenge 的概率。受限环境可在 offline.env 中设置 CLOAKBROWSER_BINARY_PATH 指向预装浏览器;如果 GUI/WSLg 环境下仍被 challenge,再把 CLOAKBROWSER_HEADLESS=false,安装 Linux .sh 时使用 --preset=wslg,或在 macOS 离线 bundle 中使用 --preset=headful。
Windows 安装器还会设置 MATHML_TO_LATEX_NODE_BIN 指向包内 Playwright Node,避免 Codex Desktop 的 WindowsApps/MSIX 内部 node.exe 被公式转换 fallback 误用。
5. 开启 Elsevier 获取权限
Elsevier 官方 XML/API 和 PDF fallback 需要从 https://dev.elsevier.com/ 申请 key,并写入安装目录下的 offline.env:
notepad "$env:LOCALAPPDATA\PaperFetchSkill\offline.env"6. 刷新 agent skill
修改 Codex / Claude Code / Gemini CLI skill、MCP 配置或 offline.env 后需要重启对应 host;已经启动的 MCP 服务不会自动继承新环境变量。
7. 常见问题
Windows 安装器和离线安装细节见 docs/deployment.md。
II. Linux
1. 下载安装包
检查python版本
python3 --version在 Releases 中选择与目标机 Python 版本的包下载。
paper-fetch-skill-offline-linux-x86_64-cp311.sh
paper-fetch-skill-offline-linux-x86_64-cp312.sh
paper-fetch-skill-offline-linux-x86_64-cp313.sh
paper-fetch-skill-offline-linux-x86_64-cp314.shLinux .sh 是自解压安装器,内部 payload 是预安装 runtime 包,不再是源码快照。默认安装到 ~/.local/share/paper-fetch-skill,也可以用 --install-dir <path> 指定固定目录。
Ubuntu 24.04 系统默认 Python 版本 3.12,Ubuntu 26.04 为 3.14。
直接执行安装器:
chmod +x paper-fetch-skill-offline-linux-x86_64-cp312.sh
./paper-fetch-skill-offline-linux-x86_64-cp312.sh --preset=headless --no-user-config
source ~/.local/share/paper-fetch-skill/activate-offline.shWSLg 或桌面显示环境可改用:
./paper-fetch-skill-offline-linux-x86_64-cp312.sh --preset=wslg --no-user-config如需固定到自定义目录:
./paper-fetch-skill-offline-linux-x86_64-cp312.sh --install-dir "$HOME/tools/paper-fetch-skill" --preset=headless --no-user-config
source "$HOME/tools/paper-fetch-skill/activate-offline.sh"Linux / macOS 离线安装会优先把 MATHML_TO_LATEX_NODE_BIN 指向包内 Playwright Node,避免依赖系统 PATH 上的 node;生成的 activate-offline.sh 可在 bash 或 zsh 中 source。
macOS 离线 release asset 按 CPython ABI 提供 tarball;下载与目标机架构和 Python 版本匹配的 paper-fetch-skill-offline-macos-*-cp*.tar.gz 后解压运行。macOS 可见浏览器调试使用:
tar -xzf paper-fetch-skill-offline-macos-arm64-cp312.tar.gz
cd paper-fetch-skill-offline-macos-arm64-cp312
./install-offline.sh --preset=headful --no-user-config
source ~/.local/share/paper-fetch-skill/activate-offline.shIII. 更新和卸载
更新
Windows 下载新版 paper-fetch-skill-windows-x86_64-setup.exe 后直接运行。安装器会先备份 %LOCALAPPDATA%\PaperFetchSkill\offline.env,清理旧安装 payload,再安装新版运行时并写回用户配置,只刷新受管理的运行时配置、PATH、Skill 和 MCP 注册。
Linux 下载与目标机 Python 版本匹配的新版 .sh 后直接运行。默认安装目录固定为 ~/.local/share/paper-fetch-skill,升级时会清理旧 runtime payload、移除旧源码/构建残留,并保留安装目录内的 offline.env。若希望复用外部 env 文件且不修改它,使用 --reuse-env-file:
./paper-fetch-skill-offline-linux-x86_64-cp312.sh --preset=headless --no-user-config
./paper-fetch-skill-offline-linux-x86_64-cp312.sh --preset=headless --no-user-config --reuse-env-file /path/to/shared/offline.env
source ~/.local/share/paper-fetch-skill/activate-offline.sh--reuse-env-file 会让 shell / Skill / MCP 指向新版 runtime,但不会修改被复用的 offline.env。更新后重启 Codex / Claude Code / Gemini CLI。
卸载
Windows 在“设置 > 应用 > 已安装的应用”中卸载 Paper Fetch Skill,或运行:
& "$env:LOCALAPPDATA\PaperFetchSkill\unins000.exe"如需保留 offline.env 中的 API key,卸载前先备份该文件。
Linux 默认安装目录运行:
~/.local/share/paper-fetch-skill/install-offline.sh --uninstall该命令只清理用户级 PATH / Skill / MCP 集成,不删除固定安装目录、bin/、runtime/、offline.env 或 downloads/;确认不再需要后运行 ~/.local/share/paper-fetch-skill/install-offline.sh --purge 删除安装目录。
在线安装(不推荐,开发使用)
在仓库根目录执行:
./install.sh默认会创建仓库内 .venv,安装 Python 包,并准备 CloakBrowser 依赖和公式后端等运行组件。
如果只想安装 Python 包和基础配置:
./install.sh --litearXiv 路径细节见 docs/providers.md。
如果只想装进当前 Python 环境:
python3 -m pip install .安装后可用命令:
paper-fetch --query "10.1186/1471-2105-11-421"
paper-fetch-mcpCLI 行为速查
paper-fetch 的输出与本地 artifact 参数分工如下:
--format markdown|json|both指定 stdout、--output或--output-dir默认主输出文件的序列化格式,默认是markdown。--query-file <path>启用批量抓取,每行一个 DOI、URL 或标题;空行和以#开头的注释行会被忽略。批量模式不向 stdout 输出正文,而是把每篇主输出写到输出目录,并生成 JSONL 汇总。--output <path>把这份格式化结果写到指定文件;显式--output -表示打印到终端。--output-dir <dir>是默认主输出、Markdown、PDF fallback 来源文件和本地资产的保存目录;CLI 会在抓取前自动创建该目录,未显式传--output时,主输出会写到<doi>.md、<doi>.json或<doi>.both.json,不再把正文打印到终端。--batch-concurrency <1..8>控制批量并发,默认1;--batch-results <path>可覆盖默认的<output-dir>/batch-results.jsonl。--artifact-mode markdown-assets|all|none控制中间产物保留,CLI 默认是markdown-assets:保存 Markdown、按--asset-profile保存资产,不保留 provider 原始 HTML/XML、fetch-envelope/cache JSON 或 HTTP textual cache;如果正文来自 PDF fallback,仍会保存 PDF 源文件便于溯源。--artifact-mode all保留旧行为:provider HTML/PDF、辅助 artifact、HTTP textual cache 等调试 artifact 都可落盘。--artifact-mode none不保存 provider artifact 或资产;显式--output <path>、--save-markdown,以及未显式--output时由--output-dir承接的主输出仍可写文件。--no-download保留兼容,但已弃用,等价于--artifact-mode none。--asset-profile none|body|all控制本地内容资产下载范围,CLI 默认是body:none不下载本地资产但保留 Markdown 中可解析的远程图片链接,body保存正文图片/图表/公式图片,all额外保存补充材料。
完整命令组合、主输出与 artifact 的区别、错误输出和 exit code 见 docs/cli.md。
例如:
paper-fetch --query "https://www.nature.com/articles/s41559-026-03039-9" \
--output-dir ./papers这会把 Markdown 写到 ./papers/<doi>.md,不打印正文到终端,并按默认 --asset-profile body 保存正文图片等资产;默认不会保存 provider 原始 HTML/XML 或 JSON/cache sidecar。需要完整调试 artifact 时显式使用 --artifact-mode all。如果需要强制打印到终端,显式传 --output -。
批量抓取时先准备 query 文件:
# 每行一个 DOI、URL 或标题
10.1186/1471-2105-11-421
https://www.nature.com/articles/s41559-026-03039-9然后运行:
paper-fetch --query-file ./queries.txt \
--output-dir ./papers \
--batch-concurrency 4这会把每篇 Markdown 和正文资产写到 ./papers,并生成 ./papers/batch-results.jsonl。单篇失败会记录到 JSONL 并继续处理后续条目。
如果只想控制格式化结果的文件路径,显式使用 --output:
paper-fetch --query "10.1186/1471-2105-11-421" \
--format markdown \
--output ./papers/article.md \
--output-dir ./papers显式 --output <path> 只控制主输出文件路径,不会自动创建该文件的父目录。
安装脚本结束时会提示 Elsevier 官方 API 配置入口。抓取 Elsevier 全文前,需要从 https://dev.elsevier.com/ 申请 key,并在配置文件中填写 ELSEVIER_API_KEY。
配置文件
默认配置文件位置:
~/.config/paper-fetch/.env需要 API key、自定义下载目录或 User-Agent 时,可以先创建配置文件:
mkdir -p ~/.config/paper-fetch
cp .env.example ~/.config/paper-fetch/.env其中 Elsevier 官方 XML/API 和 PDF fallback 至少需要从 https://dev.elsevier.com/ 申请并配置:
ELSEVIER_API_KEY="..."也可以通过环境变量显式指定:
export PAPER_FETCH_ENV_FILE=/path/to/.env完整环境变量说明见 docs/providers.md。
接入 Codex
安装 skill 并注册 MCP server:
./scripts/install-codex-skill.sh --register-mcp带配置文件注册:
./scripts/install-codex-skill.sh --register-mcp --env-file ~/.config/paper-fetch/.env只安装到当前项目:
./scripts/install-codex-skill.sh --project --register-mcp安装后重启 Codex,让它重新扫描 skills 和 MCP 配置。
接入 Claude Code
./scripts/install-claude-skill.sh --register-mcp常用参数包括:
./scripts/install-claude-skill.sh --project --register-mcp
./scripts/install-claude-skill.sh --register-mcp --env-file ~/.config/paper-fetch/.env接入 Gemini CLI
安装 skill 并注册 MCP server:
./scripts/install-gemini-skill.sh --register-mcp带配置文件注册:
./scripts/install-gemini-skill.sh --register-mcp --env-file ~/.config/paper-fetch/.env只安装到当前项目:
./scripts/install-gemini-skill.sh --project --register-mcp如果本机没有 gemini CLI,脚本会安装 skill 并跳过自动 MCP 注册;安装 Gemini CLI 后可重跑同一命令。
手动注册 MCP
任何支持 stdio MCP 的 host 都可以直接运行:
paper-fetch-mcp或:
python3 -m paper_fetch.mcp.serverGemini CLI 可手动注册同一个 stdio server:
gemini mcp add -s user paper-fetch python3 -m paper_fetch.mcp.serverWSL 下给 Codex 挂 MCP 时,推荐使用仓库包装脚本:
./scripts/run-codex-paper-fetch-mcp.sh常用抓取参数
MCP 默认模式、artifact_mode、prefer_cache、no_download 和 save_markdown 的完整语义见 docs/providers.md。MCP artifact_mode 默认是 markdown-assets;strategy.asset_profile 支持 none、body、all,MCP/Python API 未显式设置时默认由 provider 决定。
更新
更新仓库后重新安装包和 agent 集成:
python3 -m pip install .
./scripts/install-codex-skill.sh --register-mcpClaude Code 用户对应执行:
./scripts/install-claude-skill.sh --register-mcpGemini CLI 用户对应执行:
./scripts/install-gemini-skill.sh --register-mcp文档
docs/deployment.md:安装、配置、MCP 注册和更新。docs/providers.md:provider 能力、环境变量和运行时配置。docs/README.md:完整文档导航。docs/architecture/overview.md:架构边界和维护者视角。
免责声明
本项目通过公开可访问的开放获取接口、publisher 路由和用户配置的凭据获取研究论文内容。
获取的文献仅供个人学术研究和学习使用,不得用于商业用途。
请遵守所在国家/地区著作权法律法规及所在机构的知识产权政策。
本项目不绕过付费墙或访问授权;可用性取决于 provider、凭据和本机运行环境。
本项目不存储、分发或传播任何文献内容,仅协助用户定位、抓取或转换用户有权访问的论文内容。
使用者应对自身的文献获取和使用行为承担全部责任。
社区
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Dictation354/paper-fetch-skill'
If you have feedback or need assistance with the MCP directory API, please join our Discord server