@yc-w-cn/arxiv-mcp-server
v1.2.0
Published
一个基于 arXiv 的论文搜索与下载工具,支持 MCP 协议
Downloads
24
Maintainers
Readme
ArXiv MCP Server
一个基于 arXiv 的论文搜索与下载工具。支持 Model Context Protocol (MCP) 标准,提供 arXiv 论文搜索、PDF 下载和文本提取功能,适合自用或自动化工具集成。
功能亮点
- 🔍 arXiv 论文智能搜索:关键词检索,快速定位你关心的论文
- 📥 一键下载 PDF:自动获取并保存原始论文
- � PDF 文本提取:从 PDF 文件中提取原始文本内容
- 🗑️ 一键清理文件:支持一键清空所有历史处理文件,避免空间积压
每个文件处理工具都会返回实际保存的文件名,方便你集成到任何自动化流程!
安装使用
NPX 方式(推荐)
pnpx @yc-w-cn/arxiv-mcp-server全局安装
pnpm install -g @yc-w-cn/arxiv-mcp-server
arxiv-mcp-server配置要求
环境变量
在使用前,请设置工作目录环境变量:
# 必需:工作目录
export WORK_DIR="/path/to/your/data/directory"或者使用默认工作目录 .data(无需设置环境变量)
MCP 客户端配置
Claude Desktop 配置
在 Claude Desktop 的配置文件中添加:
{
"mcpServers": {
"arxiv-mcp-server": {
"command": "npx",
"args": ["-y", "@yc-w-cn/arxiv-mcp-server@latest"],
"env": {
"WORK_DIR": "/path/to/your/data/directory"
}
}
}
}配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
其他 MCP 客户端
对于其他支持 MCP 的客户端,请参考其文档配置 stdio 传输方式。
可用工具与参数
每个工具处理后都会返回保存的文件名,便于后续追踪或下载。
1. 搜索论文
工具名:
search_arxiv参数:
query:关键词maxResults:返回论文数(可选,默认 5)
2. 下载PDF
工具名:
download_arxiv_pdf参数:
input:arXiv 论文 URL 或 arXiv ID(如:2403.15137v1)
3. 解析PDF文本
工具名:
parse_pdf_to_text参数:
arxivId:arXiv 论文 ID
4. 完整流程处理
工具名:
process_arxiv_paper参数:
arxivId:arXiv 论文 ID
5. 清理所有历史文件
- 工具名:
clear_workdir - 参数: 无
文件输出规范
所有生成文件均保存至工作目录,文件名规则如下:
{arxivId}.pdf- 原始 PDF{arxivId}_text.txt- 提取的文本内容- (你可以用工具返回值直接获取这些文件名)
执行 clear_workdir 会一键删除工作区全部文件,务必谨慎操作!
使用流程示例
- 搜索论文
使用
search_arxiv工具搜索相关论文 - 下载 PDF
用
download_arxiv_pdf工具拉取 PDF - 提取文本内容
用
parse_pdf_to_text工具从 PDF 中提取文本 - 完整处理流程
用
process_arxiv_paper工具一次性完成搜索、下载和文本提取 - 清理历史文件
用
clear_workdir工具一键清空所有产出文件
开发指南
本地开发
# 克隆项目
git clone https://github.com/yc-w-cn/arxiv-mcp-server.git
cd arxiv-mcp-server
# 安装依赖
pnpm install
# 开发模式运行
pnpm run dev
# 构建
pnpm run build
# 运行构建版本
pnpm start项目结构
arxiv-mcp-server/
├── src/ # 源代码目录
├── dist/ # 编译输出目录
├── package.json # 项目配置
├── tsconfig.json # TypeScript 配置
├── README.md # 项目说明
└── .data/ # 默认工作目录
├── {arxivId}.pdf # 下载的PDF文件
└── {arxivId}_text.txt # 提取的文本内容自定义扩展
您可以根据需要扩展以下功能:
- PDF解析器:集成更强大的PDF解析库(如 pdf-parse)
- 更多格式:支持导出为其他格式(如HTML、Word等)
- 批量处理:支持批量处理多篇论文
- 缓存机制:添加智能缓存以提高性能
技术栈
- Node.js >= 18.0.0
- TypeScript - 类型安全的JavaScript
- Model Context Protocol - 标准化的AI上下文协议
- arXiv API - 学术论文数据源
- PDF解析库 - 文本提取和处理
故障排除
常见问题
论文下载失败
错误:下载失败: Request failed with status code 404 解决:检查 arXiv ID 是否正确,确保网络连接正常工作目录权限问题
错误:EACCES: permission denied 解决:确保工作目录有写入权限,或设置 WORK_DIR 到有权限的目录
日志调试
启用详细日志:
DEBUG=arxiv-mcp-server pnpx @yc-w-cn/arxiv-mcp-server贡献指南
欢迎贡献代码!请遵循以下步骤:
- Fork 本项目
- 创建特性分支:
git checkout -b feature/amazing-feature - 提交更改:
git commit -m 'Add amazing feature' - 推送分支:
git push origin feature/amazing-feature - 创建 Pull Request
开发规范
- 使用 TypeScript 进行类型安全开发
- 遵循 ESLint 代码规范
- 添加适当的错误处理
- 编写清晰的注释和文档
许可证
本项目采用 MIT 许可证。详情请见 LICENSE 文件。
作者信息
- 作者: Yuchen Wang
- 邮箱: [email protected]
- GitHub: https://github.com/yc-w-cn
更新日志
v1.2.0 (2025-11-22)
- 🗑️ 移除不想要的功能
- 📦 更新打包工具
v1.0.0 (2024-12-19) - 原作者
- ✨ 初始版本发布
- 🔍 支持 arXiv 论文搜索
- 📥 支持 PDF 下载
- � 支持 PDF 文本提取
- � 支持完整处理流程
相关链接
支持
如果您觉得这个项目有用,请给它一个 ⭐!
如有问题或建议,请通过以下方式联系:
- 📧 邮箱:[email protected]
- 🐛 GitHub Issues:项目问题追踪
- 💬 GitHub Discussions:项目讨论区
