PubMed MCP Server
Enables the validation and conversion of Digital Object Identifiers (DOIs) to PubMed identifiers (PMIDs) and supports DOI-specific field searching for biomedical research articles.
Provides comprehensive access to over 36 million biomedical citations through tools for searching MEDLINE, life science journals, and online books, retrieving abstracts and full-text articles via PubMed Central, and managing citation data.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PubMed MCP Server Search for recent articles about mRNA vaccines and summarize the abstracts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.
Related MCP server: mcp-pubmed
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
Node.js 16+ (install from nodejs.org)
Optional: NCBI API key for higher rate limits (get from NCBI Account Settings)
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 watchKey Dependencies
@modelcontextprotocol/sdk- MCP server frameworkaxios- HTTP client for API requestsxml2js- XML parsing for PubMed responsesTypeScript 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
Server Connection Issues:
# Test server manually cd pubmed-server node build/index.js # Should show: "PubMed MCP Server running on stdio"Invalid PMID Errors:
Ensure PMIDs are numeric strings
Example: "12345678" ✓, "PMID12345678" ✗
No Results Returned:
Check search query syntax
Try broader search terms
Verify field tags are correct
Rate Limit Errors:
Consider obtaining an NCBI API key
Reduce request frequency
Use batch operations when possible
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
Available Tools
16 toolsadvanced_searchC
Perform advanced search with field-specific queries and boolean operators
Inputs: title, abstract, author, journal, +4 more.
batch_article_lookupB
Retrieve multiple articles efficiently (up to 200 PMIDs)
Inputs: pmids (required).
convert_identifiersB
Convert between PMID, DOI, and PMC ID
Inputs: identifier (required), identifier_type.
export_citationA
Export citation in various formats (APA, MLA, Chicago, BibTeX, RIS)
Inputs: pmid (required), format.
get_abstractB
Retrieve article abstract by PMID
Inputs: pmid (required).
get_article_detailsA
Get comprehensive metadata and abstract for a specific article by PMID
Inputs: pmid (required).
get_cited_byA
Find articles that cite a specific PMID
Inputs: pmid (required), max_results.
get_full_textB
Retrieve full text from PubMed Central (PMC) when available
Inputs: pmcid (required).
get_referencesC
Get reference list for an article
Inputs: pmid (required), max_results.
get_similar_articlesB
Find related articles based on content similarity
Inputs: pmid (required), max_results.
get_trending_articlesA
Get recently published or trending articles in a specific field
Inputs: field (required), days, max_results.
search_articlesB
Search PubMed for articles by keywords, authors, journals, dates, or MeSH terms. Returns PMIDs and basic metadata.
Inputs: query (required), max_results, start, sort, +2 more.
search_by_authorB
Find articles by specific author(s)
Inputs: author_name (required), affiliation, max_results.
search_by_journalA
Search articles within specific journal(s)
Inputs: journal_name (required), keywords, date_from, date_to, +1 more.
search_by_mesh_termsC
Search using Medical Subject Headings (MeSH) terms
Inputs: mesh_terms (required), major_topic_only, max_results.
validate_pmidB
Validate PubMed ID format and check if article exists
Inputs: pmid (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Most tools have distinct purposes, but there is slight overlap between 'get_abstract' and 'get_article_details' (the latter includes abstract), and between 'advanced_search' and 'search_articles' (advanced search allows field-specific queries). However, descriptions clearly differentiate them.
The naming follows a mostly consistent verb_noun pattern, with 'search_by_*' for specific field searches and 'get_*' for retrieval. However, a few tools like 'advanced_search', 'batch_article_lookup', and 'convert_identifiers' deviate from the prefix pattern.
16 tools is well-scoped for a PubMed server covering searching, retrieval, citation, and related articles. Each tool serves a clear purpose without being excessive.
The tool set covers the full lifecycle of PubMed access: search by various criteria, retrieve metadata/abstract/full text, export citations, convert identifiers, and find related articles. No obvious gaps for a read-only API.
Maintenance
Related MCP Connectors
PubTator 3 MCP — biomedical entity search, literature search with entity highlighting, and…
PubMed MCP — wraps the NCBI E-utilities API (biomedical literature, free, no auth)
Search PubMed with precision using keyword and journal filters and smart sorting. Uncover MeSH ter…
Search biomedical literature, get article details, find related articles, and explore MeSH terms
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides seamless access to over 35 million PubMed scientific articles through natural language queries for research discovery and analysis. It enables tools for advanced searches, retrieving article details, and exploring related research within the life sciences and biomedical fields.13-
- AlicenseAqualityCmaintenanceAn MCP server that provides access to PubMed and NCBI's biomedical literature database for searching articles, retrieving metadata, and tracking citations. It enables users to explore related research, browse MeSH vocabulary, and find free full-text links.6MIT
- AlicenseAqualityDmaintenanceAn MCP server that provides direct access to PubMed and PubMed Central via the NCBI E-utilities API. It enables AI models to search biomedical literature, retrieve detailed article metadata, and download open-access full texts.5MIT
- AlicenseAqualityDmaintenanceExposes NCBI PubMed as MCP tools for searching literature, fetching abstracts, exploring citation graphs, and finding author publications without requiring an API key.4MIT