PubMed MCP Server
by JackKuo666
The PubMed MCP Server bridges AI assistants with PubMed, enabling them to search, access, and analyze biomedical literature via the Model Context Protocol (MCP). It allows AI models to programmatically interact with PubMed's vast repository.
Last updated: N/A
PubMed 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.