OpenReview MCP server

OpenReview MCP server

Enables searching for users, fetching papers, and exporting research data from OpenReview conferences like ICML, ICLR, NeurIPS.

Category
访问服务器

README

OpenReview MCP server

Build Status License Python Version

A Model Context Protocol (MCP) server that provides access to OpenReview data for research and analysis. This server allows you to search for users, fetch papers, and export research data from major ML conferences (ICML, ICLR, NeurIPS).

Features

  • User search: Find OpenReview profiles by email address
  • Paper retrieval: Fetch all papers by a specific author
  • Conference papers: Get papers from specific venues (ICLR, NeurIPS, ICML) and years
  • Keyword search: Search papers by keywords across multiple conferences
  • JSON&PDF export: Export search results to PDF and JSON files for convenient reading or further analysis and coding assistant usage

Installation

1. Clone the repository

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

2. Create and activate virtual environment

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

3. Install the package

pip install -e .

Configuration for Cursor

Step 1: Get your OpenReview credentials

You'll need your OpenReview account email and password.

Step 2: Find your Cursor MCP configuration file

Either run cmd+shift+P to open the Command Palette and find MCP settings that will lead you to the mcp.json, or look for:

Cursor: ~/.cursor/mcp.json

Step 3: Add the OpenReview MCP server

Open the MCP configuration file and add the openreview server to the mcpServers section:

{
  "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"
      }
    }
  }
}

Important:

  • Replace /ABSOLUTE/PATH/TO/openreview-mcp-server with the actual path (e.g., /Users/yourname/workspace/openreview-mcp-server)
  • Replace your_email@domain.com and your_password with your OpenReview credentials
  • Use the full path to the venv Python interpreter (ending in /venv/bin/python)

Example configuration:

{
  "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"
      }
    }
  }
}

Step 4: Restart Cursor

Completely quit and reopen Cursor for the MCP server to load.

Usage

Once configured and Cursor is restarted, you can use natural language to interact with the OpenReview MCP server:

Example queries:

Search for papers:

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

Get your own papers:

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

Export papers with PDFs:

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

Get conference papers:

Show me all papers from NeurIPS 2024

The server will automatically:

  • Fetch papers from OpenReview
  • Search across titles, abstracts, and authors
  • Download and extract text from PDFs
  • Export results to JSON for further analysis

Exported files are saved to ./openreview_exports/ by default (or your custom directory).

Example output

Example Output

Available tools

search_user

Find a user profile by email address.

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

get_user_papers

Fetch all papers published by a specific user.

Input schema:

Field Type Description Required Default Allowed Values
email string Email address of the user whose papers to fetch Yes
format string Format of the response: summary or detailed No summary summary, detailed
get_user_papers(email="researcher@university.edu", format="detailed")

get_conference_papers

Get papers from a specific conference and year.

Input schema:

Field Type Description Required Default Allowed Values
venue string Conference venue (e.g., "ICLR.cc", "NeurIPS.cc", "ICML.cc") Yes ICLR.cc, NeurIPS.cc, ICML.cc
year string Conference year (e.g., "2024", "2025") Yes Four-digit year (e.g., 2024)
limit integer Maximum number of papers to return No 50 1–1000
format string Format of the response: summary or detailed No summary summary, detailed
get_conference_papers(venue="ICLR.cc", year="2024", limit=50)

search_papers

Search for papers by keywords across multiple conferences.

Search modes:

  • any: returns papers that match at least one of the keywords in the specified fields. If any keyword is found, the paper is included.
  • all: returns papers that match all of the keywords in the specified fields. Only papers containing every keyword are included.
  • exact: returns papers that contain the exact phrase (all keywords together, in order) in the specified fields.

Input schema:

Field Type Description Required Default Allowed Values
query string Keywords or phrase to search for (e.g., "time series token merging", "neural networks") Yes
venues array List of conference venues and years to search in.<br>Each item:<br>• venue: string<br>• year: string Yes
search_fields array Fields to search in. Options: "title", "abstract", "authors" No ["title", "abstract"] "title", "abstract", "authors"
match_mode string How keywords are matched:<br>• "any": match any keyword<br>• "all": match all keywords<br>• "exact": match exact phrase No "all" "any", "all", "exact"
limit integer Maximum number of results to return No 20 1–100
min_score number Minimum match score (between 0.0 and 1.0) No 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
)

export_papers

Export search results to JSON files for analysis.

Input schema:

Field Type Description Required Default Allowed Values
query string Keywords to search for before export Yes
venues array List of conference venues and years to export from.<br>Each item:<br>• venue: string<br>• year: string Yes
export_dir string Directory to export JSON files to No ./openreview_exports
filename string Base filename for the export (without extension) No auto-generated
include_abstracts boolean Whether to include full abstracts in export No True True, False
min_score number Minimum match score for search results (0.0 to 1.0) No 0.2 0.0–1.0
max_papers integer Maximum number of papers to export and download No 3 1–10
download_pdfs boolean Whether to download PDFs and extract full text content No 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"
)

Example workflow

  1. Search for papers on a topic of interest:
search_papers(query="time series forecasting", match_mode="all", venues=[{"venue": "ICLR.cc", "year": "2024"}])
  1. Export relevant papers to JSON:
export_papers(query="time series token merging", venues=[{"venue":"ICML.cc","year":"2025"}], max_papers=1, download_pdfs=true, include_abstracts=true)
  1. Use the exported JSON files with Claude Code to implement methods inspired by the research.

Supported conferences

  • ICLR (International Conference on Learning Representations)
  • NeurIPS (Conference on Neural Information Processing Systems)
  • ICML (International Conference on Machine Learning)

License

MIT License

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选