Content
# medRxiv MCP Server
[](https://smithery.ai/server/@JackKuo666/medrxiv-mcp-server)
🔍 Enable AI assistants to search and access medRxiv papers through a simple MCP interface.
The medRxiv MCP Server provides a bridge between AI assistants and medRxiv's preprint repository through the Model Context Protocol (MCP). It allows AI models to search for health sciences preprints and access their content in a programmatic way.
🤝 Contribute • 📝 Report Bug
## ✨ Core Features
- 🔎 Paper Search: Query medRxiv papers with custom search strings or advanced search parameters ✅
- 🚀 Efficient Retrieval: Fast access to paper metadata ✅
- 📊 Metadata Access: Retrieve detailed metadata for specific papers using DOI ✅
- 📊 Research Support: Facilitate health sciences research and analysis ✅
- 📄 Paper Access: Download and read paper content 📝
- 📋 Paper Listing: View all downloaded papers 📝
- 🗃️ Local Storage: Papers are saved locally for faster access 📝
- 📝 Research Prompts: A set of specialized prompts for paper analysis 📝
## 🚀 Quick Start
### Installing via Smithery
To install medRxiv Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@JackKuo666/medrxiv-mcp-server):
#### claude
```bash
npx -y @smithery/cli@latest install @JackKuo666/medrxiv-mcp-server --client claude --config "{}"
```
#### Cursor
Paste the following into Settings → Cursor Settings → MCP → Add new server:
- Mac/Linux
```s
npx -y @smithery/cli@latest run @JackKuo666/medrxiv-mcp-server --client cursor --config "{}"
```
#### Windsurf
```sh
npx -y @smithery/cli@latest install @JackKuo666/medrxiv-mcp-server --client windsurf --config "{}"
```
### CLine
```sh
npx -y @smithery/cli@latest install @JackKuo666/medrxiv-mcp-server --client cline --config "{}"
```
### Installing Manually
Install using uv:
```bash
uv tool install medRxiv-mcp-server
```
For development:
```bash
# Clone and set up development environment
git clone https://github.com/JackKuo666/medRxiv-MCP-Server.git
cd medRxiv-MCP-Server
# Create and activate virtual environment
uv venv
source .venv/bin/activate
uv pip install -r requirements.txt
```
## 📊 Usage
Start the MCP server:
```bash
python medrxiv_server.py
```
Once the server is running, you can use the provided MCP tools in your AI assistant or application. Here are some examples of how to use the tools:
### Example 1: Search for papers using keywords
```python
result = await mcp.use_tool("search_medrxiv_key_words", {
"key_words": "COVID-19 vaccine efficacy",
"num_results": 5
})
print(result)
```
### Example 2: Perform an advanced search
```python
result = await mcp.use_tool("search_medrxiv_advanced", {
"term": "COVID-19",
"author1": "MacLachlan",
"start_date": "2020-01-01",
"end_date": "2023-12-31",
"num_results": 3
})
print(result)
```
### Example 3: Get metadata for a specific paper
```python
result = await mcp.use_tool("get_medrxiv_metadata", {
"doi": "10.1101/2025.03.09.25323517"
})
print(result)
```
These examples demonstrate how to use the three main tools provided by the medRxiv MCP Server. Adjust the parameters as needed for your specific use case.
## 🛠 MCP Tools
The medRxiv MCP Server provides the following tools:
### search_medrxiv_key_words
Search for articles on medRxiv using key words.
**Parameters:**
- `key_words` (str): Search query string
- `num_results` (int, optional): Number of results to return (default: 10)
**Returns:** List of dictionaries containing article information
### search_medrxiv_advanced
Perform an advanced search for articles on medRxiv.
**Parameters:**
- `term` (str, optional): General search term
- `title` (str, optional): Search in title
- `author1` (str, optional): First author
- `author2` (str, optional): Second author
- `abstract_title` (str, optional): Search in abstract and title
- `text_abstract_title` (str, optional): Search in full text, abstract, and title
- `section` (str, optional): Section of medRxiv
- `start_date` (str, optional): Start date for search range (format: YYYY-MM-DD)
- `end_date` (str, optional): End date for search range (format: YYYY-MM-DD)
- `num_results` (int, optional): Number of results to return (default: 10)
**Returns:** List of dictionaries containing article information
### get_medrxiv_metadata
Fetch metadata for a medRxiv article using its DOI.
**Parameters:**
- `doi` (str): DOI of the article
**Returns:** Dictionary containing article metadata
## Usage with Claude Desktop
Add this configuration to your `claude_desktop_config.json`:
(Mac OS)
```json
{
"mcpServers": {
"medrxiv": {
"command": "python",
"args": ["-m", "medrxiv-mcp-server"]
}
}
}
```
(Windows version):
```json
{
"mcpServers": {
"medrxiv": {
"command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
"args": [
"-m",
"medrxiv-mcp-server"
]
}
}
}
```
Using with Cline
```json
{
"mcpServers": {
"medrxiv": {
"command": "bash",
"args": [
"-c",
"source /home/YOUR/PATH/mcp-server-medRxiv/.venv/bin/activate && python /home/YOUR/PATH/mcp-server-medRxiv/medrxiv_server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
```
After restarting Claude Desktop, the following capabilities will be available:
### Searching Papers
You can ask Claude to search for papers using queries like:
```
Can you search medRxiv for recent papers about genomics?
```
The search will return basic information about matching papers including:
• Paper title
• Authors
• DOI
### Getting Paper Details
Once you have a DOI, you can ask for more details:
```
Can you show me the details for paper 10.1101/003541?
```
This will return:
• Full paper title
• Authors
• Publication date
• Paper abstract
• Links to available formats (PDF/HTML)
## 📝 TODO
### download_paper
Download a paper and save it locally.
### read_paper
Read the content of a downloaded paper.
### list_papers
List all downloaded papers.
### 📝 Research Prompts
The server offers specialized prompts to help analyze academic papers:
#### Paper Analysis Prompt
A comprehensive workflow for analyzing academic papers that only requires a paper ID:
```python
result = await call_prompt("deep-paper-analysis", {
"paper_id": "2401.12345"
})
```
This prompt includes:
- Detailed instructions for using available tools (list_papers, download_paper, read_paper, search_papers)
- A systematic workflow for paper analysis
- Comprehensive analysis structure covering:
- Executive summary
- Research context
- Methodology analysis
- Results evaluation
- Practical and theoretical implications
- Future research directions
- Broader impacts
## 📁 Project Structure
- `medrxiv_server.py`: The main MCP server implementation using FastMCP
- `medrxiv_web_search.py`: Contains the web scraping logic for searching medRxiv
## 🔧 Dependencies
- Python 3.10+
- FastMCP
- asyncio
- logging
- requests (for web scraping, used in medrxiv_web_search.py)
- beautifulsoup4 (for web scraping, used in medrxiv_web_search.py)
You can install the required dependencies using:
```bash
pip install FastMCP requests beautifulsoup4
```
## 🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## 📄 License
This project is licensed under the MIT License.
## 🙏 Acknowledgements
This project is inspired by and built upon the work done in the [arxiv-mcp-server](https://github.com/blazickjp/arxiv-mcp-server) project.
## ⚠️ Disclaimer
This tool is for research purposes only. Please respect medRxiv's terms of service and use this tool responsibly.
Connection Info
You Might Also Like
Filesystem
Node.js MCP Server for filesystem operations with dynamic access control.
Sequential Thinking
A structured MCP server for dynamic problem-solving and reflective thinking.
mcp-chrome
Transform your Chrome into an AI-powered automation tool.
mcp-checkpoint
MCP Checkpoint is a security scanner for MCP servers, automating discovery...
mcp-vosdroits
MCP Server for searching French public service and tax information.
ai
WordPress AI Experiments plugin for enhancing site functionality with AI.