Retrieves Digital Object Identifier information as part of the detailed paper information when formatting publication details.
Provides enhanced search capabilities for PubMed medical literature, including keyword search with journal filtering, MeSH term lookup, publication count statistics, detailed paper information retrieval, and structured PICO-based evidence searches.
PubMed Enhanced Search MCP Server
A Model Content Protocol server that provides enhanced tools to search and retrieve academic papers from PubMed database, with additional features such as MeSH term lookup, publication count statistics, and PICO-based evidence search.
Features
Search PubMed by keywords with optional journal filter
Support for sorting results by relevance or date (newest/oldest first)
Get MeSH (Medical Subject Headings) terms related to a search word
Get publication counts for multiple search terms (useful for comparing prevalence)
Retrieve detailed paper information including abstract, DOI, authors, and keywords
Perform structured PICO-based searches with support for synonyms and combination queries
Installing
Prerequisites
Python 3.6+
pip
Installation
Clone this repository:
git clone https://github.com/leescot/pubmed-mcp-smithery cd pubmed-mcp-smitheryInstall dependencies:
pip install fastmcp requests
Usage
Running locally
Start the server:
For development mode with auto-reloading:
Adding to Claude Desktop
Edit your Claude Desktop configuration file (CLAUDE_DIRECTORY/claude_desktop_config.json) to add the server:
MCP Functions
The server provides these main functions:
search_pubmed
- Search PubMed for articles matching keywords with optional journal filtering# Example results = await search_pubmed( keywords=["diabetes", "insulin resistance"], journal="Nature Medicine", num_results=5, sort_by="date_desc" )get_mesh_terms
- Look up MeSH terms related to a medical concept# Example mesh_terms = await get_mesh_terms("diabetes")get_pubmed_count
- Get the count of publications for multiple search terms# Example counts = await get_pubmed_count(["diabetes", "obesity", "hypertension"])format_paper_details
- Get detailed information about specific papers by PMID# Example paper_details = await format_paper_details(["12345678", "87654321"])pico_search
- Perform structured PICO (Population, Intervention, Comparison, Outcome) searches with synonyms# Example pico_results = await pico_search( p_terms=["diabetes", "type 2 diabetes", "T2DM"], i_terms=["metformin", "glucophage"], c_terms=["sulfonylurea", "glipizide"], o_terms=["HbA1c reduction", "glycemic control"] )
PICO Search Functionality
The PICO search tool helps researchers conduct evidence-based literature searches by:
Allowing multiple synonym terms for each PICO element
Combining terms within each element using OR operators
Performing AND combinations between elements (P AND I, P AND I AND C, etc.)
Returning both search queries and publication counts for each combination
This approach helps refine research questions and identify the most relevant literature.
Rate Limiting
The server implements automatic retry mechanism with backoff delays to handle potential rate limiting by NCBI's E-utilities service.
License
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables search and retrieval of academic papers from PubMed database with advanced features like MeSH term lookup, publication statistics, and PICO-based evidence search.
Related MCP Servers
- AsecurityAlicenseAqualityEnables users to search for academic articles on platforms like arXiv using specific keywords, with plans to integrate more scholarly databases in the future.Last updated -2153MIT License
- AsecurityAlicenseAqualityEnables real-time search and retrieval of academic paper information from multiple sources, providing access to paper metadata, abstracts, and full-text content when available, with structured data responses for integration with AI models that support tool/function calling.Last updated -374AGPL 3.0
- AsecurityAlicenseAqualitySearch PubMed for articles matching the query.Last updated -157MIT License
- -securityAlicense-qualityAnalyzes PubMed medical literature to help researchers quickly gain insights into medical research dynamics, with features including literature retrieval, hotspot analysis, trend tracking, and comprehensive reports.Last updated -60MIT License