openreview-mcp-server

anyakors/openreview-mcp-server

3.2

If you are the rightful owner of openreview-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The OpenReview MCP server provides access to OpenReview data for research and analysis, enabling users to search for users, fetch papers, and export research data from major ML conferences.

Tools
5
Resources
0
Prompts
0

OpenReview MCP server

Build Status 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

pip install -e .

Configuration

Create a .env file with your OpenReview credentials for local development:

OPENREVIEW_USERNAME=your_email@domain.com
OPENREVIEW_PASSWORD=your_password

# Optional
OPENREVIEW_BASE_URL=https://api2.openreview.net
OPENREVIEW_DEFAULT_EXPORT_DIR=./openreview_exports

Usage with Claude Code

Add server from the command line:

claude mcp add-json openreview '{"command":"openreview-mcp-server","cwd":"/install/dir/openreview-mcp-server","env":{"OPENREVIEW_USERNAME":"username","OPENREVIEW_PASSWORD":"password","OPENREVIEW_BASE_URL":"https://api2.openreview.net","OPENREVIEW_DEFAULT_EXPORT_DIR":"./openreview_exports"}}'

Or add to your Claude Code MCP configuration:

{
  "mcpServers": {
    "openreview": {
      "command": "python",
      "args": ["-m", "openreview_mcp_server"],
      "env": {
        "OPENREVIEW_USERNAME": "your_email@domain.com",
        "OPENREVIEW_PASSWORD": "your_password"
      }
    }
  }
}

Then run your query:

Can you please search papers using openreview mcp with keywords "time series token merging", match all keywords, venues ICLR and ICML 2025?
...
Please export the contents of this paper.

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:

FieldTypeDescriptionRequiredDefaultAllowed Values
emailstringEmail address of the user whose papers to fetchYes
formatstringFormat of the response: summary or detailedNosummarysummary, detailed
get_user_papers(email="researcher@university.edu", format="detailed")

get_conference_papers

Get papers from a specific conference and year.

Input schema:

FieldTypeDescriptionRequiredDefaultAllowed Values
venuestringConference venue (e.g., "ICLR.cc", "NeurIPS.cc", "ICML.cc")YesICLR.cc, NeurIPS.cc, ICML.cc
yearstringConference year (e.g., "2024", "2025")YesFour-digit year (e.g., 2024)
limitintegerMaximum number of papers to returnNo501–1000
formatstringFormat of the response: summary or detailedNosummarysummary, 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:

FieldTypeDescriptionRequiredDefaultAllowed Values
querystringKeywords or phrase to search for (e.g., "time series token merging", "neural networks")Yes
venuesarrayList of conference venues and years to search in.
Each item:
venue: string
year: string
Yes
search_fieldsarrayFields to search in. Options: "title", "abstract", "authors"No["title", "abstract"]"title", "abstract", "authors"
match_modestringHow keywords are matched:
"any": match any keyword
"all": match all keywords
"exact": match exact phrase
No"all""any", "all", "exact"
limitintegerMaximum number of results to returnNo201–100
min_scorenumberMinimum match score (between 0.0 and 1.0)No0.10.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:

FieldTypeDescriptionRequiredDefaultAllowed Values
querystringKeywords to search for before exportYes
venuesarrayList of conference venues and years to export from.
Each item:
venue: string
year: string
Yes
export_dirstringDirectory to export JSON files toNo./openreview_exports
filenamestringBase filename for the export (without extension)Noauto-generated
include_abstractsbooleanWhether to include full abstracts in exportNoTrueTrue, False
min_scorenumberMinimum match score for search results (0.0 to 1.0)No0.20.0–1.0
max_papersintegerMaximum number of papers to export and downloadNo31–10
download_pdfsbooleanWhether to download PDFs and extract full text contentNoTrueTrue, 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