返回 MCP 目录
public公开dns本地运行

arxiv-mcp-server

一个基于Model Context Protocol的arXiv论文检索服务,提供搜索、获取论文详情、按分类检索及PDF全文提取功能。

article

README

🚀 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协议实现。
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端