Enhanced PubMed MCP Server
# Enhanced PubMed MCP Server
š¬ **No Python Required** - Pure Node.js implementation of PubMed search MCP server
## Quick Start
```bash
# Claude Desktop Configuration
{
"mcpServers": {
"pubmed": {
"command": "npx",
"args": ["-y", "enhanced-pubmed-mcp-server"]
}
}
}
```
## Features
- ā
**No Python Dependencies** - Pure Node.js implementation
- š¬ **Enhanced PubMed Search** - Complete abstracts, MeSH terms, keywords
- š **PMC Full-Text Search** - Search within open access articles
- š¾ **Search History** - SQLite database for persistent storage
- š **Open Access Detection** - Identify freely available articles
- š **Cross-Platform** - Works on Windows, macOS, and Linux
## Usage
### Command Line
```bash
# Direct execution (no installation needed)
npx enhanced-pubmed-mcp-server
# Help and version info
npx enhanced-pubmed-mcp-server --help
npx enhanced-pubmed-mcp-server --version
```
### Claude Desktop Integration
Add to your `claude_desktop_config.json`:
```json
{
"mcpServers": {
"pubmed": {
"command": "npx",
"args": ["-y", "enhanced-pubmed-mcp-server"]
}
}
}
```
**Configuration file locations:**
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
## Available Tools
- `search_pubmed(query, max_results)` - Enhanced PubMed search
- `get_full_abstract(pmid)` - Complete abstract retrieval
- `search_pmc_fulltext(query, max_results)` - PMC full-text search
- `retrieve_pubmed_results(search_id, page)` - Paginated results
- `list_pubmed_searches()` - Search history
## Search Examples
```javascript
// Basic search
search_pubmed("COVID-19 vaccine", 10)
// Field-specific search
search_pubmed("CRISPR[Title]", 5)
// Date range search
search_pubmed("cancer therapy AND 2023[Date - Publication]", 15)
// Full-text search in open access articles
search_pmc_fulltext("machine learning medical imaging", 20)
// Get complete abstract
get_full_abstract("35504917")
```
## Requirements
- **Node.js** 14.0.0 or higher
- **Internet connection** for PubMed API access
## License
MIT
## Repository
https://github.com/yourusername/enhanced-pubmed-mcp-serverTDQS
Scored across 6 tools
Some tools have overlapping purposes: search_pubmed includes 'complete abstract retrieval', which duplicates get_full_abstract. Additionally, get_abstract_help is a helper for get_full_abstract but could cause confusion with get_full_abstract. Overall, most tools are distinct but these overlaps reduce clarity.
All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_full_abstract, search_pubmed). The naming is predictable and readable, with no mixing of conventions.
With 6 tools, the count is well-scoped for a PubMed search and retrieval server. It covers core functionalities without being bloated or too sparse.
The server covers searching (PubMed and PMC), retrieving stored results, listing searches, and getting abstracts. A notable minor gap is the lack of a delete or clear function for stored searches/results, but the core workflows are complete.