arxiv-mcp-server
Manages arXiv papers: search, download, analyze, and save AI-generated summaries. Enables AI assistants to interact with the arXiv platform.
README
arXiv MCP Server (Python版本)
一个功能强大的arXiv论文管理MCP (Model Context Protocol) 服务器,支持搜索、下载、分析和管理arXiv论文。专为AI助手设计,让大模型能够高效地与arXiv平台交互。
🚀 功能特性
- 🔍 智能搜索: 支持关键词搜索、分类筛选、排序等,返回完整摘要
- 📥 PDF下载: 单个或批量下载论文PDF,支持智能文件名
- 📋 论文详情: 获取论文的完整信息(标题、作者、摘要等)
- 📊 额外信息: 提取DOI、引用信息等
- 📝 AI分析保存: 提供工具让大模型保存分析结果
- 📁 文件管理: 列出已下载的论文、删除文件等
- 🌐 多语言支持: 支持中文和英文文档
- 🎯 统一文件组织: 所有相关文件集中管理,便于查找
📦 安装
方法1: 从源码安装
# 克隆项目
git clone <repository-url>
cd arxiv-mcp-server
# 创建虚拟环境(推荐)
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 安装开发模式
pip install -e .
方法2: 使用pip安装
pip install arxiv-mcp-server
🎯 快速开始
1. 运行测试服务器
python test_server.py
2. 直接运行服务器
python -m arxiv_mcp_server.main
3. 使用命令行工具运行
arxiv-mcp-server
4. 使用uvx运行(推荐用于开发)
# 首次运行时会自动安装依赖
uvx arxiv-mcp-server
5. 在Claude Desktop中配置
{
"mcpServers": {
"arxiv": {
"command": "arxiv-mcp-server",
"args": [],
"env": {}
}
}
}
或者使用模块方式:
{
"mcpServers": {
"arxiv": {
"command": "python",
"args": ["-m", "arxiv_mcp_server.main"],
"env": {}
}
}
}
或者使用uvx方式:
{
"mcpServers": {
"arxiv": {
"command": "uvx",
"args": ["arxiv-mcp-server"],
"env": {}
}
}
}
5. 开始使用
用户: "帮我搜索关于transformer的最新论文"
助手: [调用search_papers工具]
用户: "下载论文2301.12345,文件名要包含标题"
助手: [调用download_paper工具]
用户: "请分析这篇论文并生成总结"
助手: [分析后调用save_paper_summary工具]
🛠️ 可用工具
基础功能
1. search_papers - 搜索论文
搜索arXiv论文,支持多种筛选和排序选项。
参数:
query(必需): 搜索查询字符串maxResults(可选): 最大结果数量,默认10start(可选): 起始位置,默认0sortBy(可选): 排序方式 (relevance/lastUpdatedDate/submittedDate)sortOrder(可选): 排序顺序 (ascending/descending)
示例:
{
"name": "search_papers",
"arguments": {
"query": "machine learning",
"maxResults": 5,
"sortBy": "lastUpdatedDate"
}
}
2. get_paper_by_id - 获取论文详情
根据arXiv ID获取论文的详细信息。
参数:
paperId(必需): arXiv论文ID,如 "2301.12345"
示例:
{
"name": "get_paper_by_id",
"arguments": {
"paperId": "2301.12345"
}
}
3. download_paper - 下载论文PDF
下载指定论文的PDF文件。
参数:
paperId(必需): arXiv论文IDoutputDir(可选): 输出目录,默认 "./papers"filename(可选): 文件名,默认 "{paperId}.pdf" 或 "{title}_{paperId}.pdf"overwrite(可选): 是否覆盖已存在的文件,默认falseincludeTitle(可选): 是否在文件名中包含论文标题,默认true
示例:
{
"name": "download_paper",
"arguments": {
"paperId": "2301.12345",
"includeTitle": true,
"overwrite": true
}
}
4. batch_download_papers - 批量下载论文
批量下载多个论文的PDF文件。
参数:
paperIds(必需): 论文ID列表outputDir(可选): 输出目录,默认 "./papers"overwrite(可选): 是否覆盖已存在的文件,默认false
示例:
{
"name": "batch_download_papers",
"arguments": {
"paperIds": ["2301.12345", "2301.12346", "2301.12347"],
"outputDir": "./batch-downloads"
}
}
5. list_downloaded_papers - 列出已下载的论文
列出指定目录中已下载的论文文件。
参数:
outputDir(可选): 下载目录,默认 "./papers"
示例:
{
"name": "list_downloaded_papers",
"arguments": {
"outputDir": "./my-papers"
}
}
6. get_paper_additional_info - 获取论文额外信息
获取论文的额外信息,如DOI、引用信息等。
参数:
paperId(必需): arXiv论文ID
示例:
{
"name": "get_paper_additional_info",
"arguments": {
"paperId": "2301.12345"
}
}
AI分析保存功能
7. save_paper_summary - 保存论文总结
保存AI模型生成的论文总结。
参数:
paperId(必需): arXiv论文IDtitle(必需): 论文标题summary(必需): AI生成的总结内容outputDir(可选): 输出目录,默认 "./papers"language(可选): 文档语言 (zh/en),默认"zh"
示例:
{
"name": "save_paper_summary",
"arguments": {
"paperId": "2301.12345",
"title": "Attention Is All You Need",
"summary": "这篇论文提出了Transformer架构...",
"language": "zh"
}
}
8. save_paper_analysis - 保存论文详细分析
保存AI模型生成的详细分析。
参数:
paperId(必需): arXiv论文IDtitle(必需): 论文标题analysis(必需): AI生成的详细分析内容outputDir(可选): 输出目录,默认 "./papers"language(可选): 文档语言 (zh/en),默认"zh"
示例:
{
"name": "save_paper_analysis",
"arguments": {
"paperId": "2301.12345",
"title": "Attention Is All You Need",
"analysis": "## 技术架构分析\n\n### 1. 注意力机制\n...",
"language": "zh"
}
}
9. save_custom_analysis - 保存自定义分析
保存AI模型生成的自定义分析。
参数:
paperId(必需): arXiv论文IDtitle(必需): 论文标题analysis(必需): AI生成的分析内容analysisType(必需): 分析类型(如:技术分析、创新点分析等)outputDir(可选): 输出目录,默认 "./papers"language(可选): 文档语言 (zh/en),默认"zh"
示例:
{
"name": "save_custom_analysis",
"arguments": {
"paperId": "2301.12345",
"title": "Attention Is All You Need",
"analysis": "## 创新点分析\n\n1. 首次提出完全基于注意力的架构\n...",
"analysisType": "创新点和局限性分析",
"language": "zh"
}
}
10. list_analysis_files - 列出已保存的分析文件
列出已保存的分析文件。
参数:
outputDir(可选): 分析文件目录,默认 "./papers"
示例:
{
"name": "list_analysis_files",
"arguments": {
"outputDir": "./papers"
}
}
🔄 完整工作流程示例
工作流程
- 搜索论文 → 2. 下载PDF → 3. AI分析 → 4. 保存结果
详细示例
步骤1: 搜索论文
用户: "帮我搜索关于transformer的最新论文"
MCP工具调用:
{
"name": "search_papers",
"arguments": {
"query": "transformer",
"maxResults": 5,
"sortBy": "lastUpdatedDate"
}
}
步骤2: 下载论文
用户: "下载论文2301.12345,文件名要包含标题"
MCP工具调用:
{
"name": "download_paper",
"arguments": {
"paperId": "2301.12345",
"includeTitle": true
}
}
步骤3: AI分析论文
用户: "请分析这篇论文并生成总结"
AI模型分析后,调用保存工具:
{
"name": "save_paper_summary",
"arguments": {
"paperId": "2301.12345",
"title": "Attention Is All You Need",
"summary": "这篇论文提出了Transformer架构,这是第一个完全基于注意力机制的序列到序列模型...",
"language": "zh"
}
}
步骤4: 保存详细分析
用户: "请对这篇论文进行详细的技术分析"
AI模型分析后,调用保存工具:
{
"name": "save_paper_analysis",
"arguments": {
"paperId": "2301.12345",
"title": "Attention Is All You Need",
"analysis": "## 技术架构分析\n\n### 1. 注意力机制\n该论文的核心创新是提出了多头自注意力机制...",
"language": "zh"
}
}
步骤5: 保存自定义分析
用户: "请分析这篇论文的创新点和局限性"
AI模型分析后,调用保存工具:
{
"name": "save_custom_analysis",
"arguments": {
"paperId": "2301.12345",
"title": "Attention Is All You Need",
"analysis": "## 创新点分析\n\n### 1. 架构创新\n- 首次提出完全基于注意力的序列到序列模型\n- 摒弃了传统的循环神经网络和卷积神经网络\n- 开创了新的深度学习范式\n\n### 2. 技术创新\n- 多头注意力机制的设计\n- 位置编码的创新应用\n- 残差连接和层归一化的组合\n\n### 3. 性能突破\n- 在机器翻译任务上取得显著提升\n- 训练速度大幅提升\n- 并行化能力增强\n\n## 局限性分析\n\n### 1. 计算复杂度\n- 注意力机制的计算复杂度为O(n²)\n- 对长序列的处理能力有限\n- 内存消耗较大\n\n### 2. 数据需求\n- 需要大量训练数据\n- 对数据质量要求较高\n- 预训练成本高\n\n### 3. 解释性\n- 注意力权重的解释性有限\n- 模型决策过程不够透明\n- 调试困难",
"analysisType": "创新点和局限性分析",
"language": "zh"
}
}
助手: 分析完成!我已经为你生成了三个文件:
- 论文总结:概述了论文的主要贡献和结果
- 详细分析:深入分析了技术架构和实现细节
- 创新点和局限性分析:评估了论文的贡献和不足
所有文件都保存在 papers/ 目录下,文件名包含了论文ID和标题,方便你查找和管理。
💡 使用建议
- 工作流程: 搜索 → 下载 → AI分析 → 保存结果
- 文件管理: 所有相关文件使用统一的命名格式
- 分析类型: 可以根据需要保存不同类型的分析
- 语言选择: 支持中文和英文文档
- 文件组织: 所有文件集中在一个目录,便于管理
🚨 注意事项
- API限制: arXiv API有请求频率限制,请合理使用
- 文件存储: 下载的PDF文件和分析文档保存在
./papers目录 - 网络连接: 需要稳定的网络连接来访问arXiv
- 文件权限: 确保有足够的权限创建目录和文件
- 存储空间: PDF文件和分析文档会占用一定空间
🔍 故障排除
常见问题
- 搜索失败: 检查网络连接和搜索关键词
- 下载失败: 检查论文ID和磁盘空间
- 分析失败: 检查论文信息是否完整
调试方法
# 运行测试服务器
python test_server.py
# 查看详细日志
python -m arxiv_mcp_server.main
🎉 新功能亮点
- 智能文件名: 支持包含论文标题的文件名格式
- 完整摘要: 搜索工具返回完整的论文摘要,便于AI分析
- AI分析保存: 提供工具让大模型保存自己的分析结果
- 批量处理: 支持批量下载和分析
- 多语言支持: 支持中文和英文文档
- 结构化输出: 生成格式化的Markdown文档
- 统一文件组织: 所有相关文件集中管理,便于查找
🔮 未来改进
- AI集成: 集成更智能的AI服务来改进分析质量
- PDF解析: 直接解析PDF内容进行更深入的分析
- 引用分析: 分析论文的引用关系
- 可视化: 生成图表和可视化内容
- 缓存机制: 添加缓存来提高性能
🛠️ 开发
# 安装开发依赖
pip install -e .
# 运行测试
python test_server.py
# 构建包
python -m build
# 运行服务器(方式1:命令行工具)
arxiv-mcp-server
# 运行服务器(方式2:模块方式)
python -m arxiv_mcp_server.main
# 运行服务器(方式3:使用uvx,推荐用于开发)
uvx arxiv-mcp-server
📄 许可证
MIT License
🤝 贡献
欢迎提交Issue和Pull Request来改进这个项目!
这个项目专为AI助手设计,让大模型能够高效地与arXiv平台交互,实现智能的论文管理和分析。
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.