arxiv-mcp-server:把 LaTeX 原文和 BibTeX 留在本地的文献工作流
A local MCP server for agent literature work. Original-LaTeX section reads, BibTeX from arXiv metadata, and topic watches. Papers stay on disk. Search is optional.
秒懂
- 它是什么?
- arxiv-mcp-server 是一个本地 MCP 服务器,让 agent 按「论文 ID → 大纲 → 单节 → 引用」的循环阅读 arXiv 原始 LaTeX 并生成 BibTeX。它刻意不做搜索,搜索是可选的。
- 适合谁用?
- 如果你用 Claude Code、Codex 或 Kiro 做文献工作,且核心痛点是摘要不够、需要看作者提交的 LaTeX 原文,同时希望引用数据来自 arXiv 权威元数据而不是模型幻觉,那么 arxiv-mcp-server 值得一试。它不适合需要全文检索、引文图谱或批量下载的场景,因为那些功能被刻意留给外部服务。
- 能商用吗?
- 可以。Apache-2.0 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 20 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的是摘要之外的阅读问题
arXiv 上的论文摘要往往不足以判断一篇工作是否值得深入。研究者通常需要翻到方法章节,看公式、看实验设置、看作者到底怎么写的。arxiv-mcp-server 的定位就是这个:它让 agent 直接读取作者提交的原始 LaTeX 源文件,并且一次只读一节。README 明确说,它的差异化在于 original-LaTeX section reads、从 arXiv 元数据生成 BibTeX,以及 topic watches。它服务的对象是那些已经在用 MCP 客户端(如 Claude Code、Codex、Kiro)做文献调研的人,而不是需要搜索引擎的普通读者。
工作循环:从论文 ID 到单节阅读
这个服务器的设计围绕一个明确的工作循环:paper ID → outline → one section → citations。也就是说,agent 先拿到一个 arXiv ID,然后获取论文大纲,接着只读取某一节的内容,最后从元数据中提取引用。这个循环刻意把阅读拆成小步,避免一次把整篇 LaTeX 塞进上下文窗口。README 强调「Papers stay on disk」,默认存储目录是 ~/.arxiv-mcp-server/papers,你可以通过 --storage-path 参数改变位置。这种设计意味着论文文件会缓存在本地,后续读取不必重复下载。
为什么它不是搜索包装器
项目 README 用了一个专门的小节来澄清这一点:「Why this is not a search wrapper」。搜索、源检索、引文图谱和下载都会调用各自的外部服务,真正留在本地的是文献循环本身:读取作者提交的 LaTeX、从 arXiv 权威元数据导出 BibTeX、把主题关注保存在磁盘上。这是个重要的架构取舍。很多 MCP 服务器试图把搜索和阅读揉在一起,结果就是每个功能都依赖不同的外部 API,失败点很多。arxiv-mcp-server 选择把搜索做成可选的,核心价值放在本地文件操作和元数据导出上。如果你需要全文搜索,这个服务器不是为那个场景设计的。
安装与配置:uvx 一条命令,但注意同名陷阱
默认安装方式是 uvx arxiv-mcp-server,前提是你已经装了 uv,因为 uvx 由 uv 提供。README 特别警告:PyPI 上有一个同名的 npm 包,两者无关,所以绝对不要用 npm、pnpm 或 npx arxiv-mcp-server 来安装。标准配置是给支持 mcpServers JSON 形状的客户端(如 Claude Desktop 和 Kiro)添加一段 stdio 配置,command 为 uvx,args 为 ["arxiv-mcp-server"]。如果要改存储目录,就在 args 里追加 "--storage-path", "/absolute/path/to/papers"。对于 Claude Code,可以用 claude mcp add --transport stdio --scope user arxiv -- uvx arxiv-mcp-server 一行命令添加。
客户端集成:从 Claude Code 插件到 Kiro Power
这个项目不只是提供一个 MCP 服务器,它还打包了针对不同客户端的集成方式。Claude Code 用户可以通过 claude plugin marketplace add blazickjp/arxiv-mcp-server 注册仓库,然后 claude plugin install arxiv-mcp-server@arxiv-mcp 来安装插件,插件会同时安装 MCP 连接和捆绑的 arXiv 研究技能。OpenAI Codex 有类似的 codex plugin marketplace add 和 codex plugin add 命令。Kiro 用户则可以在 Powers 面板里通过 GitHub URL 导入 Power,它会自动配置 MCP 连接。这种多客户端适配意味着项目维护者认真考虑了不同生态的配置差异,但代价是配置路径多样,新用户可能不知道该选哪种。
限制与失败模式:搜索可选,但依赖外部服务
最明显的限制是它不是一个完整的文献管理工具。README 反复强调搜索是可选的,意味着核心工具集里可能没有内置的全文检索能力。如果你需要跨论文搜索关键词,或者需要引文图谱的可视化,这个服务器帮不上忙,你得自己接外部服务。另一个隐患是名称冲突:PyPI 上存在同名的 npm 包,README 明确警告不要用 npx 安装,但新手很容易踩坑。此外,所有外部调用(搜索、源检索、下载)都依赖网络和 arXiv 的可用性,如果 arXiv 暂时不可达,那些功能就会失败,尽管本地已缓存的论文读取可能不受影响。
替代方案:与搜索型 MCP 服务器的差异
一个真实的替代方案是那些把 arXiv API 搜索封装成 MCP 工具的服务器,它们通常提供 search_papers 或 fetch_abstract 之类的工具,让 agent 先搜索再阅读摘要。这类服务器的核心差异在于它们把搜索作为一等公民,而 arxiv-mcp-server 把搜索降级为可选,把重心放在 LaTeX 原文的分节读取和 BibTeX 导出上。如果你需要的是快速找到相关论文,搜索型服务器可能更直接;但如果你已经知道论文 ID,想深入读方法细节,arxiv-mcp-server 的分节读取设计会更有优势,因为它避免了把整篇 LaTeX 一次性塞进上下文。
维护与许可:Apache-2.0 下的活跃开发
项目采用 Apache-2.0 许可证,这是一个宽松的许可,允许商用和修改,只要保留版权声明。从最近的发布记录看,v0.7.0、v0.7.1、v0.7.2 在 2026 年 8 月连续发布,说明维护活跃。README 显示它已列入官方 MCP registry,最新版本是 0.7.2。升级成本方面,由于默认通过 uvx 运行,每次启动都会拉取最新版本(除非你固定版本),这既是优点也是风险:新版本可能引入行为变化,但你可以通过指定版本号如 arxiv-mcp-server==0.7.2 来锁定。如果你在团队中部署,建议在配置里固定版本,避免 agent 行为因自动升级而漂移。
编辑结论
如果你用 Claude Code、Codex 或 Kiro 做文献工作,且核心痛点是摘要不够、需要看作者提交的 LaTeX 原文,同时希望引用数据来自 arXiv 权威元数据而不是模型幻觉,那么 arxiv-mcp-server 值得一试。它不适合需要全文检索、引文图谱或批量下载的场景,因为那些功能被刻意留给外部服务。安装前先确认两件事:你的客户端是否接受 mcpServers 的 stdio JSON 配置;以及你的 uv 版本是否可用,因为默认安装依赖 uvx。另外注意 PyPI 上有一个同名的 npm 包,务必用 uvx 而不是 npx 安装,否则会装错东西。
社区笔记