Skip to main content
Glama

PubMed MCP

by aimiora

PubMed MCP

PubMed MCP exposes the PubMed E-Utilities search workflow over HTTP so it can be consumed by clients that implement the Model Context Protocol (MCP) or any other REST-capable integration. It provides a single endpoint for querying PubMed and returns curated article metadata in a consistent JSON shape.

Features

  • ๐Ÿ”Ž Search PubMed with a single HTTP request.

  • ๐Ÿ“„ Retrieves article summaries (title, journal, publication date, authors, DOI, and canonical URL).

  • ๐Ÿ› ๏ธ Configurable via environment variables, including an optional NCBI API key for higher rate limits.

  • ๐Ÿงช Tested with mocked responses to ensure resilient parsing of PubMed responses.

Getting started

1. Install dependencies

Create and activate a Python 3.10+ environment, then install the dependencies:

pip install -e . # For development and testing extras pip install -e .[dev]

2. (Optional) Configure an API key

Set PUBMED_API_KEY or NCBI_API_KEY with your NCBI E-Utilities API key to unlock higher throughput.

export PUBMED_API_KEY="your-api-key"

3. Launch the HTTP server

Run the FastAPI app with Uvicorn:

uvicorn pubmed_mcp.server:app --host 0.0.0.0 --port 8000 # or python -m pubmed_mcp.main

You can now query the service:

curl "http://localhost:8000/articles/search?q=heart+disease&limit=5"

4. Run the test suite

pytest

API

  • GET /health โ€“ Returns { "status": "ok" } for readiness checks.

  • GET /articles/search โ€“ Required query parameter q; optional limit (default 10, max 50). Returns a JSON payload containing the original query, the applied limit, and a list of article summaries.

Development notes

  • The PubMedClient handles eSearch and eSummary requests and merges them into a list of ArticleSummary dataclasses.

  • The FastAPI app caches a single client instance and gracefully closes it during shutdown.

  • Tests use respx to simulate PubMed responses, keeping the suite fast and deterministic.

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables searching and retrieving academic article metadata from PubMed through a simple HTTP interface. Provides curated article summaries including titles, authors, publication dates, and DOIs for research and academic content discovery.

  1. Features
    1. Getting started
      1. 1. Install dependencies
      2. 2. (Optional) Configure an API key
      3. 3. Launch the HTTP server
      4. 4. Run the test suite
    2. API
      1. Development notes

        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/aimiora/pubmed-mcp'

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