← Back to search

io.github.cyanheads/pubmed-mcp-server

cyanheads streamable_http Scanned 29d ago

MCP server for the NCBI E-utilities API. Search PubMed, fetch article metadata and full text, generate citations, explore MeSH terms, and discover related research.

B
87.4 / 100

Versions

2.10.2latest
Jul 26, 2026
2.10.1
Jul 26, 2026
2.10.0
Jul 26, 2026
2.9.10
Jul 26, 2026
2.9.9
Jul 26, 2026
+ show 92 moreshow less
2.9.8
Jun 30, 2026
2.9.7
Jun 20, 2026
2.9.6
Jun 18, 2026
2.9.5
Jun 14, 2026
2.9.4
Jun 11, 2026
2.9.3
Jun 11, 2026
2.9.2
Jun 11, 2026
2.9.1
Jun 9, 2026
2.9.0
Jun 9, 2026
2.8.0
Jun 9, 2026
2.7.11
Jun 5, 2026
2.7.10
Jun 4, 2026
2.7.9
Jun 2, 2026
2.7.8
May 30, 2026
2.7.7
May 29, 2026
2.7.6
May 28, 2026
2.7.5
May 28, 2026
2.7.4
May 23, 2026
2.7.3
May 23, 2026
2.7.2
May 23, 2026
2.7.1
May 20, 2026
2.7.0
May 19, 2026
2.6.12
May 16, 2026
2.6.11
May 13, 2026
2.6.10
May 10, 2026
2.6.9
May 10, 2026
2.6.8
May 9, 2026
2.6.7
May 9, 2026
2.6.6
Apr 29, 2026
2.6.5
Apr 29, 2026
2.6.4
Apr 27, 2026
2.6.3
Apr 27, 2026
2.6.2
Apr 26, 2026
2.6.1
Apr 25, 2026
2.6.0
Apr 24, 2026
2.5.6
Apr 24, 2026
2.5.5
Apr 24, 2026
2.5.4
Apr 24, 2026
2.5.3
Apr 23, 2026
2.5.2
Apr 22, 2026
2.5.1
Apr 22, 2026
2.5.0
Apr 21, 2026
2.4.1
Apr 21, 2026
2.4.0
Apr 20, 2026
2.3.11
Apr 20, 2026
2.3.10
Apr 20, 2026
2.3.9
Apr 20, 2026
2.3.8
Apr 20, 2026
2.3.7
Apr 20, 2026
2.3.6
Apr 19, 2026
2.3.5
Apr 14, 2026
2.3.4
Apr 13, 2026
2.3.3
Apr 9, 2026
2.3.2
Apr 4, 2026
2.3.1
Apr 1, 2026
2.3.0
Mar 31, 2026
2.2.6
Mar 30, 2026
2.2.5
Mar 28, 2026
2.2.4
Mar 28, 2026
2.2.3
Mar 25, 2026
2.2.2
Mar 25, 2026
2.2.1
Mar 23, 2026
2.2.0
Mar 23, 2026
2.1.6
Mar 9, 2026
2.1.5
Mar 7, 2026
2.1.4
Mar 5, 2026
2.1.3
Mar 5, 2026
2.1.2
Mar 5, 2026
2.1.1
Mar 5, 2026
2.1.0
Mar 5, 2026
2.0.1
Mar 5, 2026
1.4.5
Oct 2, 2025
1.4.4
Sep 15, 2025
1.4.3
Aug 8, 2025
1.4.1
Aug 4, 2025
1.3.5
Jul 31, 2025
1.3.4
Jul 31, 2025
1.3.3
Jul 31, 2025
1.3.2
Jul 31, 2025
1.3.1
Jul 31, 2025
1.3.0
Jul 30, 2025
1.2.4
Jul 7, 2025
1.2.3
Jun 21, 2025
1.2.2
Jun 21, 2025
1.2.1
Jun 16, 2025
1.1.4
Jun 13, 2025
1.1.2
Jun 13, 2025
1.1.1
Jun 13, 2025
1.0.16
Jun 4, 2025
1.0.14
May 24, 2025
1.0.13
May 24, 2025
1.0.12
May 24, 2025
PermissionsTool SafetyAuthAnnotationsCode QualityStabilitySpecVuln HistoryAuthorTransparencyCommunity

Tools 11

pubmed_europepmc_fetch
annotations: verified low

Fetch 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.

input object output object
readOnlyHint true openWorldHint true
pubmed_format_citations
annotations: verified low

Get 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.

pmid string input object pmids array output object citations record totalFormatted number totalSubmitted number
readOnlyHint true openWorldHint true
pubmed_lookup_citation
annotations: verified low

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 journal or year (ECitMatch primary-keys on journal+volume+page; author-only or volume-only inputs guarantee no match); more fields = better match accuracy.

input object
readOnlyHint true openWorldHint true
pubmed_fetch_articles
annotations: verified low

Fetch 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.

input object pmids array output object articles array includeMesh boolean includeGrants boolean
readOnlyHint true openWorldHint true
pubmed_lookup_mesh
annotations: verified low

Search 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.

input object query string offset number output object maxResults number
readOnlyHint true openWorldHint true
pubmed_search_articles
annotations: verified low

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.

input object maxResults number
readOnlyHint true openWorldHint true
pubmed_convert_ids
annotations: verified low

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.

pmid string input object output object requestedId string
readOnlyHint true openWorldHint true
pubmed_find_related
annotations: verified low

Find 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.

pmid string input object offset number output object maxResults number sourcePmid string relationship enum
readOnlyHint true openWorldHint true
pubmed_spell_check
annotations: verified low

Spell-check a query and get NCBI's suggested correction. Useful for refining search queries.

input object output object original string corrected string hasSuggestion boolean
readOnlyHint true openWorldHint true
pubmed_europepmc_search
annotations: verified low

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`. 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.

input object
readOnlyHint true openWorldHint true
pubmed_fetch_fulltext
annotations: verified low

readOnlyHint true openWorldHint true

Permissions 3

network medium
Server uses network capabilities via: fetch()
shell high
Server uses shell capabilities via: child_process, spawn(), spawnSync()
env_vars low
Server uses env_vars capabilities via: process.env

Scan Findings 32

info
Tool 'pubmed_europepmc_fetch' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_format_citations' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_lookup_citation' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_fetch_articles' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_lookup_mesh' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_search_articles' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_convert_ids' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_find_related' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_spell_check' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_europepmc_search' annotations are consistent annotation_checker · 80%
info
Tool 'pubmed_fetch_fulltext' annotations are consistent annotation_checker · 80%
info
Sandbox failed to start for behavioral verification behavioral_verifier · 100%
info
package.json metadata manifest_parser · 100%
info
Tool: pubmed_europepmc_fetch manifest_parser · 75%
info
Tool: pubmed_format_citations manifest_parser · 75%
info
Tool: pubmed_lookup_citation manifest_parser · 75%
info
Tool: pubmed_fetch_articles manifest_parser · 75%
info
Tool: pubmed_lookup_mesh manifest_parser · 75%
info
Tool: pubmed_search_articles manifest_parser · 75%
info
Tool: pubmed_convert_ids manifest_parser · 75%
info
Tool: pubmed_find_related manifest_parser · 75%
info
Tool: pubmed_spell_check manifest_parser · 75%
info
Tool: pubmed_europepmc_search manifest_parser · 75%
info
Tool: pubmed_fetch_fulltext manifest_parser · 75%
info
Required env vars (14) manifest_parser · 80%
info
Sandbox failed to start for output poisoning scan output_poisoning · 100%
medium
Permission: network access detected permission_analyzer · 70%
high
Permission: shell access detected permission_analyzer · 95%
low
Permission: env_vars access detected permission_analyzer · 90%
info
SBOM generated: 19 components sbom_generator · 100%
high
Hardcoded Password found in cyanheads-pubmed-mcp-server-05f8ecf/framework-skills/api-utils/references/security.md secret_scanner · 65%
medium
No build provenance detected (SLSA L0) slsa_assessor · 90%