# pubmed-mcp-server MCP server

Search PubMed/Europe PMC, fetch articles and full text (PMC/EPMC/Unpaywall), citations, MeSH terms.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-pubmed-mcp-server
- Repository: https://github.com/cyanheads/pubmed-mcp-server

## Install
- Command: `npx -y @cyanheads/pubmed-mcp-server`
- Endpoint: https://pubmed.caseyjhand.com/mcp
- Auth: Not captured

## Setup notes
- Package: Npm @cyanheads/pubmed-mcp-server v2.7.1
- Environment variable: MCP_LOG_LEVEL (default info)
- Environment variable: NCBI_API_KEY
- Environment variable: NCBI_ADMIN_EMAIL
- Environment variable: UNPAYWALL_EMAIL
- Package: Npm @cyanheads/pubmed-mcp-server v2.7.1
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_PUBLIC_URL
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- Environment variable: NCBI_API_KEY
- Environment variable: NCBI_ADMIN_EMAIL
- Environment variable: UNPAYWALL_EMAIL
- Remote endpoint: https://pubmed.caseyjhand.com/mcp

## Tools
- pubmed_search_articles (Pubmed Search Articles) - Search 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. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_fetch_articles (Pubmed Fetch Articles) - Fetch full article metadata by PubMed IDs. Returns detailed article information including abstract, authors, journal, MeSH terms. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_fetch_fulltext (Pubmed Fetch Fulltext) - Fetch full-text articles from PubMed Central with structured sections 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` (preprints and EPMC-only OA records that lack PMID/PMCID). Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_format_citations (Pubmed Format Citations) - Get formatted citations for PubMed articles in one or more styles (APA, MLA, BibTeX, RIS). Pass a single style as a string or multiple as an array. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_find_related (Pubmed Find Related) - Find articles related to a source article — similar content, citing articles, or references. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_spell_check (Pubmed Spell Check) - Spell-check a query and get NCBI's suggested correction. Useful for refining search queries. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_lookup_mesh (Pubmed Lookup Mesh) - Search and explore the MeSH (Medical Subject Headings) controlled vocabulary. Returns descriptor records with tree numbers, scope notes, and entry terms. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_lookup_citation (Pubmed Lookup Citation) - Look 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 one bibliographic field (journal, year, volume, firstPage, or authorName); more fields = better match accuracy. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_convert_ids (Pubmed Convert Ids) - Convert 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. Endpoint: https://pubmed.caseyjhand.com/mcp
- pubmed_europepmc_search (Pubmed Europepmc Search) - Search 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`. Endpoint: https://pubmed.caseyjhand.com/mcp

## Resources
- pubmed://database/info - PubMed Database Info PubMed database metadata including field list, last update date, and record count. MIME type: application/json

## Prompts
- research_plan - Generate a structured research plan outline for a biomedical research project. Arguments: title, goal, keywords, organism, includeAgentPrompts

## Metadata
- Owner: io.github.cyanheads
- Version: 2.7.1
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 20, 2026
- Source: https://registry.modelcontextprotocol.io
