使用说明
ArXiv Insight MCP服务器
用于学术论文演示的MCP服务器。它揭示了arXiv的搜索、引用、, PDF/文本检索、最新搜索资源和可重复使用的评论提示。
它提供了什么
工具:
health_check:本地运行状况和缓存状态,不需要网络。search_arxiv:按主题、类别、排序顺序、年份范围和偏移量搜索arXiv。get_paper_fulltext:使用本地缓存下载和提取纸质文本。download_pdf:将PDF下载到本地downloads/仅目录。get_bibtex:为arXiv纸张ID生成BibTeX。extract_section:从缓存或下载的论文中提取命名部分。
资源:
papers://recent:最近的ID和标题search_arxiv结果。
提示:
review_paper:一篇论文的标准审查工作流程。compare_papers:多篇论文的比较工作流程。
需求
- Python 3.12+
uv- 网络访问arXiv用于搜索、PDF和BibTeX工具
该项目目前使用MCP Python SDK v1.x通过 mcp[cli]>=1.25.0.
在刷新依赖关系之前,请考虑添加 <2 SDK v2的上限
仍然是一条单独的预发布线。
安装
uv sync --frozen
跑
uv run main.py
默认情况下,服务器使用stdio传输,这是本地的预期模式 MCP客户端。
MCP客户端配置
来自兄弟姐妹 mcp-client 或 chainlit-mcp-client repo,使用:
{
"mcpServers": {
"arxiv-insight": {
"command": "uv",
"args": ["--directory", "../mcp-server", "run", "main.py"]
}
}
}
对于绝对Windows路径,请在JSON中转义反斜杠。
测试
本地烟雾测试不会联系arXiv或需要额外的开发依赖关系:
uv run python scripts/smoke_test.py
手动MCP检查员流程:
npx -y @modelcontextprotocol/inspector
在检查器中,使用命令配置stdio服务器 uv 参数:
--directory C:\absolute\path\to\mcp-server run main.py
第一个电话 health_check那么 search_arxiv 与一个小 max_results 如此
作为 3.
演示基线
此服务器已通过同级服务器验证 ../mcp-client Chainlit演示
在Windows和LM Studio本地服务器上:
- 端点:
http://localhost:1234/v1 - 型号标识符:
google/gemma-4-e4b - Chainlit中显示的资源:
papers://recent - MCP工具调用成功:
health_check那么search_arxiv
数据和安全说明
paper_cache/,downloads/,metadata_db.json,以及Log.txt是本地运行时工件。download_pdf验证arXiv ID并限制写入downloads/.- arXiv调用在共享客户端状态下的速率限制为3秒间隔。
- 为了提高演示的可读性,工具错误以文本形式返回;生产服务器应考虑结构化错误输出和更严格的审计。
故障排除
- 如果
uv run python scripts/smoke_test.py无法导入依赖项,请运行uv sync --frozen第一。 - 如果arXiv工具失败,但
health_check工作时,检查网络连接和arXiv可用性。 - 如果PDF提取速度较慢,请重复相同的纸张ID;缓存的文本应从以下位置重用
paper_cache/.
