← Back to directory
I

io.github.cyanheads/pubmed-mcp-server

Community
Search PubMed and Europe PMC biomedical literature via MCP.
GitHub source repository ↗
★ 126 Stars Category · Other Very popular
65FMRS · C
Reliability
9/20
Security and permissions
13/20
Maintenance
13/20
Documentation
16/20
Setup experience
14/20

The source documents 11 tools, 1 resource, and 1 prompt for PubMed, PMC, and Europe PMC workflows, with STDIO and Streamable HTTP support. It is suited to biomedical literature retrieval and organization and should not be described as an official upstream server.

Read the FMRS scoring method →

@cyanheads/pubmed-mcp-server is an Apache-2.0-licensed MCP server for searching PubMed and Europe PMC, retrieving article metadata and full text, formatting citations, exploring MeSH vocabulary, and converting DOI, PMID, and PMCID identifiers. It supports STDIO and Streamable HTTP and provides a public hosted instance.

Tools

pubmed_search_articles
Search PubMed with full query syntax, field filters, date ranges, sorting, and pagination.
pubmed_europepmc_search
Search Europe PMC, including PubMed, PMC, preprints, patents, and Agricola records.
pubmed_europepmc_fetch
Fetch complete Europe PMC records and untruncated abstracts by source and epmcId.
pubmed_fetch_articles
Fetch article metadata by PMID, including titles, abstracts, authors, journals, DOIs, MeSH terms, and grants.
pubmed_fetch_fulltext
Fetch full text by PMID, PMCID, or DOI through PMC, Europe PMC, and optional Unpaywall fallback.
pubmed_format_citations
Generate citations in APA 7th, MLA 9th, BibTeX, RIS, or Vancouver format.
pubmed_find_related
Find similar articles, citing articles, or references for a specified article.
pubmed_spell_check
Check biomedical query spelling with NCBI ESpell and return suggestions.
pubmed_lookup_mesh
Search and explore MeSH vocabulary, including tree numbers, scope notes, and entry terms.
pubmed_lookup_citation
Resolve partial bibliographic references to PMIDs using journal, year, volume, page, and author fields.
pubmed_convert_ids
Convert identifiers between DOI, PMID, and PMCID using the PMC ID Converter.

Setup

Add the Streamable HTTP configuration from install_config to an MCP-capable client. Alternatively, run the npm package in STDIO mode with bunx or npx, or use Docker as documented in the README; local HTTP defaults to http://localhost:3010/mcp.

claude_desktop_config.json
{"mcpServers":{"pubmed-mcp-server":{"type":"streamable-http","url":"https://pubmed.caseyjhand.com/mcp"}}}

Fit and risk

Best for

  • Researchers and biomedical agents needing programmatic PubMed or Europe PMC access
  • Workflows requiring structured literature metadata, full text, and citation output
  • Literature-management tasks involving DOI, PMID, and PMCID identifiers

Not for

  • Users seeking searches across non-biomedical databases
  • Workflows requiring guaranteed full-text availability for every article
  • Users that need this server to be treated as an official PubMed or NCBI server

Required permissions

  • The server needs access to NCBI services; Europe PMC access is needed when Europe PMC features are enabled.
  • Full-text fallback through Unpaywall requires UNPAYWALL_EMAIL and access to Unpaywall.
  • API keys and contact emails are optional; NCBI_API_KEY can increase the NCBI rate limit.
  • Streamable HTTP deployments can use none, jwt, or oauth authentication; the default is none.

Risks and side effects

  • Full-text retrieval depends on PMC, Europe PMC, or legal open-access sources and may return unavailable or truncated results.
  • Unpaywall results may include best-effort warnings and may be returned as HTML Markdown or PDF text.
  • The source does not provide further details about authentication or availability of the public hosted instance.
  • NCBI and Europe PMC requests are affected by rate limits, timeouts, and retry settings.

Troubleshooting

  1. Verify that the client uses https://pubmed.caseyjhand.com/mcp for the hosted Streamable HTTP instance.
  2. For local STDIO, confirm that Bun is installed or use the documented npx configuration.
  3. For unavailable full text, verify the input is a PMID, PMCID, or DOI and inspect unavailable, triedTiers, and structured reason fields.
  4. If Europe PMC tools are missing, check whether EUROPEPMC_ENABLED is set to false.
  5. For NCBI rate-limit issues, configure NCBI_API_KEY and review request-delay and timeout settings.

Use cases

Search and filter biomedical literature
Retrieve article metadata, abstracts, and available full text
Generate references in multiple citation formats
Improve PubMed queries with MeSH vocabulary
Find related, citing, and referenced articles

Supported clients

Claude DesktopFull support
CursorFull support
VS CodeFull support