Skip to main content
Glama

PubMed MCP

A MCP server that allows to search and fetch articles from PubMed.

PubMed is a database of over 35 million citations for biomedical literature from MEDLINE, life science journals, and online books.

This MCP server relies on the pubmedclient Python package to perform the search and fetch operations.

Credits

This project is maintained by bachstudio.

Original project: This is based on the pubmedmcp project originally developed by grll.

Related MCP server: PubMed MCP Server

Usage

Add the following to your claude_desktop_config.json file:

{
    "mcpServers": {
        "pubmedmcp": {
            "command": "uvx",
            "args": ["bachstudio-pubmedmcp@latest"],
            "env": {
                "UV_PRERELEASE": "allow",
                "UV_PYTHON": "3.12"
            }
        }
    }
}

Make sure uv is installed on your system and 'uvx' is available in your PATH (claude PATH sometimes is not the same as your system PATH). You can add a PATH key in your claude_desktop_config.json file to make sure uv is available in claude PATH.

Available Tools

1 tool
search_abstractsA

Search abstracts on PubMed database based on the request parameters.

While it returns a free-form text in practice this is a list of strings containing:

* the title of the article
* the abstract content
* the authors
* the journal name
* the publication date
* the DOI
* the PMID

Args:
    request: SearchAbstractsRequest
ParametersJSON Schema
NameRequiredDescriptionDefault
requestYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It does not state that the operation is read-only, nor does it mention authentication needs or rate limits. However, it does describe the return format as a list of strings containing specific fields, which adds some transparency but is insufficient for a full behavioral profile.

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

Conciseness3/5

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

The description is moderately concise but contains redundant phrasing (e.g., 'While it returns a free-form text in practice this is a list of strings containing'). The output fields list is helpful but could be more succinct. The structure is not front-loaded; the critical purpose statement is at the start, but the formatting could be tighter.

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

Completeness4/5

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

Given that an output schema exists (not shown but indicated) and the input schema is well-defined with field descriptions, the description is fairly complete for a search tool. It explains what the tool does and what the return value contains (list of strings with specific fields). It does not cover error conditions or edge cases, but for typical usage it provides sufficient context.

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

Parameters2/5

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

The tool description hardly adds meaning beyond the schema: it only mentions 'Args: request: SearchAbstractsRequest' without any elaboration. Schema description coverage is 0%, meaning the description does not compensate for the lack of parameter documentation in the schema text itself (though the schema object includes detailed field descriptions). The description fails to add value for parameter semantics.

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 searches abstracts on the PubMed database. It specifies the action ('search'), the resource ('abstracts'), and the database ('PubMed'). No sibling tools are provided, so differentiation is not needed, but the purpose is unambiguous.

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?

While no explicit when-to-use or when-not-to-use guidance is given, the description implicitly limits usage to searching PubMed abstracts. The lack of sibling tools reduces the need for alternative differentiation, but optional context on when this tool is preferred over other search methods is absent. Still, the usage scope is clear.

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. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedsearch_abstracts

TDQS

A3.6/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The single tool is inherently distinct.

Naming Consistency5/5

There is only one tool, so naming consistency is not a concern. The name 'search_abstracts' follows a clear verb_noun pattern.

Tool Count2/5

A single tool for a comprehensive biomedical database like PubMed feels significantly under-scoped. Users would benefit from additional tools for specific operations (e.g., fetching full details, filtering by fields).

Completeness2/5

The server lacks tools for specialized queries, structured data retrieval, or pagination. While the single tool returns rich data, it does not cover common PubMed operations like fetching a specific article by ID or searching by author/journal.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables searching and retrieving detailed information from PubMed articles using the NCBI Entrez API. Supports configurable search parameters including title/abstract filtering and keyword expansion to find relevant scientific publications.
    1
    -
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to search and retrieve biomedical research articles from PubMed's database of over 35 million citations, including metadata, abstracts, MeSH terms, and full-text PDFs when available.
    1
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables searching PubMed's biomedical literature database and retrieving article metadata, abstracts, and full content through the E-utilities API. Supports advanced queries, batch operations, and multiple output formats with automatic rate limiting.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides seamless access to over 35 million PubMed scientific articles through natural language queries for research discovery and analysis. It enables tools for advanced searches, retrieving article details, and exploring related research within the life sciences and biomedical fields.
    12
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/BACH-AI-Tools/bachstudio-pubmedmcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server