MedAdapt MCP server

Provides medical students and educators with curated educational resources from PubMed and NCBI Bookshelf through a FastMCP-powered system that enables searching, generating topic overviews, creating learning plans, and extracting key points from medical literature.
Back to servers
Provider
MedAdapt
Release date
Mar 22, 2025
Language
Python
Stats
4 stars

This MCP server enhances AI-assisted medical learning by integrating with Claude Desktop to fetch and process educational resources from PubMed, NCBI Bookshelf, and user-provided documents, serving as a bridge between Claude and medical knowledge sources.

Installation

Standard Installation

  1. Clone the repository:
git clone https://github.com/ryoureddy/medadapt-content-server.git
cd medadapt-content-server
  1. Create a virtual environment (optional but recommended):
python -m venv .venv
source .venv/bin/activate  # On Windows, use: .venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt
  1. Configure (optional):

Quick Start

If you prefer a faster setup:

git clone https://github.com/ryoureddy/medadapt-content-server.git
cd medadapt-content-server
pip install -r requirements.txt
python content_server.py

Usage

Running the Server

python content_server.py

Integration with Claude Desktop

  1. Open Claude Desktop
  2. Go to Settings → Model Context Protocol → Add Server
  3. Configure with the following JSON in your claude_desktop_config.json file located in:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "medadapt": {
      "command": "/path/to/python",
      "args": [
        "/path/to/medadapt-content-server/content_server.py"
      ],
      "env": {
        "DB_PATH": "/path/to/medadapt-content-server/medadapt_content.db"
      }
    }
  }
}

Replace /path/to/python with your actual Python path (e.g., /opt/anaconda3/bin/python or C:\Python311\python.exe) and /path/to/medadapt-content-server/ with the absolute path to your cloned repository.

Populating Initial Topic Mappings

python populate_topics.py

Testing

To verify everything is working:

python test_server.py

Example Usage with Claude

Scenario 1: Learning About a Medical Topic

User prompt to Claude:

I'd like to learn about the cardiac cycle. Can you provide a big picture overview and help me understand the key concepts?

Scenario 2: Finding Specific Resources

User prompt to Claude:

I need to find recent research articles about COVID-19 treatment options. Can you help me find relevant resources?

Scenario 3: Creating a Learning Plan

User prompt to Claude:

I'm a second-year medical student studying neurology. Can you create a learning plan for understanding stroke pathophysiology?

Available Tools

The server provides the following tools to Claude:

  • search_medical_content: Search for medical content with filters
  • get_resource_content: Retrieve complete content for a specific resource
  • get_topic_overview: Generate comprehensive overview of a medical topic
  • suggest_learning_resources: Get personalized resource recommendations
  • import_user_document: Upload user-provided learning materials
  • generate_learning_plan: Create structured learning plan with objectives
  • extract_article_key_points: Extract key findings from medical articles

Troubleshooting

Common Issues and Solutions

  1. Database Connection Error

    • Symptom: sqlite3.OperationalError: unable to open database file
    • Solution: Make sure the DB_PATH environment variable is set correctly in your Claude Desktop configuration, pointing to an absolute path where the application has write permissions.
  2. File Path Error

    • Symptom: No such file or directory errors
    • Solution: Ensure all paths in the Claude Desktop configuration are absolute paths without extra quotes or escape characters.
  3. API Rate Limiting

    • Symptom: Slow or failed responses from PubMed or NCBI Bookshelf
    • Solution: Get an NCBI API key and add it to your .env file
  4. Claude Desktop Connection

    • Symptom: Claude cannot connect to the MCP server
    • Solution: Verify the server is running in a terminal window and properly configured in Claude Desktop

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later