Skip to main content
Glama

Server Details

PubMed MCP — wraps the NCBI E-utilities API (biomedical literature, free, no auth)

Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.

If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.

Status
Unhealthy
Uptime
40.6% over 42 days
Last Tested
Transport
Streamable HTTP
URL
Repository
pipeworx-io/mcp-pubmed
GitHub Stars
1
Server Listing
mcp-pubmed

TDQS

A3.8/5.0

Scored across 43 tools

Disambiguation3/5

Most tools have long, carefully differentiated descriptions, but the set contains literal duplicates: the deprecated aliases get_citations/get_full_text/get_related_articles behave identically to their pubmed_* counterparts, and ask_pipeworx / ask_pipeworx_beta / ask_pipeworx_grounded / deep_research form a cluster of overlapping 'ask' entry points. An agent can still pick correctly if it reads carefully, but the aliasing and near-duplicate routers invite misselection.

Naming Consistency3/5

Names are predominantly snake_case, but conventions are mixed: some are verb_noun (get_abstract, search_pubmed, compare_entities) while others are noun_verb (entity_profile, polymarket_edges, pipeworx_feedback), and the PubMed tools split between prefixed (pubmed_get_citations) and unprefixed (get_summary, get_abstract) forms. Readable, but not a single predictable pattern.

Tool Count2/5

43 tools is far above a well-scoped set, and the surface is wildly over-broad for a server named 'Pubmed' — it bundles Polymarket arbitrage, npm dependency scanning, AI-visibility auditing, memory, and subscriptions alongside the PubMed tools. Each tool is individually plausible, but the count and scope mismatch is severe.

Completeness3/5

The PubMed subset is reasonably complete for read-only literature work (search, summary, abstract, full text, citations, related articles, integrity, trends, evidence landscape), and the gateway extras add breadth. However, the coexistence of deprecated alias tools rather than a clean surface, plus an unclear overall domain, leaves the set feeling like an incomplete grab-bag rather than a coherent, finished API.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedbet_research2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "market": "when-will-bitcoin-hit-150k"
        -  },
        -  {
        -    "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k"
        -  }
        -]New value: +[
        +  {
        +    "market": "will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  },
        +  {
        +    "market": "https://polymarket.com/event/will-kristi-noem-win-the-2028-republican-presidential-nomination"
        +  }
        +]
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."New value: +"Polymarket slug (\"will-kristi-noem-win-the-2028-republican-presidential-nomination\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
  2. 1 tool update
    • Changedpolymarket_kalshi_spread1 field changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "topic": "fed"
        -  },
        -  {
        -    "topic": "btc"
        -  }
        -]New value: +[
        +  {
        +    "topic": "fed"
        +  },
        +  {
        +    "topic": "btc"
        +  },
        +  {
        +    "topic": "bitcoin"
        +  },
        +  {
        +    "topic": "fed rate decision"
        +  }
        +]
  3. 2 tool updates
    • Changedbet_research2 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "market": "will-bitcoin-reach-100k-in-july-2026"
        -  },
        -  {
        -    "market": "https://polymarket.com/event/will-bitcoin-hit-150k-by-june-30-2026"
        -  }
        -]New value: +[
        +  {
        +    "market": "when-will-bitcoin-hit-150k"
        +  },
        +  {
        +    "market": "https://polymarket.com/event/when-will-bitcoin-hit-150k"
        +  }
        +]
      • changedInput schema / properties / market / description
        Previous value: -"Polymarket slug (\"will-bitcoin-hit-150k-by-june-30-2026\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k by June 30?\")"New value: +"Polymarket slug (\"when-will-bitcoin-hit-150k\"), full URL (\"https://polymarket.com/event/...\"), or question text (\"Will Bitcoin hit $150k?\"). Dated slugs stop resolving once they settle — Polymarket de-indexes resolved markets — so prefer an undated one."
    • Changedpolymarket_kalshi_spread1 field changed
      • changedInput schema / properties / topic / description
        Previous value: -"Pre-mapped: fed | btc | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president"New value: +"Subject to compare. Canonical keys: fed | btc | eth | cpi | gdp | sp500 | recession | next_pope | next_uk_pm | next_israel_pm | 2028_president — but aliases and keywords resolve too (\"bitcoin\", \"fed rate decision\", \"ethereum\", \"inflation\", \"s&p 500\", \"us recession\", \"next pope\", \"2028 election\"). Check resolution.topic_matched_by in the response: \"exact\"/\"alias\" is a curated pairing, \"phrase\"/\"token\" is a keyword guess."
  4. 1 tool update
    • Changedget_summary6 fields changed
      • addedOutput schema / properties / articles / items / properties / author_details
        Added value: +{
        +  "description": "Per-author detail, index-aligned with authors[]: name, affiliations (verbatim from efetch XML), and any emails found inside them",
        +  "items": {
        +    "properties": {
        +      "affiliations": {
        +        "description": "Verbatim AffiliationInfo/Affiliation strings from efetch XML; empty if the record has none",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "emails": {
        +        "description": "Email addresses found inside this author's affiliation strings by plain regex; empty if none present",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      },
        +      "name": {
        +        "description": "Author name as indexed by esummary (e.g. \"Smith JA\")",
        +        "type": "string"
        +      }
        +    },
        +    "required": [
        +      "name",
        +      "affiliations",
        +      "emails"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • changedOutput schema / properties / articles / items / properties / authors / description
        Previous value: -"Per-author name, affiliations (verbatim from efetch XML), and any emails found inside them"New value: +"Author names as plain strings, e.g. \"Smith JA\" (unchanged shape; see author_details for affiliations/emails)"
      • removedOutput schema / properties / articles / items / properties / authors / items / properties
        Removed value: -{
        -  "affiliations": {
        -    "description": "Verbatim AffiliationInfo/Affiliation strings from efetch XML; empty if the record has none",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "emails": {
        -    "description": "Email addresses found inside this author's affiliation strings by plain regex; empty if none present",
        -    "items": {
        -      "type": "string"
        -    },
        -    "type": "array"
        -  },
        -  "name": {
        -    "description": "Author name as indexed by esummary (e.g. \"Smith JA\")",
        -    "type": "string"
        -  }
        -}
      • removedOutput schema / properties / articles / items / properties / authors / items / required
        Removed value: -[
        -  "name",
        -  "affiliations",
        -  "emails"
        -]
      • changedOutput schema / properties / articles / items / properties / authors / items / type
        Previous value: -"object"New value: +"string"
      • changedOutput schema / properties / articles / items / required
        Previous value: -[
        -  "pmid",
        -  "title",
        -  "authors",
        -  "journal",
        -  "pub_date",
        -  "volume",
        -  "issue",
        -  "pages",
        -  "pub_types",
        -  "doi",
        -  "url"
        -]New value: +[
        +  "pmid",
        +  "title",
        +  "authors",
        +  "author_details",
        +  "journal",
        +  "pub_date",
        +  "volume",
        +  "issue",
        +  "pages",
        +  "pub_types",
        +  "doi",
        +  "url"
        +]
  5. 1 tool update
    • Changedget_summary4 fields changed
      • changedOutput schema / properties / articles / items / properties / authors / description
        Previous value: -"List of author names"New value: +"Per-author name, affiliations (verbatim from efetch XML), and any emails found inside them"
      • addedOutput schema / properties / articles / items / properties / authors / items / properties
        Added value: +{
        +  "affiliations": {
        +    "description": "Verbatim AffiliationInfo/Affiliation strings from efetch XML; empty if the record has none",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "emails": {
        +    "description": "Email addresses found inside this author's affiliation strings by plain regex; empty if none present",
        +    "items": {
        +      "type": "string"
        +    },
        +    "type": "array"
        +  },
        +  "name": {
        +    "description": "Author name as indexed by esummary (e.g. \"Smith JA\")",
        +    "type": "string"
        +  }
        +}
      • addedOutput schema / properties / articles / items / properties / authors / items / required
        Added value: +[
        +  "name",
        +  "affiliations",
        +  "emails"
        +]
      • changedOutput schema / properties / articles / items / properties / authors / items / type
        Previous value: -"string"New value: +"object"
  6. 1 tool update
    • Changedget_summary4 fields changed
      • changedInput schema / examples
        Previous value: -[
        -  {
        -    "ids": "33579999,34567890"
        -  }
        -]New value: +[
        +  {
        +    "ids": [
        +      "33301246",
        +      "32000001"
        +    ]
        +  },
        +  {
        +    "ids": "33579999,34567890"
        +  }
        +]
      • changedInput schema / properties / ids / description
        Previous value: -"Comma-separated PubMed IDs (e.g., \"33579999,34567890\")"New value: +"PubMed IDs, either as an array ([\"33579999\",\"34567890\"] — what search_pubmed returns) or as a comma-separated string (\"33579999,34567890\")."
      • addedInput schema / properties / ids / items
        Added value: +{
        +  "type": "string"
        +}
      • changedInput schema / properties / ids / type
        Previous value: -"string"New value: +[
        +  "string",
        +  "array"
        +]

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Exposes NCBI PubMed as MCP tools for searching literature, fetching abstracts, exploring citation graphs, and finding author publications without requiring an API key.
    4
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server for NCBI PubMed E-utilities with rate limiting, enabling article search, metadata retrieval, full-text access, BibTeX generation, and bibliography management.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for searching PubMed scientific articles using NCBI E-utilities API. Supports query, fetch summaries, and full text retrieval with caching and rate limiting.
    30 npm
    ISC
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.