Install
$ agentstack add mcp-nickjlamb-pubcrawl ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
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.
[](https://github.com/nickjlamb/pubcrawl/actions/workflows/build.yml) [](https://www.npmjs.com/package/@pharmatools/pubcrawl) [](LICENSE) [](https://registry.modelcontextprotocol.io/?q=pubcrawl)
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 | |------|-------------| | resolve_drug_name | Convert a brand drug name to its generic (or a generic to its US brand names), with drug class and common indications. Deterministic, via RxNorm/openFDA — no AI. | | get_uspi | Pull US Prescribing Information sections via openFDA (cited to DailyMed) — indications, dosing, warnings, contraindications, and more. | | 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
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: nickjlamb
- Source: nickjlamb/pubcrawl
- License: MIT
- Homepage: https://www.pharmatools.ai/pubcrawl
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.