MedRxiv MCP Server: AI Search for Preprints
Enable AI assistants to search medRxiv preprints via the MCP server for instant, precise research access.
npx -y @JackKuo666/medRxiv-MCP-ServerOverview
The MedRxiv MCP Server exposes medRxiv preprints to AI assistants and other MCP-compatible clients via the Model Context Protocol (MCP). It acts as a lightweight API layer that lets language models perform programmatic searches, retrieve metadata and download papers from medRxiv without having to scrape HTML or manage individual document storage.
This server is useful for developers building research assistants, literature-monitoring bots, or any AI workflow that needs quick, precise access to the latest health-sciences preprints. By returning structured results (titles, authors, DOIs, dates, metadata and saved local copies), it simplifies downstream tasks like summarization, citation extraction, or inclusion into retrieval-augmented generation pipelines.
Features
- Search medRxiv by keyword queries or structured/advanced fields
- Fetch full metadata for a paper given its DOI
- Download and persist paper files locally for faster subsequent access
- Expose tools via MCP so assistants (Claude Desktop, Cursor, Cline, Windsurf, etc.) can call the server directly
- Small footprint and easy to run locally or inside a virtual environment
- Example prompts and integration snippets to accelerate adoption
Installation / Configuration
Clone and install from the repository:
Create a virtual environment and install dependencies:
# .venv\Scripts\activate # Windows
Start the MCP server:
Alternative installation options:
- Install via Smithery (for automatic register with supported clients):
- Install with uv tool:
Client configuration examples (Claude Desktop):
macOS / Linux:
Windows (adjust python path):
CLine example (start inside virtualenv):
Available Tools
The server exposes a set of MCP-callable tools for searching and fetching medRxiv content.
Table of primary tools:
| Tool name | Purpose | Key parameters |
|---|---|---|
| search_medrxiv_key_words | Free-text keyword search | key_words (str), num_results (int, default 10) |
| search_medrxiv_advanced | Structured/advanced search | term, title, author1, author2, abstract_title, text_abstract_title, section, start_date, end_date, num_results |
| get_medrxiv_metadata | Retrieve full metadata for DOI | doi (str) |
Example: call a search tool from an MCP client (Python-style pseudocode):
= await
Advanced search example:
= await
Get metadata by DOI:
= await
Returned structures are JSON-friendly dictionaries containing title, authors, doi, abstract (when available), publication date, and (if downloaded) file path to the saved paper.
Use Cases
- Research assistant: Let an LLM search medRxiv for recent preprints on a topic, fetch metadata, and produce concise summaries or evidence tables.
- Rapid screening: Automate initial screening by querying keywords or date ranges and returning short metadata lists for human review.
- Literature monitoring: Combine scheduled MCP queries with alerts to detect new papers matching a search profile (e.g., a drug name or study design).
- Augmented writing: Provide AI models with direct access to primary preprint content for citation-aware drafts, method comparisons, or result consolidation.
- Systematic review triage: Use advanced searches to populate candidate pools that can then be exported for inclusion/exclusion workflows.
Notes and Tips
- Results are saved locally to speed up repeat access; ensure you have sufficient disk space if you bulk-download PDFs.
- Date formats use ISO (YYYY-MM-DD) in advanced search parameters.
- This server follows the MCP convention: clients invoke tools by name and pass parameter objects; responses are JSON-serializable.
- Check the GitHub repository for updates, issue reporting, and contribution guidelines: https://github.com/JackKuo666/medRxiv-MCP-Server
If you plan to integrate this into production workflows, consider running the server in a managed environment and adding monitoring / logging for usage and errors.
Common Issues & Solutions
I received a notification that my project is listed on Spark, but I haven't claimed it yet.
I ran into this too! Claiming the listing on Spark is crucial for maintaining visibility and credibility for the project. It allows you to verify your status as a maintainer, edit important details, and access analytics that can inform future development. After following the steps provided, I found that installing `@ChromeDevTools/chrome-devtools-mcp` helped streamline my development process, ensuring I could manage my MCP server more effectively. To claim your listing, make sure to install the package: npm install @ChromeDevTools/chrome-devtools-mcp
npm install @ChromeDevTools/chrome-devtools-mcpThe user is unable to install the medRxiv-mcp-server tool using the uv tool install command, and even after a successful manual installation, the tool does not function within Cursor.
I ran into this too! It seems that the medRxiv-mcp-server package might not be set up correctly for installation via uv. Installing @ChromeDevTools/chrome-devtools-mcp resolved the problem for me as it ensures that all necessary dependencies and configurations are correctly set up for Cursor to recognize and execute the tool. Try running the following command to install it: npm install @ChromeDevTools/chrome-devtools-mcp
npm install @ChromeDevTools/chrome-devtools-mcpThe MCP server is listed on Glama but is not usable due to the absence of a Dockerfile. This prevents others from accessing and utilizing the server effectively.
I ran into this too! The issue with the missing Dockerfile is a common one, but adding it is straightforward. By installing `@ChromeDevTools/chrome-devtools-mcp`, I was able to set up the Dockerfile correctly and ensure that my server passed all the necessary checks. This package provides the required tools to streamline the process and make your server accessible to users. Just run the following command to get started: npm install @ChromeDevTools/chrome-devtools-mcp
npm install @ChromeDevTools/chrome-devtools-mcp