PubMed Enhanced Search

pubmed-mcp-smithery
  • python

4

GitHub Stars

python

Language

6 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "leescot-pubmed-mcp-smithery": {
      "command": "python",
      "args": [
        "pubmed_enhanced_mcp_server.py"
      ]
    }
  }
}

You can tap into PubMed data with a dedicated MCP server that adds powerful search, filtering, and MeSH/pico capabilities. It equips you to explore scholarly articles more efficiently, compare term prevalence, and perform structured queries directly through MCP clients.

How to use

Use an MCP client to interact with the PubMed Enhanced Search MCP Server. You can search for papers by keywords and optionally filter by journal, retrieve MeSH terms for concepts, count publications across terms, fetch detailed paper data, and perform structured PICO-based searches. Use the five core functions to build workflows that fit your research questions.

Key workflows you can run include:

  • Quick PubMed search by keywords with optional journal filter
  • Retrieve related MeSH terms for a concept
  • Compare publication counts across multiple terms
  • Get full details for specific papers by PMID
  • Build PICO-based searches with synonyms and combined queries
# Example client usage (conceptual)
results = await search_pubmed(
    keywords=["diabetes", "insulin resistance"],
    journal="Nature Medicine",
    num_results=5,
    sort_by="date_desc"
)
mesh = await get_mesh_terms("diabetes")
counts = await get_pubmed_count(["diabetes", "obesity", "hypertension"])
papers = await format_paper_details(["12345678", "87654321"])
pico = await pico_search(
    p_terms=["diabetes", "type 2 diabetes", "T2DM"],
    i_terms=["metformin"],
    c_terms=["sulfonylurea"],
    o_terms=["HbA1c reduction"]
)

How to use with a client

To start querying, run the MCP server locally and connect your MCP client to it. Use the server’s exposed functions to send requests and receive structured responses. If you are building an integration, wrap the function calls in your client and handle results and errors as you would with any other MCP endpoint.

Note on rate limiting

The server includes automatic retry with backoff to gracefully handle rate limits from external PubMed services. If you hit rate limits, the client may experience delayed responses while the server retries.

Available tools

search_pubmed

Search PubMed for articles matching keywords with optional journal filtering, returning a list of matching papers and basic metadata.

get_mesh_terms

Retrieve MeSH terms related to a medical concept to aid in further filtering or exploration.

get_pubmed_count

Return publication counts for multiple search terms to compare prevalence across terms.

format_paper_details

Fetch detailed information for specific papers by PMID, including abstract, DOI, authors, and keywords.

pico_search

Perform structured PICO-based searches with synonym support and combined queries across P, I, C, and O elements.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational