PubMed MCP Server

PubMed MCP Server

Provides comprehensive access to NCBI's PubMed database of over 36 million biomedical citations, allowing users to search, retrieve, and analyze literature directly through MCP tools. It supports advanced queries, citation management, full-text retrieval from PubMed Central, and precise discovery using MeSH terms.

Category
Visit Server

README

PubMed MCP Server

A comprehensive Model Context Protocol (MCP) server that provides access to PubMed, NCBI's database of biomedical literature with over 36 million citations from MEDLINE, life science journals, and online books.

Developed by Augmented Nature

Overview

The PubMed MCP server exposes the full NCBI E-utilities and PubMed Central APIs through 16 specialized MCP tools, allowing you to search, retrieve, and analyze biomedical literature directly from your MCP-enabled environment.

Features

Search & Discovery Tools

  • search_articles - Search PubMed by keywords, authors, journals, dates, or MeSH terms with pagination
  • advanced_search - Complex queries with field-specific searches and boolean operators (AND/OR)
  • search_by_author - Find articles by specific author(s) with optional affiliation filtering
  • search_by_journal - Search within specific journals with date range filtering
  • search_by_mesh_terms - Search using Medical Subject Headings (MeSH) with major topic filtering
  • get_trending_articles - Get recently published articles in a specific field (last 30-365 days)

Article Retrieval Tools

  • get_article_details - Get comprehensive metadata and abstract for a specific PMID
  • get_abstract - Retrieve article abstract by PMID with basic metadata
  • get_full_text - Retrieve full text from PubMed Central (PMC) when available
  • batch_article_lookup - Retrieve multiple articles efficiently (up to 200 PMIDs)

Citation & Reference Tools

  • get_cited_by - Find articles that cite a specific PMID
  • get_references - Get reference list for an article
  • get_similar_articles - Find related articles based on content similarity
  • export_citation - Export citations in various formats (APA, MLA, Chicago, BibTeX, RIS)

Utility Tools

  • validate_pmid - Validate PubMed ID format and check if article exists
  • convert_identifiers - Convert between PMID, DOI, and PMC ID

Data Quality Features

  • Real-time access to 36+ million biomedical citations
  • Automatic rate limiting (3 req/s without API key, 10 req/s with key)
  • Comprehensive error handling with retry logic
  • Support for all PubMed search fields and operators
  • MeSH term integration for precise medical queries
  • Full-text access via PubMed Central when available

Installation

Prerequisites

Basic Configuration (No API Key)

{
  "mcpServers": {
    "pubmed-server": {
      "command": "node",
      "args": ["path/to/pubmed-server/build/index.js"],
      "autoApprove": [
        "search_articles",
        "get_article_details",
        "get_abstract",
        "validate_pmid"
      ]
    }
  }
}

With API Key (Recommended for Higher Rate Limits)

{
  "mcpServers": {
    "pubmed-server": {
      "command": "node",
      "args": ["path/to/pubmed-server/build/index.js"],
      "env": {
        "NCBI_API_KEY": "your_api_key_here",
        "NCBI_EMAIL": "your_email@example.com"
      },
      "autoApprove": [
        "search_articles",
        "get_article_details",
        "get_abstract",
        "validate_pmid",
        "search_by_author",
        "search_by_journal"
      ]
    }
  }
}

Usage Examples

Search for Recent CRISPR Research

{
  "query": "CRISPR gene editing",
  "max_results": 10,
  "sort": "pub_date"
}

Get Article Details

{
  "pmid": "41138228"
}

Advanced Search with Multiple Criteria

{
  "title": "machine learning",
  "author": "Smith J",
  "mesh_terms": ["Artificial Intelligence", "Diagnosis"],
  "boolean_operator": "AND",
  "max_results": 50
}

Search by Author with Affiliation

{
  "author_name": "Smith J",
  "affiliation": "Harvard Medical School",
  "max_results": 50
}

Search Within Specific Journal

{
  "journal_name": "Nature",
  "keywords": "cancer immunotherapy",
  "date_from": "2024/01/01",
  "date_to": "2025/12/31",
  "max_results": 25
}

Search by MeSH Terms

{
  "mesh_terms": ["COVID-19", "Vaccines"],
  "major_topic_only": true,
  "max_results": 50
}

Get Trending Articles

{
  "field": "artificial intelligence in medicine",
  "days": 30,
  "max_results": 20
}

Get Full Text from PMC

{
  "pmcid": "PMC1234567"
}

Batch Article Lookup

{
  "pmids": ["41138228", "41137959", "41137488"]
}

Export Citation in BibTeX

{
  "pmid": "41138228",
  "format": "bibtex"
}

Find Citing Articles

{
  "pmid": "12345678",
  "max_results": 100
}

Convert Between Identifiers

{
  "identifier": "10.1080/15476286.2025.2577449",
  "identifier_type": "doi"
}

API Reference

Search Parameters

Common Parameters:

  • query - Search query (keywords, phrases, field tags)
  • max_results - Number of results (1-1000, default: 20)
  • start - Starting position for pagination (default: 0)
  • sort - Sort order: relevance, pub_date, author, journal

Date Parameters:

  • date_from - Start date (YYYY/MM/DD format)
  • date_to - End date (YYYY/MM/DD format)

Field Tags:

  • [Title] - Article title
  • [Author] - Author name
  • [Journal] - Journal name
  • [MeSH Terms] - Medical Subject Headings
  • [Abstract] - Abstract text
  • [Affiliation] - Author affiliation
  • [Publication Type] - Type of publication
  • [DOI] - Digital Object Identifier

Example: "Smith J[Author] AND cancer[Title]"

MeSH Terms

Medical Subject Headings (MeSH) is the NLM controlled vocabulary thesaurus used for indexing articles. Using MeSH terms provides more precise search results than keyword searches.

Common MeSH Categories:

  • Diseases
  • Chemicals and Drugs
  • Analytical, Diagnostic and Therapeutic Techniques
  • Anatomy
  • Organisms
  • Psychiatry and Psychology
  • Phenomena and Processes

Citation Formats

The server supports multiple citation formats:

  • APA - American Psychological Association
  • MLA - Modern Language Association
  • Chicago - Chicago Manual of Style
  • BibTeX - LaTeX bibliography format
  • RIS - Research Information Systems format

Response Format

All tools return structured JSON data including:

  • Article metadata (PMID, title, authors, journal, publication date)
  • Abstract text (when available)
  • MeSH terms and keywords
  • DOI and other identifiers
  • Citation information
  • Full-text availability status

PMID Format

All PMIDs must be numeric strings (e.g., "12345678")

Error Handling

The server includes comprehensive error handling for:

  • Network Issues: Automatic retry with exponential backoff
  • Rate Limiting: Automatic throttling to comply with NCBI policies
  • Invalid Parameters: Clear error messages for validation failures
  • API Errors: Proper HTTP status code handling
  • Missing Data: Graceful handling of unavailable fields

Common error responses include:

{
  "error": "Invalid PMID format: abc123",
  "isError": true
}

Development

Building from Source

# Install dependencies
npm install

# Build TypeScript to JavaScript
npm run build

# Development with watch mode
npm run watch

Key Dependencies

  • @modelcontextprotocol/sdk - MCP server framework
  • axios - HTTP client for API requests
  • xml2js - XML parsing for PubMed responses
  • TypeScript for type safety and development

Data Sources

E-utilities API: https://eutils.ncbi.nlm.nih.gov/entrez/eutils/ PubMed Central API: https://www.ncbi.nlm.nih.gov/pmc/tools/developers/ Coverage: 36+ million citations from MEDLINE, life science journals, and online books Data Updates: Real-time access to the latest publications

Rate Limits

  • Without API key: 3 requests per second
  • With API key: 10 requests per second

The server automatically handles rate limiting to comply with NCBI's usage policies.

Troubleshooting

  1. Server Connection Issues:

    # Test server manually
    cd pubmed-server
    node build/index.js
    # Should show: "PubMed MCP Server running on stdio"
    
  2. Invalid PMID Errors:

    • Ensure PMIDs are numeric strings
    • Example: "12345678" ✓, "PMID12345678" ✗
  3. No Results Returned:

    • Check search query syntax
    • Try broader search terms
    • Verify field tags are correct
  4. Rate Limit Errors:

    • Consider obtaining an NCBI API key
    • Reduce request frequency
    • Use batch operations when possible
  5. Full Text Not Available:

    • Not all articles have full text in PMC
    • Check if article has a PMC ID
    • Some articles may be behind paywalls

Research Use Cases

  • Literature Review: Comprehensive search across biomedical literature
  • Citation Analysis: Track citations and references for research impact
  • Systematic Reviews: Batch retrieval and analysis of multiple articles
  • Meta-Analysis: Collect data from multiple studies efficiently
  • Research Trends: Identify trending topics and recent publications
  • Author Research: Find all publications by specific researchers
  • Journal Analysis: Analyze publication patterns in specific journals
  • MeSH-Based Discovery: Precise medical subject searches

Compliance & Ethics

This server provides access to publicly available biomedical literature from PubMed. Users should:

  • Follow institutional policies for research and publication
  • Respect copyright and licensing terms for full-text articles
  • Cite sources appropriately in publications
  • Use data for legitimate research and educational purposes
  • Comply with NCBI's usage policies and rate limits

License

MIT License - See LICENSE file for details


Data Source: PubMed/NCBI (https://pubmed.ncbi.nlm.nih.gov) API Documentation: https://www.ncbi.nlm.nih.gov/books/NBK25501/ Server Version: 1.0.0

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured