About PubMed MCP Server
PubMed MCP Server connects AI assistants with biomedical literature in PubMed. It supports article search, metadata retrieval, attempted PDF downloads, and in-depth paper analysis, with research prompts for analysis.
Key features
- 01Search PubMed by keywords
- 02Run advanced article searches
- 03Retrieve article metadata by PMID
- 04Attempt full-text PDF downloads
- 05Analyze papers in depth
- 06Provide specialized research prompts
Use cases
- 01Find literature on a biomedical topic
- 02Retrieve details for a paper by PMID
- 03Analyze a PubMed article
- 04Attempt to obtain an article PDF
MCP support
Exposes PubMed search, metadata, PDF download, and paper-analysis tools to MCP clients, along with research prompts.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEPubMed MCP Server
🔍 Enable AI assistants to search, access, and analyze PubMed articles through a simple MCP interface.
The PubMed MCP Server provides a bridge between AI assistants and PubMed's vast repository of biomedical literature through the Model Context Protocol (MCP). It allows AI models to search for scientific articles, access their metadata, and perform deep analysis in a programmatic way.
🤝 Contribute • 📝 Report Bug
✨ Core Features
- 🔎 Paper Search: Query PubMed articles with keywords or advanced search ✅
- 🚀 Efficient Retrieval: Fast access to paper metadata ✅
- 📊 Metadata Access: Retrieve detailed metadata for specific papers ✅
- 📊 Research Support: Facilitate biomedical sciences research and analysis ✅
- 📄 Paper Access: Attempt to download full-text PDF content ✅
- 🧠 Deep Analysis: Perform comprehensive analysis of papers ✅
- 📝 Research Prompts: A set of specialized prompts for paper analysis ✅
🚀 Quick Start
Prerequisites
- Python 3.10+
- FastMCP library
Installation
Installing via Smithery
To install pubmed-mcp-server for Claude Desktop automatically via Smithery:
claude
npx -y @smithery/cli install @JackKuo666/pubmed-mcp-server --client claude
Cursor
Paste the following into Settings → Cursor Settings → MCP → Add new server:
- Mac/Linux
npx -y @smithery/cli@latest run @JackKuo666/pubmed-mcp-server --client cursor --config "{}"
Windsurf
npx -y @smithery/cli@latest install @JackKuo666/pubmed-mcp-server --client windsurf --config "{}"
CLine
npx -y @smithery/cli@latest install @JackKuo666/pubmed-mcp-server --client cline --config "{}"
-
Clone the repository:
git clone https://github.com/JackKuo666/PubMed-MCP-Server.git cd PubMed-MCP-Server -
Install the required dependencies:
pip install -r requirements.txt
📊 Usage
Start the MCP server:
python pubmed_server.py
Usage with Claude Desktop
Add this configuration to your claude_desktop_config.json:
(Mac OS)
{
"mcpServers": {
"pubmed": {
"command": "python",
"args": ["-m", "pubmed-mcp-server"]
}
}
}
(Windows version):
{
"mcpServers": {
"pubmed": {
"command": "C:\\Users\\YOUR\\PATH\\miniconda3\\envs\\mcp_server\\python.exe",
"args": [
"D:\\code\\YOUR\\PATH\\PubMed-MCP-Server\\pubmed_server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
Using with Cline
{
"mcpServers": {
"pubmed": {
"command": "bash",
"args": [
"-c",
"source /home/YOUR/PATH/mcp-server-pubmed/.venv/bin/activate && python /home/YOUR/PATH/pubmed-mcp-server.py"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
🛠 MCP Tools
The PubMed MCP Server provides the following tools:
search_pubmed_key_words: Search for articles on PubMed using keywords.search_pubmed_advanced: Perform an advanced search for articles on PubMed with multiple parameters.get_pubmed_article_metadata: Fetch metadata for a PubMed article using its PMID.download_pubmed_pdf: Attempt to download the full-text PDF for a PubMed article.deep_paper_analysis: Perform a comprehensive analysis of a PubMed article.
Searching Papers
You can ask the AI assistant to search for papers using queries like:
Can you search PubMed for recent papers about CRISPR?
Getting Paper Details
Once you have a PMID, you can ask for more details:
Can you show me the metadata for the paper with PMID 12345678?
Analyzing Papers
You can request a deep analysis of a paper:
Can you perform a deep analysis of the paper with PMID 12345678?
📁 Project Structure
pubmed_server.py: The main MCP server implementation using FastMCPpubmed_web_search.py: Contains the logic for searching PubMed and retrieving article information
🔧 Dependencies
- Python 3.10+
- FastMCP
- asyncio
- logging
- requests
- beautifulsoup4
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
This project is licensed under the MIT License.
⚠️ Disclaimer
This tool is for research purposes only. Please respect PubMed's terms of service and use this tool responsibly.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.
