Skip to main content

An MCP server for searching, retrieving, and analyzing articles from PubMed

Project description

MseeP.ai Security Assessment Badge

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mseep_mcp_server_pubmed-0.1.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mseep_mcp_server_pubmed-0.1.1-py3-none-any.whl (4.1 kB view details)

Uploaded Python 3

File details

Details for the file mseep_mcp_server_pubmed-0.1.1.tar.gz.

File metadata

  • Download URL: mseep_mcp_server_pubmed-0.1.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.12

File hashes

Hashes for mseep_mcp_server_pubmed-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3c5959db539ce5017a755295bb00f5c3a63292610aa96df90aa4bca09e781723
MD5 b200a60f1a51dec0ac3341a3154e540a
BLAKE2b-256 bd2e92e3cbe0e56bf166e1fd8bac06145210ec7ee9fd75605e365f39c986224a

See more details on using hashes here.

File details

Details for the file mseep_mcp_server_pubmed-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for mseep_mcp_server_pubmed-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 cecf571a1a8ce9e4b420d457db2245b12a5e1591c8560a39053eccb886c3aa80
MD5 e59ef6b78032d367f8a2c78a8d4d748b
BLAKE2b-256 0e44214c3100b91c999b57bb11e6e8326305f0ebe5a15ea6b2542f806622d12b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page