学术论文搜索与处理工具

ArXiv Insight MCP Server 是一个用于学术论文演示的MCP服务器,提供arXiv搜索、引用、PDF/文本检索、最近搜索资源和可重用的审阅提示。

  • by YI-TING-EE13
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 YI-TING-EE13/ArXiv-Insight-MCP-Server

使用说明

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/.