关于 Arxiv Mcp Server
arXiv MCP Server 是面向 arXiv.org 的 MCP 服务,供 AI 助手检索、分析和导出学术论文。它适合研究人员与文献调研人员,提供引文分析、趋势统计和多格式导出等功能。
主要功能
- 01论文关键词、作者与分类检索
- 02论文详情与格式化摘要
- 03引文指标与影响力估算
- 04研究趋势统计(发表数量、高产作者、关键词)
- 05BibTeX、JSON、CSV、Markdown 导出
适用场景
- 01让 AI 助手按主题或作者检索最新论文
- 02批量导出参考文献为 BibTeX 用于写作
- 03跟踪某一 arXiv 分类的研究热点变化
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 search_arxiv、get_paper、analyze_trends、export_papers 等工具,用于访问 arXiv 论文数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
arXiv MCP 服务客户端
一套全面的 Model Context Protocol(MCP)实现,用于与 arXiv.org 交互,让 AI 助手能够轻松搜索、获取、分析和导出学术论文。
🚀 功能
核心功能
- 论文搜索:使用关键词、作者、标题和类别进行高级搜索
- 论文获取:获取指定 arXiv 论文的详细元数据
- 智能摘要:生成包含关键信息的格式化论文摘要
高级工具
- 作者搜索:查找特定研究人员的所有论文
- 类别浏览:浏览 arXiv 特定类别的论文(cs.AI、cs.LG 等)
- 近期论文:获取最新发表的论文,并可自定义时间范围
- 论文比较:并排分析多篇论文
- 相关文章:使用智能匹配发现与指定作品相关的论文
- 引用分析:估算引用指标并分析影响力
- 趋势分析:分析研究趋势,包括发表数量、顶尖作者和关键词频率
- 多格式导出:以 BibTeX、JSON、CSV 和 Markdown 格式导出论文
📦 安装
使用 Poetry(推荐)
# Clone the repository
git clone https://github.com/yourusername/arxiv-mcp-client.git
cd arxiv-mcp-client
# Install dependencies
poetry install
# Activate virtual environment
poetry shell
使用 pip
# Install dependencies
pip install mcp httpx
# Run the client
python arxiv_mcp_client.py
🛠️ 用法
基本设置
import asyncio
from arxiv_mcp_client import ArxivMCPClient
async def main():
# Initialize client
client = ArxivMCPClient()
# Connect to MCP server
await client.connect("arxiv_mcp_server.py")
# Your code here...
# Close connection
await client.close()
asyncio.run(main())
搜索示例
# General search
results = await client.search_papers("transformer neural networks", max_results=10)
# Search by author
papers = await client.search_by_author("Geoffrey Hinton", max_results=20)
# Search by category
ai_papers = await client.search_by_category("cs.AI", max_results=15)
# Get recent papers
recent = await client.get_recent_papers("cs.LG", days_back=7, max_results=10)
论文分析
# Get paper details
paper = await client.get_paper_details("2301.07041")
# Get formatted summary
summary = await client.get_paper_summary("2301.07041")
# Compare papers
comparison = await client.compare_papers(
["2301.07041", "2302.13971"],
comparison_fields=["authors", "abstract", "categories"]
)
# Find related papers
related = await client.find_related_papers("2301.07041", max_results=10)
导出与分析
# Export to BibTeX
bibtex = await client.export_papers(
["2301.07041", "2302.13971"],
format="bibtex",
include_abstract=True
)
# Analyze research trends
trends = await client.analyze_trends(
category="cs.AI",
time_period="3_months",
analysis_type="top_authors"
)
🔧 可用工具
| 工具 | 描述 | 关键参数 |
|---|---|---|
search_arxiv | 通用论文搜索 | query, max_results, sort_by |
get_paper | 获取指定论文的详细信息 | arxiv_id |
summarize_paper | 生成格式化摘要 | arxiv_id |
search_by_author | 按作者查找论文 | author_name, max_results |
search_by_category | 浏览类别论文 | category, max_results, sort_by |
get_recent_papers | 获取最新发表的论文 | category, days_back, max_results |
compare_papers | 比较多篇论文 | arxiv_ids, comparison_fields |
find_related_papers | 发现相关研究 | arxiv_id, max_results |
get_paper_citations | 引用分析 | arxiv_id |
analyze_trends | 研究趋势分析 | category, time_period, analysis_type |
export_papers | 多格式导出 | arxiv_ids, format, include_abstract |
📊 支持的类别
计算机科学
cs.AI- 人工智能cs.LG- 机器学习cs.CV- 计算机视觉cs.CL- 计算与语言cs.CR- 密码学与安全cs.DB- 数据库cs.DS- 数据结构与算法
数学
math.CO- 组合数学math.ST- 统计理论math.PR- 概率math.OC- 优化与控制
物理学
physics.comp-ph- 计算物理physics.data-an- 数据分析quant-ph- 量子物理
📄 导出格式
BibTeX
@article{2301_07041,
title={Title of the Paper},
author={Author One and Author Two},
journal={arXiv preprint arXiv:2301.07041},
year={2023},
url={https://arxiv.org/abs/2301.07041}
}
JSON
{
"id": "2301.07041",
"title": "Title of the Paper",
"authors": ["Author One", "Author Two"],
"abstract": "Paper abstract...",
"published": "2023-01-17",
"categories": ["cs.AI", "cs.LG"]
}
CSV
id,title,authors,published,categories,url
2301.07041,Title of the Paper,"Author One; Author Two",2023-01-17,"cs.AI; cs.LG",https://arxiv.org/abs/2301.07041
🔍 搜索查询示例
基本搜索
# Keyword search
await client.search_papers("neural networks")
# Multiple keywords
await client.search_papers("transformer attention mechanism")
# Exact phrase
await client.search_papers('"large language models"')
高级搜索
# Author search
await client.search_by_author("Yoshua Bengio")
# Category search
await client.search_by_category("cs.AI")
# Recent papers in category
await client.get_recent_papers("cs.LG", days_back=14)
📈 趋势分析类型
发表数量分析
跟踪特定类别论文随时间的发表数量。
trends = await client.analyze_trends("cs.AI", "6_months", "publication_count")
# Returns: monthly publication counts
顶尖作者分析
识别指定时间段内某个领域发表论文最多的作者。
trends = await client.analyze_trends("cs.LG", "1_year", "top_authors")
# Returns: authors ranked by paper count
关键词频率分析
分析某个类别论文标题中最常见的关键词。
trends = await client.analyze_trends("cs.CV", "3_months", "keyword_frequency")
# Returns: keywords ranked by frequency
🚨 错误处理
客户端包含全面的错误处理机制:
try:
results = await client.search_papers("machine learning")
if "error" in results:
print(f"Search failed: {results['error']}")
else:
print(f"Found {len(results['papers'])} papers")
except Exception as e:
print(f"Connection error: {e}")
🔧 配置
速率限制
客户端遵循 arXiv 的 API 指南,并内置速率限制和超时处理。
自定义
# Custom timeout
client = ArxivMCPClient()
client.http_client = httpx.AsyncClient(timeout=60.0)
# Custom result limits
results = await client.search_papers("AI", max_results=50) # Max: 100
🤝 参与贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add amazing feature') - 推送到该分支(
git push origin feature/amazing-feature) - 发起 Pull Request
📝 许可证
本项目采用 MIT License 许可,详情请参阅 LICENSE 文件。
🙏 致谢
📞 支持
- 问题反馈:GitHub Issues
- 文档:Wiki
- 讨论:GitHub Discussions
为研究社区倾心打造 ❤️
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。