Arxiv Mcp Server

Arxiv Mcp Server

🚀 arXiv MCP Server

arXiv MCP Server是一个实现了模型上下文协议(MCP)的服务器,它提供了与arXiv API交互的工具,可用于搜索和获取学术论文。

🚀 快速开始

本服务器实现了模型上下文协议,为从arXiv预印本库中搜索和获取论文提供了工具。它允许AI助手通过各种标准搜索论文、获取特定论文的详细信息、按类别搜索以及从PDF中提取全文内容。

✨ 主要特性

  • 搜索论文:使用各种标准(标题、作者、摘要、类别等)搜索论文。
  • 获取论文详情:通过arXiv ID获取特定论文的详细信息。
  • 类别搜索:在特定的arXiv类别中搜索论文。
  • PDF内容提取:下载并提取论文PDF的全文内容。
  • 结构化结果:返回经过正确解析的JSON数据,而非原始XML。
  • 缓存机制:智能缓存PDF,避免重复下载。

📦 安装指南

前提条件

  • Node.js 18+
  • npm 或 pnpm

安装步骤

  1. 克隆此仓库:

    git clone https://github.com/your-username/arxiv-mcp-server.git
    cd arxiv-mcp-server
    
  2. 安装依赖:

    npm install
    
  3. 构建项目:

    npm run build
    

💻 使用示例

作为MCP服务器启动

启动服务器:

npm start

服务器将在标准输入输出上运行,允许它与MCP客户端进行通信。

MCP客户端配置

将以下配置添加到你的MCP客户端设置中。对于Claude Desktop,将其添加到claude_desktop_config.json文件中:

{
"mcpServers": {
"arxiv": {
"name": "arxiv-mcp-server",
"command": "node",
"args": ["build/index.js"],
"cwd": "C:/path/to/arxiv-mcp-server",
"enabled": true,
"alwaysAllow": [
"search_papers",
"get_paper",
"search_by_category",
"get_paper_content"
],
"env": {}
}
}
}

对于其他MCP客户端,使用类似的配置结构。请确保:

  • 更新cwd路径,指向你的arxiv-mcp-server目录。
  • 确保build/index.js文件存在(先运行npm run build)。
  • alwaysAllow数组列出了无需用户确认即可使用的工具。

基础用法

search_papers

通过各种标准在arXiv上搜索论文,具有灵活的查询选项。 参数

  • query(字符串,可选):跨所有字段的通用搜索查询。
  • category(字符串,可选):arXiv类别(例如cs.AIphysics.optics)。
  • author(字符串,可选):要搜索的作者姓名。
  • title(字符串,可选):要在标题中搜索的单词。
  • abstract(字符串,可选):要在摘要中搜索的单词。
  • start(数字,可选):分页的起始索引(从0开始,默认值:0)。
  • max_results(数字,可选):返回的最大结果数(最大2000,默认值:10)。
  • sort_by(字符串,可选):按relevancelastUpdatedDatesubmittedDate排序。
  • sort_order(字符串,可选):排序顺序为ascendingdescending

示例响应

{
"feed_title": "arXiv Query: search_query=all:machine+learning",
"total_results": 150000,
"start_index": 0,
"items_per_page": 10,
"papers": [
{
"id": "http://arxiv.org/abs/2104.13478",
"arxiv_id": "2104.13478",
"title": "Advanced Machine Learning Techniques",
"summary": "This paper discusses advanced machine learning techniques...",
"authors": ["John Smith", "Jane Doe"],
"published": "2021-04-28T09:00:00Z",
"updated": "2021-04-28T09:00:00Z",
"categories": ["cs.LG", "cs.AI"],
"links": [
{
"href": "http://arxiv.org/abs/2104.13478",
"rel": "alternate",
"type": "text/html"
}
]
}
]
}

get_paper

通过arXiv ID获取特定论文的详细信息。 参数

  • paper_id(字符串,必需):arXiv论文ID(例如2104.13478cs/0001001)。 返回:与search_papers相同的结构化格式,但仅针对单篇论文。

search_by_category

在特定的arXiv类别中搜索论文,支持分页和排序选项。 参数

  • category(字符串,必需):arXiv类别(例如cs.AIphysics.optics)。
  • start(数字,可选):分页的起始索引(从0开始)。
  • max_results(数字,可选):返回的最大结果数(最大2000)。
  • sort_by(字符串,可选):按relevancelastUpdatedDatesubmittedDate排序。
  • sort_order(字符串,可选):排序顺序为ascendingdescending

get_paper_content

下载并提取论文PDF的全文内容。 参数

  • paper_id(字符串,必需):arXiv论文ID(例如2104.13478)。 特性
  • 从arXiv服务器下载PDF。
  • 本地缓存PDF,避免重复下载。
  • 使用pdf-parse提取并清理文本内容。
  • 优雅地处理网络错误和解析问题。
  • 返回适合分析的纯文本内容。 返回:论文的纯文本内容。

📚 详细文档

常见arXiv类别

  • cs.AI - 人工智能
  • cs.LG - 机器学习
  • cs.CL - 计算与语言
  • cs.CV - 计算机视觉与模式识别
  • physics.optics - 光学
  • math.CO - 组合数学
  • stat.ML - 机器学习(统计学)

完整列表请参阅arXiv主题分类

开发相关

运行测试

npm test

构建项目

npm run build

开发时的监听模式

npm run test:watch

API参考

本服务器使用官方的arXiv API。更多信息请参考:

贡献代码

请阅读CONTRIBUTING.md,了解我们的行为准则和提交拉取请求的流程。

📄 许可证

本项目采用MIT许可证 - 详情请参阅LICENSE文件。

🔧 技术细节

版本更新日志

v0.1.0(初始版本)

  • 基本的arXiv API集成。
  • 多条件搜索论文。
  • 获取单篇论文详情。
  • 基于类别的搜索。
  • 带缓存的PDF内容提取。
  • 结构化JSON响应解析。
  • MCP协议实现。
  • 0 关注
  • 0 收藏,38 浏览
  • system 提出于 2025-09-21 14:03

相似服务问题

相关AI产品