关于 📚 arXiv MCP Server
📚 arXiv MCP Server 将 arXiv 论文检索接入 AI 助手工作流,适合需要查找和查看学术研究的用户。它提供高级查询构造与论文元数据检索;PDF 下载功能目前存在重定向问题。
主要功能
- 01按关键词和字段检索论文
- 02获取论文完整元数据
- 03构造多字段高级查询
- 04列出 arXiv 学科分类
适用场景
- 01查找特定主题或作者的论文
- 02筛选指定分类下的研究
- 03查看论文作者、摘要和出版信息
MCP 相关
该 MCP 服务向客户端提供论文搜索、详情查询、高级查询构造和分类列表工具。搜索结果附有摘要和链接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
通过模型上下文协议访问全球最大的学术论文库
一个精简的 模型上下文协议 服务,可将 AI 助手连接到 arXiv 丰富的学术论文库。可直接在 AI 工作流中搜索、分析和下载研究论文。
🚀 快速开始
先决条件
- Python 3.12+
- uv 包管理器
安装
选项 1:Docker(推荐)
# Pull and run the Docker image
docker run --rm -it ghcr.io/tejas242/arxiv-mcp:latest
# Or using docker-compose
git clone https://github.com/tejas242/arxiv-mcp.git
cd arxiv-mcp
docker compose up
选项 2:本地开发
# Clone and setup
git clone https://github.com/tejas242/arxiv-mcp.git
cd arxiv-mcp
uv sync
# Test the server
uv run main.py
🛠️ 可用功能
| 功能 | 状态 | 描述 | 参数 |
|---|---|---|---|
search_papers | ✅ 正常运行 | 使用灵活的查询语法搜索 arXiv 论文 | query、max_results、sort_by、sort_order |
get_paper_details | ✅ 正常运行 | 获取任意 arXiv 论文的完整元数据 | arxiv_id |
build_advanced_query | ✅ 正常运行 | 通过多个字段构建复杂搜索查询 | title_keywords、author_name、category、abstract_keywords |
get_arxiv_categories | ✅ 正常运行 | 列出所有可用的 arXiv 学科类别 | 无 |
search_by_author | ⚠️ 有限支持 | 按特定作者查找论文(建议改用 search_papers) | author_name、max_results |
search_by_category | ⚠️ 有限支持 | 按类别浏览论文(建议改用 search_papers) | category、max_results |
download_paper_pdf | 🔧 需要修复 | 下载论文 PDF(重定向处理问题) | arxiv_id、save_path |
功能详情
✅ 完全可用的功能
search_papers - 主要搜索功能
- 支持完整的 arXiv 查询语法
- 支持关键词、作者、类别和标题
- 可配置排序和分页
- 返回包含摘要和链接的格式化结果
get_paper_details - 论文详细信息
- 提取完整元数据
- 作者信息及所属机构
- 类别分类和链接
- 发表日期和更新记录
build_advanced_query - 查询构建辅助工具
- 组合多个搜索条件
- 支持标题、作者、类别和摘要搜索
- 返回格式正确的查询字符串
get_arxiv_categories - 类别参考
- arXiv 学科类别完整列表
- 每个类别的描述
- 有助于构建有针对性的搜索
⚠️ 功能有限(有可用的替代方案)
search_by_author - 请改用 search_papers('au:"Author Name"')
search_by_category - 请改用 search_papers('cat:category_code')
🔧 需要修复的功能
download_paper_pdf - 需要改进 HTTP 重定向处理
- 目前因 HTTPS/HTTP 重定向问题而失败
- 可通过搜索结果中提供的链接直接访问 PDF
⚙️ 配置
Claude Desktop 设置
配置说明
本地安装:
将以下内容添加到 Claude Desktop 配置文件中:
macOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"arxiv-mcp": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/arxiv-mcp",
"run",
"main.py"
]
}
}
}
Docker 安装:
{
"mcpServers": {
"arxiv-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/tejas242/arxiv-mcp:latest"
]
}
}
}
VS Code MCP 扩展
VS Code 配置
{
"mcp": {
"servers": {
"arxiv-mcp": {
"command": "uv",
"args": ["--directory", "/path/to/arxiv-mcp", "run", "main.py"]
}
}
}
}
💡 使用示例
核心搜索操作
# Search for papers about transformers
search_papers("transformer architecture")
# Advanced query with specific fields
search_papers('ti:"attention mechanism" AND cat:cs.LG')
# Author-specific search (recommended approach)
search_papers('au:"Geoffrey Hinton"')
# Category browsing (recommended approach)
search_papers('cat:cs.AI')
研究工作流
# 1. Find the famous "Attention" paper
search_papers('ti:"Attention Is All You Need"')
get_paper_details("1706.03762")
# 2. Explore related work
search_papers("transformer neural networks")
# 3. Build complex queries
query = build_advanced_query(
title_keywords="few-shot learning",
author_name="Tom Brown",
category="cs.LG"
)
search_papers(query)
📊 arXiv 分类参考
热门分类
| 代码 | 描述 | 示例主题 |
|---|---|---|
cs.AI | 人工智能 | 机器学习、神经网络、AI 理论 |
cs.LG | 机器学习 | 深度学习、强化学习、统计学习 |
cs.CV | 计算机视觉 | 图像处理、目标检测、视觉识别 |
cs.CL | 计算与语言 | NLP、语言模型、文本处理 |
cs.CR | 密码学与安全 | 安全协议、加密、隐私 |
stat.ML | 机器学习(统计学) | 统计学习理论、贝叶斯方法 |
physics.gen-ph | 普通物理学 | 理论物理、量子力学 |
math.NA | 数值分析 | 计算数学、算法 |
q-bio.NC | 定量生物学 | 神经科学、计算生物学 |
使用 get_arxiv_categories() 获取完整的可用分类列表。
🧪 测试结果
根据对所有功能进行的全面测试:
✅ 稳定可靠的功能
- 按关键词、作者和分类搜索论文:成功率 100%
- 获取论文详情:完整元数据提取功能正常
- 构造查询:支持所有语法组合
- 分类列表:可访问所有 arXiv 分类
⚠️ 建议使用替代方式
- 作者搜索:请使用
search_papers('au:"Author Name"'),而非search_by_author() - 分类浏览:请使用
search_papers('cat:category'),而非search_by_category()
🔧 已知问题
- PDF 下载:需要改进重定向处理(可通过直接链接访问 PDF)
🔧 开发
项目结构
arxiv-mcp/
├── src/arxiv_mcp/ # Main package
│ ├── server.py # MCP server implementation
│ ├── arxiv_client.py # arXiv API wrapper
│ ├── models.py # Pydantic data models
│ └── utils.py # Helper functions
├── tests/ # Test suite
├── main.py # Entry point
└── pyproject.toml # Project config
运行测试
uv run pytest tests/ -v
调试模式
# Enable detailed logging
PYTHONPATH=src uv run python -c "
import logging
logging.basicConfig(level=logging.DEBUG)
from arxiv_mcp.server import main
main()
"
⚠️ 故障排除
常见问题与解决方案
未检测到服务
- ✅ 确认 MCP 配置中使用的是绝对路径
- ✅ 测试服务是否能运行:
uv run main.py - ✅ 更改配置后重启 Claude Desktop
搜索问题
- ✅ 使用 arXiv 查询语法(参见上方示例)
- ✅ 检查分类名称:
get_arxiv_categories() - ✅ 尝试使用更宽泛的搜索词
- ✅ 使用
search_papers(),而非特定搜索函数
PDF 下载失败
- ✅ 通过搜索结果中的链接访问 PDF
- ✅ 检查互联网连接
- ✅ 确认 arXiv ID 格式(例如,“1706.03762”)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。