A Model Context Protocol (MCP) server that enables AI assistants to search and analyze PubMed medical literature with advanced filtering, citations, and research tools.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"pubmed-mcp": {
"args": [
"black"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
A comprehensive Model Context Protocol (MCP) server for PubMed literature search and management. This server provides advanced search capabilities, citation formatting, and research analysis tools through the MCP protocol.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'black' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
Black: Arbitrary file writes from unsanitized user input in cache file name
### Impact Black writes a cache file, the name of which is computed from various formatting options. The value of the `--python-cell-magics` option was placed in the filename without sanitization, which allowed an attacker who controls the value of this argument to write cache files to arbitrary file system locations. ### Patches Fixed in Black 26.3.1. ### Workarounds Do not allow untrusted user input into the value of the `--python-cell-magics` option.
PYSEC-2024-48
Versions of the package black before 24.3.0 are vulnerable to Regular Expression Denial of Service (ReDoS) via the lines_with_leading_tabs_expanded function in the strings.py file. An attacker could exploit this vulnerability by crafting a malicious input that causes a denial of service. Exploiting this vulnerability is possible when running Black on untrusted input, or if you habitually put thousands of leading tab characters in your docstrings.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in health
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
MCP server for the ClinicalTrials.gov v2 API. Search trials, retrieve study details and results, and match patients to eligible trials.
Manage your Hevy workouts, routines, folders, and exercise templates. Create and update sessions faster, organize plans, and search exercises to build workouts quickly. Stay synced with changes so your training log is always up to date.
FHIR MCP Server – helping you expose any FHIR Server or API as a MCP Server.
MCP Security Weekly
Get CVE alerts and security updates for Pubmed Mcp and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
A comprehensive Model Context Protocol (MCP) server for PubMed literature search and management. This server provides advanced search capabilities, citation formatting, and research analysis tools through the MCP protocol.
Clone the repository:
git clone https://github.com/your-org/pubmed-mcp.git
cd pubmed-mcp
Install dependencies:
pip install -r requirements.txt
Set up environment variables:
cp env.example .env
# Edit .env with your NCBI API key and email
Run the server:
python -m src.main
For development with additional tools:
make install-dev
Or manually:
pip install -r requirements.txt
pip install -e .
pip install black isort mypy flake8
Create a .env file in the project root with the following variables:
# Required
PUBMED_API_KEY=your_ncbi_api_key_here
PUBMED_EMAIL=your.email@example.com
# Optional
CACHE_TTL=300
CACHE_MAX_SIZE=1000
RATE_LIMIT=3.0
LOG_LEVEL=info
.env fileThe server provides the following MCP tools:
search_pubmedSearch PubMed with advanced filtering options.
{
"query": "machine learning healthcare",
"max_results": 20,
"date_range": "5y",
"article_types": ["Journal Article", "Review"],
"has_abstract": true
}
get_article_detailsGet detailed information for specific PMIDs.
{
"pmids": ["12345678", "87654321"],
"include_abstracts": true,
"include_citations": false
}
search_by_authorSearch for articles by a specific author.
{
"author_name": "Smith J",
"max_results": 10,
"include_coauthors": true
}
export_citationsExport citations in various formats.
{
"pmids": ["12345678"],
"format": "bibtex",
"include_abstracts": false
}
find_related_articlesFind articles related to a specific PMID.
{
"pmid": "12345678",
"max_results": 10
}
search_mesh_termsSearch using MeSH terms.
{
"term": "Machine Learning",
"max_results": 20
}
analyze_research_trendsAnalyze publication trends over time.
{
"topic": "artific
... [View full README on GitHub](https://github.com/chrismannina/pubmed-mcp#readme)