PubMed

by jackkuo666

64 stars
181 downloads
Not rated
GitHub

About

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.

Details

Author
jackkuo666
Repository
JackKuo666/PubMed-MCP-Server
GitHub stars
64
Downloads
181
License
MIT License
Categories
AI, Design, Developer Tools, Search, Infrastructure, Frontend, Security, Other, Knowledge Base
Tags
#integration

- 🔎 Paper Search: Query PubMed articles with keywords or advanced search ✅
- 🚀 Efficient Retrieval: Fast access to paper metadata ✅
- 📊 Metadata Access: Retrieve 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 ✅
- 📝 Research Prompts: A set of specialized prompts for paper analysis ✅

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name PubMed
    Command (node, npx, python, etc.) python
    Arguments
    • Argument 1 -m
    • Argument 2 pubmed-mcp-server

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

To install pubmed-mcp-server for Claude Desktop automatically via Smithery:

Start the MCP server:

python pubmed_server.py

Add this configuration to your claude_desktop_config.json:

(Mac OS)

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

(Windows version):

{
  "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": []
    }
  }
}
Using with Cline
{
  "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": []
    }
  }
}

Once you have a PMID, you can ask for more details:

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

search_pubmed_key_words

Search for articles on PubMed using keywords.

search_pubmed_advanced

Perform an advanced search for articles on PubMed with multiple parameters.

get_pubmed_article_metadata

Fetch metadata for a PubMed article using its PMID.

download_pubmed_pdf

Attempt to download the full-text PDF for a PubMed article.

deep_paper_analysis

Perform a comprehensive analysis of a PubMed article.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

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

Linux

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

Macos

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

Windows

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

PubMed MCP Server

smithery badge

🔍 Enable AI assistants to search, access, and analyze PubMed articles through a simple MCP interface.

The PubMed 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 their metadata, and perform deep analysis in a programmatic way.

🤝 Contribute • 📝 Report Bug

✨ Core Features

- 🔎 Paper Search: Query PubMed articles with keywords or advanced search ✅ - 🚀 Efficient Retrieval: Fast access to paper metadata ✅ - 📊 Metadata Access: Retrieve 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 ✅ - 📝 Research Prompts: A set of specialized prompts for paper analysis ✅

🚀 Quick Start

Prerequisites

- Python 3.10+
- FastMCP library

Installation

Installing via Smithery

To install pubmed-mcp-server for Claude Desktop automatically via Smithery:

claude

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

Cursor

Paste the following into Settings → Cursor Settings → MCP → Add new server:
- Mac/Linux

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

Windsurf


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

CLine


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

1. Clone the repository:

   git clone https://github.com/JackKuo666/PubMed-MCP-Server.git
cd PubMed-MCP-Server

2. Install the required dependencies:

   pip install -r requirements.txt

📊 Usage

Start the MCP server:

python pubmed_server.py

Usage with Claude Desktop

Add this configuration to your claude_desktop_config.json:

(Mac OS)

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

(Windows version):

{
  "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": []
    }
  }
}
Using with Cline
{
  "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": []
    }
  }
}

🛠 MCP Tools

The PubMed MCP Server provides the following tools:

1. search_pubmed_key_words: Search for articles on PubMed using keywords.
2. search_pubmed_advanced: Perform an advanced search for articles on PubMed with multiple parameters.
3. get_pubmed_article_metadata: Fetch metadata for a PubMed article using its PMID.
4. download_pubmed_pdf: Attempt to download the full-text PDF for a PubMed article.
5. deep_paper_analysis: Perform a comprehensive analysis of a PubMed article.

Searching Papers

You can ask the AI assistant to search for papers using queries like:

Can you search PubMed for recent papers about CRISPR?

Getting Paper Details

Once you have a PMID, you can ask for more details:

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

Analyzing Papers

You can request a deep analysis of a paper:

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

📁 Project Structure

- pubmed_server.py: The main MCP server implementation using FastMCP
- pubmed_web_search.py: Contains the logic for searching PubMed and retrieving article information

🔧 Dependencies

- Python 3.10+
- FastMCP
- asyncio
- logging
- requests
- beautifulsoup4

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📄 License

This project is licensed under the MIT License.

⚠️ Disclaimer

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

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.