Skip to main content
Glama
andybrandt

mcp-simple-pubmed

by andybrandt

MCP Simple PubMed

Trust Score

An MCP server that provides access to PubMed articles through the Entrez API.

Features

Tools

  • Search PubMed - Search the database using keywords, MeSH terms, author names, date ranges, and Boolean operators

  • Get Full Text - Download full text when available (for open access articles in PubMed Central)

  • Access Abstracts - Retrieve article abstracts and metadata via resource URIs

Prompts (New in v0.1.14)

MCP Prompts help you construct effective PubMed searches:

  • Systematic Review Search - Generate comprehensive search strategies with MeSH terms, synonyms, and date filters for systematic reviews

  • PICO Search - Build clinical question searches using the PICO framework (Population, Intervention, Comparison, Outcome)

  • Author Search - Find all publications by a specific author with proper name formatting

These prompts guide the AI to build optimized PubMed queries, making it easier to conduct thorough literature searches.

Notes

Please note that the tool returns XML-ized version of full text. It is however more useful for AIs than a "human readable" text would have been as it gives them additional information about document's structure. At least, this is what Claude 3.5 Sonnet said he prefers.

Please also note that inability of this tool and possibly other tools to deliver a paper's full text may not be due to the fact that it is not available. When testing this tool I came across a paper that did not have full text on PubMed and when Claude accessed the publication URL (which we did get through DOI) using fetch he did get a "forbidden” error. However, I was able to access the very same page using a regular browser.

In other words if your AI assistant is not able to get the full text of a paper using this tool it is worth trying manually with a regular web browser.

Finally, this tool of course can’t give you access to paywalled/paid papers. You may be able to read them through your library access or – as a last resort – through a certain site that strives to make publicly funded research freely available.

Related MCP server: mcp-pubmed

Installation

Installing via Smithery

To install Simple PubMed for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-simple-pubmed --client claude

Manual Installation

pip install mcp-simple-pubmed

Configuration

The server requires the following environment variables:

  • PUBMED_EMAIL: Your email address (required by NCBI)

  • PUBMED_API_KEY: Optional API key for higher rate limits

The standard rate limit is 3 requests / second. No rate limiting was implemented, as it is highly unlikely in the typical usage scenario that your AI would generate more traffic. If you need it, you can register for an API key which will give you 10 requests / second. Read about this on NCBI pages.

Usage with Claude Desktop

Add to your Claude Desktop configuration (claude_desktop_config.json):

(Mac OS)

{
  "mcpServers": {
    "simple-pubmed": {
      "command": "python",
      "args": ["-m", "mcp_simple_pubmed"],
      "env": {
        "PUBMED_EMAIL": "your-email@example.com",
        "PUBMED_API_KEY": "your-api-key" 
      }
    }
  }
}

(Windows)

{
  "mcpServers": {
    "simple-pubmed": {
      "command": "C:\\Users\\YOUR_USERNAME\\AppData\\Local\\Programs\\Python\\Python311\\python.exe",
      "args": [
        "-m",
        "mcp_simple_pubmed"
      ],
      "env": {
        "PUBMED_EMAIL": "your-email@example.com",
        "PUBMED_API_KEY": "your-api-key" 
      }
    }
  }
}

macOS SSL Certificate Fix

If you encounter SSL certificate verification errors on macOS (such as [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self-signed certificate in certificate chain), you need to install the proper certificate bundle:

/Applications/Python\ 3.13/Install\ Certificates.command

Replace 3.13 with your Python version number. This script comes with Python installations from python.org.

You can also run it from the Finder:

image

If you perform this change while Claude Desktop is open you will need to quit it and start it again for it to take effect.

License

MIT License

Available Tools

2 tools
get_paper_fulltextGet a paper's full textA
Read-only

Get full text of a PubMed article using its ID.

This tool attempts to retrieve the complete text of the paper if available through PubMed Central. If the paper is not available in PMC, it will return a message explaining why and provide information about where the text might be available (e.g., through DOI).

Example usage: get_paper_fulltext(pmid="39661433")

Returns:

  • If successful: The complete text of the paper

  • If not available: A clear message explaining why (e.g., "not in PMC", "requires journal access")

ParametersJSON Schema
NameRequiredDescriptionDefault
pmidYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and openWorldHint=true, but the description adds valuable behavioral context: it explains that retrieval depends on availability in PubMed Central, describes fallback behavior (returning messages with explanations), and mentions alternative sources like DOI. This enhances transparency beyond the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by behavioral details and example usage. Every sentence adds value without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (fetching full text with fallbacks), the description is complete: it covers purpose, usage, behavior, and output scenarios. With an output schema present, it appropriately omits detailed return value explanations, focusing on high-level outcomes like success/failure messages.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description compensates by explaining that the 'pmid' parameter is used to identify the PubMed article. However, it does not provide additional details like format constraints or examples beyond the basic usage. With one parameter and no schema descriptions, the baseline is met but not exceeded.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('retrieve the complete text') and resource ('PubMed article using its ID'), distinguishing it from the sibling tool 'search_pubmed' which likely searches rather than fetches full text. It explicitly mentions PubMed Central as the source, adding specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on when to use this tool (to get full text of a PubMed article by ID) and implies when not to use it (if you need to search, use 'search_pubmed'). However, it does not explicitly name the alternative or detail exclusions, such as handling non-PubMed IDs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_pubmedSearch articles about medical and life sciences research available on PubMed.A
Read-only

Search PubMed for medical and life sciences research articles.

You can use these search features:

  • Simple keyword search: "covid vaccine"

  • Field-specific search:

    • Title search: [Title]

    • Author search: [Author]

    • MeSH terms: [MeSH Terms]

    • Journal: [Journal]

  • Date ranges: Add year or date range like "2020:2024[Date - Publication]"

  • Combine terms with AND, OR, NOT

  • Use quotation marks for exact phrases

Examples:

  • "covid vaccine" - basic search

  • "breast cancer"[Title] AND "2023"[Date - Publication]

  • "Smith J"[Author] AND "diabetes"

  • "RNA"[MeSH Terms] AND "therapy"

The search will return:

  • Paper titles

  • Authors

  • Publication details

  • Abstract preview (when available)

  • Links to full text (when available)

  • DOI when available

  • Keywords and MeSH terms

Note: Use quotes around multi-word terms for best results.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
max_resultsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=true and openWorldHint=true, which the description aligns with by describing a search operation. The description adds valuable behavioral context beyond annotations, such as available search features, return format details (e.g., paper titles, authors, abstract preview), and performance tips, though it doesn't mention rate limits or authentication needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by bullet points and examples that efficiently convey usage without unnecessary details. Every sentence adds value, making it concise and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (search with multiple features), low schema coverage (0%), and presence of an output schema, the description is complete enough. It thoroughly explains search capabilities, return values, and usage, compensating for the lack of schema descriptions and leveraging the output schema for return format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description compensates well by explaining the 'query' parameter through search features and examples, and it implies the 'max_results' parameter by mentioning return details. However, it doesn't explicitly define 'max_results' or its default value, leaving some gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Search PubMed for medical and life sciences research articles.' This specifies the verb ('Search'), resource ('PubMed'), and domain ('medical and life sciences research articles'), distinguishing it from the sibling tool 'get_paper_fulltext' which presumably retrieves full text rather than searching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool by detailing search features and examples, and it implicitly distinguishes from the sibling tool 'get_paper_fulltext' by focusing on search functionality rather than full-text retrieval. It also includes a note on best practices ('Use quotes around multi-word terms for best results').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

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

  1. 2 tool updatesv1.0.0
    • First observedget_paper_fulltext
    • First observedsearch_pubmed

TDQS

A4.2/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: get_paper_fulltext retrieves the full text of a specific article by ID, while search_pubmed performs keyword-based searches across the PubMed database. There is no overlap or ambiguity between these functions.

Naming Consistency5/5

Both tools follow a consistent verb_noun naming pattern: get_paper_fulltext and search_pubmed. The naming is clear and predictable, with no deviations in style or convention.

Tool Count3/5

With only two tools, the server feels thin for a PubMed interface, as it lacks operations like fetching paper metadata, filtering search results, or managing citations. While the tools cover basic retrieval and search, more comprehensive coverage would typically require additional tools.

Completeness2/5

The tool set is significantly incomplete for a PubMed domain. It lacks essential operations such as get_paper_metadata (for details like authors, journal, abstract without full text), filter_search_results, or citation-related tools. This will likely cause agent failures when trying to perform common PubMed tasks beyond simple search and full-text retrieval.

Maintenance

ActivityInactive
ResponsivenessResponsive

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server implementation that enables searching and retrieving research articles from PubMed with specific focus on open access content filtering and full-text link retrieval.
    8
    3
    -
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides access to PubMed and NCBI's biomedical literature database for searching articles, retrieving metadata, and tracking citations. It enables users to explore related research, browse MeSH vocabulary, and find free full-text links.
    6
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that provides direct access to PubMed and PubMed Central via the NCBI E-utilities API. It enables AI models to search biomedical literature, retrieve detailed article metadata, and download open-access full texts.
    5
    MIT