PubMed MCP server

Provides a bridge to PubMed for searching, filtering, retrieving, and analyzing medical research articles with tools for keyword searches, metadata access, PDF downloads, and structured paper analysis.
Back to servers
Provider
Jack Kuo
Release date
Mar 19, 2025
Language
Python
Stats
36 stars

This MCP server provides a bridge between AI assistants and PubMed's vast repository of biomedical literature through the Model Context Protocol (MCP). It allows AI models to search for scientific articles, access metadata, and perform deep analysis of biomedical literature programmatically.

Installation Options

Using Smithery

For Claude Desktop

npx -y @smithery/cli install @JackKuo666/pubmed-mcp-server --client claude

For Cursor

Paste the following into Settings → Cursor Settings → MCP → Add new server:

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

For Windsurf

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

For CLine

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

Manual Installation

  1. Clone the repository:
git clone https://github.com/JackKuo666/PubMed-MCP-Server.git
cd PubMed-MCP-Server
  1. Install the required dependencies:
pip install -r requirements.txt

Basic Usage

Start the MCP server:

python pubmed_server.py

Integration with AI Assistants

Claude Desktop Configuration

Add this configuration to your claude_desktop_config.json:

For macOS:

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

For Windows:

{
  "mcpServers": {
    "pubmed": {
      "command": "C:\\Users\\YOUR\\PATH\\miniconda3\\envs\\mcp_server\\python.exe",
      "args": [
        "D:\\code\\YOUR\\PATH\\PubMed-MCP-Server\\pubmed_server.py"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

CLine Configuration

{
  "mcpServers": {
    "pubmed": {
      "command": "bash",
      "args": [
        "-c",
        "source /home/YOUR/PATH/mcp-server-pubmed/.venv/bin/activate && python /home/YOUR/PATH/pubmed-mcp-server.py"
      ],
      "env": {},
      "disabled": false,
      "autoApprove": []
    }
  }
}

Available Tools

The PubMed MCP Server provides the following tools:

  1. search_pubmed_key_words: Search for articles using keywords
  2. search_pubmed_advanced: Perform advanced searches with multiple parameters
  3. get_pubmed_article_metadata: Fetch metadata for articles using their PMID
  4. download_pubmed_pdf: Attempt to download full-text PDFs
  5. deep_paper_analysis: Perform comprehensive analysis of papers

Example Prompts

Searching for Papers

Can you search PubMed for recent papers about CRISPR?

Getting Paper Details

Can you show me the metadata for the paper with PMID 12345678?

Analyzing Papers

Can you perform a deep analysis of the paper with PMID 12345678?

Features

  • Paper Search: Query PubMed with keywords or advanced search parameters
  • Efficient Retrieval: Fast access to paper metadata
  • Metadata Access: Get detailed metadata for specific papers
  • Research Support: Facilitate biomedical sciences research and analysis
  • Paper Access: Attempt to download full-text PDF content
  • Deep Analysis: Perform comprehensive analysis of papers

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