pubmed-mcp-server
Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.
148 stars12k downloads/wk
Reviews
Write oneNobody has reviewed pubmed-mcp-server yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Tools (11)
write = sends, deletes, buys or postspubmed_convert_idsFreeConvert between article identifiers (DOI, PMID, PMCID). Accepts up to 50 IDs of a single type per request. Only resolves articles indexed in PubMed Central — for articles not in PMC, use pubmed_search_articles instead.
pubmed_europepmc_fetchFreeFetch complete Europe PMC records — including the full, untruncated abstract — for records addressed by `source` plus `epmcId`. Pairs with `pubmed_europepmc_search`, which returns bounded `abstractSnippet` values and flags cut ones with `abstractTruncated: true`; pass those hits' `source` and `epmcId` here to read the whole abstract. This is the retrieval path for preprint (`PPR`), patent (`PAT`), and Agricola (`AGR`) records, which frequently carry no PMID and no DOI, so `pubmed_fetch_articles` and `pubmed_fetch_fulltext` cannot address them. Up to 25 records per call.
pubmed_europepmc_searchFreeSearch Europe PMC, a broad open-access biomedical corpus. Surfaces preprints (`source: PPR`), patents (`source: PAT`), Agricola (`source: AGR`), plus everything in PubMed (`MED`) and PMC. Use when additional coverage is needed — preprints and EPMC-only OA records are the typical recovery. Paginate via `cursorMark`. Defaults to `MED`, `PMC`, and `PPR`; pass `sources` to include `PAT` / `AGR`. Abstracts arrive as a bounded `abstractSnippet` with `abstractTruncated` marking the cut ones — pass a hit’s `source` and `epmcId` to `pubmed_europepmc_fetch` for the complete abstract.
pubmed_fetch_articlesFreeFetch full article metadata by PubMed IDs. Returns detailed article information including abstract, authors, journal, MeSH terms. Set `maxResponseCharacters` to bound the whole response: articles past the ceiling are deferred whole and listed in `deferred.ids` for a follow-up call.
pubmed_fetch_fulltextFreeFetch full-text articles from PubMed Central with structured sections, tables, and references. When PMC misses, transparently falls back to Europe PMC `fullTextXML` (structured JATS for records with a PMC counterpart), then to Unpaywall — publisher-hosted or institutional open-access copies as HTML-as-Markdown or PDF-as-text. Provide exactly one of `pmcids` (PMC IDs directly), `pmids` (PubMed IDs, auto-resolved), or `dois` (DOIs, auto-resolved to PMC via the ID Converter; preprints and EPMC-only OA fall through to the Europe PMC and Unpaywall layers). Two independent character controls: `maxCharacters` caps body text per article, `maxResponseCharacters` caps the whole response and defers articles past the ceiling whole, listing them in `deferred.ids` for a follow-up call.
pubmed_find_relatedFreeFind articles related to a source article — similar content (similar), articles citing this one (cited_by), or articles this one cites (references). Uses NCBI ELink as the primary source; falls back to Europe PMC then OpenAlex when NCBI is unavailable.
pubmed_format_citationsFreeGet formatted citations for PubMed articles in one or more formats (apa, mla, bibtex, ris, vancouver). Pass a single format as a string or multiple as an array.
pubmed_lookup_citationFreeLook up PubMed IDs from partial bibliographic citations. Useful when you have a reference (journal, year, volume, page, author) and need the PMID — deterministic citation matching, more reliable than free-text search for structured references. Each citation must include at least journal or year (ECitMatch primary-keys on journal+volume+page; author-only or volume-only inputs guarantee no match); more fields = better match accuracy.
pubmed_lookup_meshFreeSearch and explore the MeSH (Medical Subject Headings) controlled vocabulary. Returns descriptor records with tree numbers, scope notes, and entry terms, plus pagination via offset for paging past the maxResults cap.
pubmed_search_articlesFreeSearch PubMed with full query syntax, filters, and date ranges. Returns PMIDs and optional brief summaries. Supports field-specific filters (author, journal, MeSH terms), common filters (language, species, free full text), and pagination via offset for paging through large result sets.
pubmed_spell_checkFreeSpell-check a query and get NCBI's suggested correction. Useful for refining search queries.
Public scan report
scanner v0.1.3 · 2026-09-19 · same rubric, same numbers if you re-run it
- Code scan86 source files scanned; 86 source files scanned25/25
- Live reliabilityremote reachable in 1133ms20/20
- Tool poisoning11 tool descriptions checked15/15
- Auth qualityopen endpoint, read-only tools10/15
- Maintenancelast push 1 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
Install directly
claude mcp add --transport http pubmed-mcp-server https://pubmed.caseyjhand.com/mcp
Alternatives to pubmed-mcp-server
Same job from other publishers, ranked by rating then adoption.
- socraticodeMCP server for enterprise local codebase indexing, semantic search, and code dependency graphs.not reviewedEstablishedC
- SearXNG SearchMCP server for SearXNG — privacy-respecting web search with pagination, URL readingnot reviewedEstablishedB
GitHitsSearch public open-source code, documentation, metadata, vulnerabilities, changelogs, and examples.not reviewedEstablishedA- Google Maps MCP Server18 Google Maps tools for AI agents — geocode, search, directions, weather, and more.not reviewedEstablishedB
- not reviewedEstablishedA