PubCrawl
PubCrawl provides LLMs with access to PubMed, FDA/UK drug labeling, and ClinicalTrials.gov. It enables searching literature, retrieving abstracts and full texts, comparing US and UK drug labels, and exploring clinical trials.
README
PubCrawl
An MCP server that gives LLM clients access to PubMed, FDA drug labelling, UK medicines data, and ClinicalTrials.gov. A peer-reviewed pub crawl through the literature — the label — and the trial.
Built by PharmaTools.AI.
Tools
Literature
| Tool | What it does |
|---|---|
search_pubmed |
Search PubMed with filters for date range, article type, and sort order. Returns PMIDs, titles, authors, journals, and DOIs. |
get_abstract |
Get the full structured abstract for an article — broken into labeled sections (background, methods, results, conclusions) with keywords and MeSH terms. |
get_full_text |
Retrieve the full text of open-access articles from PubMed Central, with parsed sections, figure/table captions, and reference counts. |
find_related |
Find similar articles using PubMed's neighbor algorithm, ranked by relevance score. |
format_citation |
Generate a formatted citation in APA, Vancouver, Harvard, or BibTeX style. |
trending_papers |
Find recent papers on a topic, with optional filtering to high-impact journals (Nature, Science, Cell, NEJM, Lancet, JAMA, etc.). |
Drug Labelling
| Tool | What it does |
|---|---|
get_uspi |
Pull US Prescribing Information sections from DailyMed — indications, dosing, warnings, contraindications, and more. Parsed from FDA structured product labels. |
get_smpc |
Retrieve UK Summary of Product Characteristics from the eMC — the UK equivalent of US prescribing information, with numbered SmPC sections. |
compare_labels |
Side-by-side comparison of US (USPI) and UK (SmPC) labelling for the same drug. Spot regulatory differences in indications, warnings, and dosing. |
search_by_indication |
Find drugs approved for a medical condition. Searches FDA labelling via OpenFDA, then cross-references UK availability on the eMC. |
Clinical Trials
| Tool | What it does |
|---|---|
search_trials |
Search ClinicalTrials.gov for clinical trials. Filter by condition, intervention, recruitment status, and phase. Returns NCT IDs, sponsors, enrollment, and links. |
get_trial |
Get full details for a clinical trial by NCT ID — eligibility criteria, study design, arms, primary/secondary outcomes, locations, and associated PubMed IDs. |
Setup
Prerequisites
- Node.js 20+
- An MCP-compatible client (Claude Desktop, Cursor, etc.)
Install via npm
npm install -g @pharmatools/pubcrawl
Configure Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"pubcrawl": {
"command": "pubcrawl"
}
}
}
Restart Claude Desktop. PubCrawl will appear under + → Connectors.
Install from source
git clone https://github.com/nickjlamb/pubcrawl.git
cd pubcrawl
npm install
npm run build
Then point the config at the built file:
{
"mcpServers": {
"pubcrawl": {
"command": "node",
"args": ["/path/to/pubcrawl/dist/index.js"]
}
}
}
NCBI API key (optional)
Without an API key, requests are rate-limited to 3/second. With one, you get 10/second.
- Create a free NCBI account at https://www.ncbi.nlm.nih.gov/account/
- Go to Account Settings → API Key Management
- Add the key to your config:
{
"mcpServers": {
"pubcrawl": {
"command": "pubcrawl",
"env": {
"NCBI_API_KEY": "your_key_here"
}
}
}
}
Example prompts
Once connected, just ask naturally:
- "Search PubMed for recent clinical trials on semaglutide"
- "Get the abstract for PMID 38127654"
- "Find papers related to this one and format citations in APA"
- "What are the trending papers on CRISPR gene therapy this month?"
- "Get the full text of that paper from PMC"
- "Get the FDA prescribing information for metformin — just the indications and warnings"
- "Pull the UK SmPC for atorvastatin"
- "Compare US and UK labelling for lisinopril"
- "What drugs are approved for type 2 diabetes?"
- "Find recruiting Phase 3 trials for pembrolizumab in breast cancer"
- "Get details on clinical trial NCT03086486"
Development
npm run dev # TypeScript watch mode
npm run build # Compile to dist/
npm start # Run the server
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.