论文检索服务器

一个用于访问OpenReview数据以进行研究和分析的模型上下文协议(MCP)服务器,支持用户搜索、论文获取和数据导出功能。

  • by anyakors
  • Python
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 anyakors/openreview-mcp-server

使用说明

OpenReview MCP服务器

一种模型上下文协议(MCP)服务器,提供对OpenReview数据的访问,用于研究和分析。该服务器允许您搜索用户、获取论文,并从主要的机器学习会议(ICML、ICLR、NeurIPS)导出研究数据。

特性

  • 用户搜索:通过电子邮件地址查找OpenReview个人资料
  • 论文检索:获取特定作者的所有论文
  • 会议论文:从特定场所(ICLR、NeurIPS、ICML)和年份获取论文
  • 关键词搜索:在多个会议上按关键字搜索论文
  • JSON和PDF导出:将搜索结果导出为PDF和JSON文件,便于阅读或进一步分析以及使用编码助手

安装

1.克隆存储库

git clone https://github.com/yourusername/openreview-mcp-server.git
cd openreview-mcp-server

2.创建并激活虚拟环境

python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

3.安装包装

pip install -e .

光标配置

步骤1:获取您的OpenReview凭据

您需要您的OpenReview帐户电子邮件和密码。

步骤2:查找您的Cursor MCP配置文件

运行cmd+shift+P打开命令面板,找到将引导您进入MCP.json的MCP设置,或查找:

光标: ~/.cursor/mcp.json

步骤3:添加OpenReview MCP服务器

打开MCP配置文件并添加 openreview 服务器到 mcpServers 章节:

{
  "mcpServers": {
    "openreview": {
      "command": "/ABSOLUTE/PATH/TO/openreview-mcp-server/venv/bin/python",
      "args": ["-m", "openreview_mcp_server"],
      "cwd": "/ABSOLUTE/PATH/TO/openreview-mcp-server",
      "env": {
        "OPENREVIEW_USERNAME": "your_email@domain.com",
        "OPENREVIEW_PASSWORD": "your_password",
        "OPENREVIEW_BASE_URL": "https://api2.openreview.net",
        "OPENREVIEW_DEFAULT_EXPORT_DIR": "./openreview_exports"
      }
    }
  }
}

重要提示:

  • 替换 /ABSOLUTE/PATH/TO/openreview-mcp-server 根据实际路径(例如。, /Users/yourname/workspace/openreview-mcp-server)
  • 替换 your_email@domain.com 和 your_password 使用您的OpenReview凭据
  • 使用venv Python解释器的完整路径(以结尾 /venv/bin/python)

配置示例:

{
  "mcpServers": {
    "openreview": {
      "command": "/Users/john/workspace/openreview-mcp-server/venv/bin/python",
      "args": ["-m", "openreview_mcp_server"],
      "cwd": "/Users/john/workspace/openreview-mcp-server",
      "env": {
        "OPENREVIEW_USERNAME": "john@university.edu",
        "OPENREVIEW_PASSWORD": "mySecurePassword123",
        "OPENREVIEW_BASE_URL": "https://api2.openreview.net",
        "OPENREVIEW_DEFAULT_EXPORT_DIR": "./openreview_exports"
      }
    }
  }
}

步骤4:重新启动游标

完全退出并重新打开Cursor以加载MCP服务器。

用法

配置完毕并重新启动Cursor后,您可以使用自然语言与OpenReview MCP服务器进行交互:

示例查询:

搜索论文:

Search OpenReview for papers about "multimodal tokenization" from ICML 2025, ICLR 2025 and NeurIPS 2025

获取您自己的文件:

Get my papers from OpenReview using email researcher@university.edu

导出PDF文件:

Export papers about "multimodal tokenization" from ICLR 2024, download PDFs and extract text

获取会议论文:

Show me all papers from NeurIPS 2024

服务器将自动:

  • 从OpenReview获取论文
  • 在标题、摘要和作者之间搜索
  • 从PDF下载和提取文本
  • 将结果导出为JSON以供进一步分析

导出的文件保存到 ./openreview_exports/ 默认情况下(或您的自定义目录)。

输出示例

可用工具

搜索用户

通过电子邮件地址查找用户资料。

search_user(email="researcher@university.edu", include_publications=true)

用户页面

获取特定用户发表的所有论文。

输入架构:

字段 类型 描述 必填 默认 允许值
email string 要取论文的用户的电子邮件地址 是 -- --
format string 响应格式:摘要或详细 否 摘要 summary, detailed
get_user_papers(email="researcher@university.edu", format="detailed")

get_reference_papers

获取特定会议和年份的论文。

输入架构:

字段 类型 描述 必填 默认 允许值
venue string 会议地点(例如。, "ICLR.cc", "NeurIPS.cc", "ICML.cc") 是 -- ICLR.cc, NeurIPS.cc, ICML.cc
year string 会议年份(例如。, "2024", "2025") 是 -- 四位数年份(例如。, 2024)
limit integer 要返回的最大纸张数 否 50 1–1000
format string 响应格式:摘要或详细 否 summary summary, detailed
get_conference_papers(venue="ICLR.cc", year="2024", limit=50)

搜索路径

在多个会议中按关键字搜索论文。

搜索模式:

  • 任何:返回与指定字段中至少一个关键字匹配的论文。如果找到任何关键字,则包括论文。
  • 全部:返回与指定字段中的所有关键字匹配的论文。只包括包含每个关键字的论文。
  • 精确:返回在指定字段中包含精确短语(按顺序将所有关键字放在一起)的论文。

输入架构:

字段 类型 描述 必填 默认 允许值
query string 要搜索的关键字或短语(例如。, "time series token merging", "neural networks") 是 -- --
venues array 要搜索的会议地点和年份列表。
每个项目:
• venue:string
• year:string
是 -- --
search_fields array 要搜索的字段。选项: "title", "abstract", "authors" 没有 ["title", "abstract"] "title", "abstract", "authors"
match_mode string 如何匹配关键字:
• "any":匹配任何关键字
• "all":匹配所有关键字
• "exact":匹配精确短语
否 "all" "any", "all", "exact"
limit integer 要返回的最大结果数 否 20 1–100
min_score number 最低匹配分数(介于0.0和1.0之间) 否 0.1 0.0–1.0
search_papers(
  query="time series token merging",
  match_mode="all",
  search_fields=["title", "abstract"],
  venues=[
    {"venue": "ICLR.cc", "year": "2024"},
    {"venue": "NeurIPS.cc", "year": "2024"}
  ],
  limit=20
)

出口_个人

将搜索结果导出到JSON文件进行分析。

输入架构:

字段 类型 描述 必填 默认 允许值
query string 导出前要搜索的关键字 是 -- --
venues array 要导出的会议地点和年份列表。
每个项目:
• venue:string
• year:string
是 -- --
export_dir string 导出JSON文件的目录 否 ./openreview_exports —
filename string 导出的基本文件名(不带扩展名) 否 自动生成 —
include_abstracts boolean 导出时是否包含完整摘要 否 True True, False
min_score number 搜索结果的最低匹配分数(0.0到1.0) 否 0.2 0.0–1.0
max_papers integer 可导出和下载的最大论文数 否 3 1–10
download_pdfs boolean 是否下载PDF并提取全文内容 否 True True, False
export_papers(
  query="neural networks",
  venues=[
    {"venue": "ICLR.cc", "year": "2024"},
    {"venue": "ICML.cc", "year": "2024"}
  ],
  max_papers=1, 
  download_pdfs=true, 
  include_abstracts=true,
  export_dir="./research_exports"
)

工作流程示例

  1. 搜索感兴趣主题的论文:
search_papers(query="time series forecasting", match_mode="all", venues=[{"venue": "ICLR.cc", "year": "2024"}])
  1. 将相关论文导出为JSON格式:
export_papers(query="time series token merging", venues=[{"venue":"ICML.cc","year":"2025"}], max_papers=1, download_pdfs=true, include_abstracts=true)
  1. 使用导出的JSON文件和Claude Code来实现受研究启发的方法。

支持的会议

  • 国际学习代表会议
  • 神经信息处理系统会议
  • ICML(国际机器学习会议)

许可证

MIT许可证