Provides search capabilities for PubMed's database, enabling retrieval of academic article metadata including titles, authors, publication dates, DOIs, and journal information through the NCBI E-Utilities API.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PubMed MCPsearch for recent articles about Alzheimer's disease"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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.mainYou can now query the service:
curl "http://localhost:8000/articles/search?q=heart+disease&limit=5"4. Run the test suite
pytestAPI
GET /health– Returns{ "status": "ok" }for readiness checks.GET /articles/search– Required query parameterq; optionallimit(default10, max50). Returns a JSON payload containing the original query, the applied limit, and a list of article summaries.
Development notes
The
PubMedClienthandles eSearch and eSummary requests and merges them into a list ofArticleSummarydataclasses.The FastAPI app caches a single client instance and gracefully closes it during shutdown.
Tests use
respxto simulate PubMed responses, keeping the suite fast and deterministic.
This server cannot be installed
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.