jackkuo666_medrxiv_mcp_server

jackkuo666_medrxiv_mcp_server

by JackKuo666
Enables AI assistants to search and access medRxiv papers through a simple MCP interface.

medRxiv Search Integration for AI Assistants

🔍 Enable AI assistants to search and access medRxiv papers through a simple MCP interface.

Overview

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.

✨ 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:

Claude

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:

npx -y @smithery/cli@latest run @JackKuo666/medrxiv-mcp-server --client cursor --config "{}"

Windsurf

npx -y @smithery/cli@latest install @JackKuo666/medrxiv-mcp-server --client windsurf --config "{}"

CLine

npx -y @smithery/cli@latest install @JackKuo666/medrxiv-mcp-server --client cline --config "{}"

Installing Manually

Install using uv:

uv tool install medRxiv-mcp-server

For development:

# 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:

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

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

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

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)

{
  "mcpServers": {
    "medrxiv": {
      "command": "python",
      "args": ["-m", "medrxiv-mcp-server"]
    }
  }
}

(Windows version):

{
  "mcpServers": {
    "medrxiv": {
      "command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
      "args": ["-m", "medrxiv-mcp-server"]
    }
  }
}

Using with Cline

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

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:

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 project.

⚠️ Disclaimer

This tool is for research purposes only. Please respect medRxiv's terms of service and use this tool responsibly.

Features & Capabilities

Categories
mcp_server model_context_protocol python ai_assistants search api_integration health_sciences medrxiv

Implementation Details

Stats

0 Views
1 GitHub Stars

Repository Info

JackKuo666 Organization

Similar MCP Servers

continuedev_continue by continuedev
25049
21423
9300