# pubmed-mcp-server [Health: Active]

**Category:** 🧬 Biology & Bioinformatics  
**Repository:** https://github.com/cyanheads/pubmed-mcp-server  
**GitHub Stars:** 166  
**npm Downloads (last month):** 15212  
**Views:** 8  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/pubmed-mcp-server-2

## Description
Comprehensive PubMed MCP Server to search, retrieve, and analyze biomedical literature from NCBI.

## Tools
Capabilities this server exposes over MCP:

- **pubmed_search_articles** — Search PubMed with full query syntax, structured filters, date ranges, and optional summaries
- **pubmed_fetch_articles** — Fetch article metadata by PMID: abstract, authors, journal, MeSH terms, databank accessions such as trial registration IDs, grants, a collective author's investigators on request, linked retraction and correction notices
- **pubmed_fetch_fulltext** — Fetch full text by PMID, PMCID, or DOI, falling back from PMC to Europe PMC to Unpaywall
- **pubmed_europepmc_search** — Search Europe PMC for preprints, patents, Agricola, and open-access records PubMed doesn't carry
- **pubmed_europepmc_fetch** — Fetch complete Europe PMC records, including the untruncated abstract, as `records: [{ source, epmcId }]
- **pubmed_fetch_citation_metrics** — Fetch NIH iCite citation metrics by PMID: Relative Citation Ratio, NIH percentile, citation counts and rates
- **pubmed_format_citations** — Format citations in APA 7th, MLA 9th, BibTeX, RIS, or Vancouver (ICMJE/NLM), with linked retraction and correction notices
- **pubmed_find_related** — Find similar articles, citing articles, or references for a PMID
- **pubmed_spell_check** — Correct a misspelled PubMed query via NCBI ESpell
- **pubmed_lookup_mesh** — Look up MeSH headings with tree numbers, scope notes, and entry terms
- **pubmed_lookup_citation** — Resolve partial references, up to 25 at a time, to PMIDs via ECitMatch
- **pubmed_convert_ids** — Convert between DOI, PMID, and PMCID via the PMC ID Converter

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "pubmed-mcp-server": {
    "command": "npx",
    "args": ["-y","@cyanheads/pubmed-mcp-server"]
  }
}
```

## Documentation

## What pubmed-mcp-server does

pubmed-mcp-server exposes biomedical literature workflows through the Model Context Protocol. It searches PubMed using full query syntax, structured filters, date ranges, and optional result summaries. It also searches Europe PMC for records beyond PubMed’s coverage, including preprints, patents, Agricola entries, and open-access material.

Article retrieval can include abstracts, authors, journals, publication types, MeSH terms, grants, databank accessions, investigator lists for collective authors, and linked retraction or correction notices. Full text can be requested with a PMID, PMCID, or DOI. Citation-oriented functions provide NIH iCite metrics, related articles, citing articles, references, citation formatting, and partial-reference resolution.

## How it works

The server communicates with MCP clients over stdio or Streamable HTTP. It can run locally or be accessed through the hosted MCP endpoint at `https://pubmed.caseyjhand.com/mcp`. The available MCP surface includes 12 tools, one database-information resource, and a `research_plan` prompt for generating a structured four-phase biomedical research plan.

Full-text retrieval tries PMC first, then Europe PMC, and finally Unpaywall when configured with an email address. Responses identify the source tier and can report truncation, unavailable records, deferred content, and other typed results. Europe PMC search uses cursor pagination and can be disabled through configuration.

## Setup and configuration

Install the package with the npm-based MCP configuration used by the provided client install links, or run the project through its Docker package. Client setup options are available for Claude Desktop, Cursor, and VS Code. The server can also be configured as a local Streamable HTTP service rather than a stdio process.

Set `UNPAYWALL_EMAIL` to enable the Unpaywall fallback during full-text retrieval. `EUROPEPMC_ENABLED=false` disables the Europe PMC search and fetch tools. No API key is required for the documented PubMed, Europe PMC, PMC, iCite, and identifier-resolution operations.

## Tools and capabilities

- `pubmed_search_articles` searches PubMed, applies filters, reports the effective query, and can return match counts or brief summaries.
- `pubmed_fetch_articles` retrieves metadata for up to 200 PMIDs per call, including notices and optional grants or investigators.
- `pubmed_fetch_fulltext` retrieves available full text using PMIDs, PMCIDs, or DOIs, with response-size and section controls.
- `pubmed_europepmc_search` and `pubmed_europepmc_fetch` search and retrieve Europe PMC records, including complete abstracts.
- `pubmed_fetch_citation_metrics` returns iCite measures such as Relative Citation Ratio, NIH percentile, citation counts, and clinical citations.
- `pubmed_format_citations` produces APA 7, MLA 9, BibTeX, RIS, or Vancouver references.
- `pubmed_find_related`, `pubmed_spell_check`, `pubmed_lookup_mesh`, `pubmed_lookup_citation`, and `pubmed_convert_ids` support discovery, query correction, vocabulary lookup, citation matching, and DOI/PMID/PMCID conversion.

## Limitations and notes

Full-text availability depends on PMC, Europe PMC, or Unpaywall coverage and licensing. Unpaywall fallback requires `UNPAYWALL_EMAIL`. Tool limits apply: full-text requests process the first 10 of up to 50 identifiers, citation formatting accepts up to 50 PMIDs, and Europe PMC fetch accepts up to 25 records per call. NIH iCite does not identify retractions, so article notices should be checked separately with `pubmed_fetch_articles`.

_Full upstream README: https://allmcps.com/mcp/pubmed-mcp-server-2/readme_

