trackmcp
Back to directory
JamesANZ

medical-mcp

View on GitHub

A Model Context Protocol (MCP) server that provides comprehensive medical information by querying multiple authoritative medical APIs including FDA, WHO, PubMed, Google Scholar, and RxNorm

26 stars TypeScriptAI & Machine Learning Updated Oct 11, 2025
fdagoogle-scholarllmsmcp-serverpubmedrxnormwho

Documentation

๐Ÿฉบ Medical MCP Server

> Bring trusted medical data directly into your AI workflow. A local server for private, free access to FDA, WHO, PubMed, RxNorm, and Google Scholar. No API keys. No data leaks.

An MCP (Model Context Protocol) server that brings authoritative medical information into AI coding environments like Cursor and Claude Desktop.

Trust Score

Why Use Medical MCP?

  • ๐Ÿ”’ Your Data Never Leaves โ€“ Runs 100% locally; no tracking, no logs, no cloud
  • ๐Ÿ†“ No API Keys โ€“ Works out of the box, zero configuration
  • ๐Ÿฅ Authoritative Sources โ€“ FDA, WHO, PubMed, RxNorm, Google Scholar, AAP, pediatric journals
  • โšก Easy Setup โ€“ One-click install in Cursor or simple manual setup
  • ๐Ÿ”ฌ Comprehensive โ€“ Drug info, health stats, medical literature, clinical guidelines, pediatric sources

Quick Start

Ready to bring medical intelligence into your AI workflow? Install in seconds:

Install in Cursor (Recommended):

๐Ÿ”— Install in Cursor

Or install manually:

bash
npm install -g medical-mcp
# Or from source:
git clone https://github.com/JamesANZ/medical-mcp.git
cd medical-mcp && npm install && npm run build

Features

๐Ÿ’Š Drug Information

  • `search-drugs` โ€“ Search FDA database by brand or generic name
  • `get-drug-details` โ€“ Get comprehensive drug info by NDC code
  • `search-drug-nomenclature` โ€“ Standardized drug names via RxNorm

๐Ÿ“Š Health Statistics

  • `get-health-statistics` โ€“ WHO Global Health Observatory data (life expectancy, mortality, disease prevalence)

๐Ÿ”ฌ Medical Literature

  • `search-medical-literature` โ€“ Search 30M+ PubMed articles
  • `get-article-details` โ€“ Detailed article info by PMID
  • `search-google-scholar` โ€“ Academic research with citations
  • `search-medical-databases` โ€“ Multi-database search (PubMed, Scholar, Cochrane, ClinicalTrials.gov)
  • `search-medical-journals` โ€“ Top journals (NEJM, JAMA, Lancet, BMJ, Nature Medicine)

๐Ÿฅ Clinical Tools

  • `search-clinical-guidelines` โ€“ Practice recommendations from medical organizations

๐Ÿ‘ถ Pediatric Sources

  • `search-pediatric-guidelines` โ€“ AAP guidelines and Bright Futures preventive care
  • `search-pediatric-literature` โ€“ Research from major pediatric journals (Pediatrics, JAMA Pediatrics, etc.)
  • `get-child-health-statistics` โ€“ Pediatric health indicators from WHO (mortality, immunization, nutrition)
  • `search-pediatric-drugs` โ€“ Drugs with pediatric labeling and dosing information
  • `search-aap-guidelines` โ€“ Comprehensive AAP guideline search (Bright Futures + Policy Statements)

๐Ÿ“Š Cache Management

  • `get-cache-stats` โ€“ View cache statistics (hit rate, memory usage, entry count)

Installation

Cursor (One-Click)

Click the install link above or use:

code
cursor://anysphere.cursor-deeplink/mcp/install?name=medical-mcp&config=eyJtZWRpY2FsLW1jcCI6eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm1lZGljYWwtbWNwIl19fQ==

Manual Installation

Requirements: Node.js 18+ and npm

bash
# Clone and build
git clone https://github.com/JamesANZ/medical-mcp.git
cd medical-mcp
npm install
npm run build

# Run server
npm start

Claude Desktop

Add to `claude_desktop_config.json`:

macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`

Windows: `%APPDATA%\Claude\claude_desktop_config.json`

json
{
  "mcpServers": {
    "medical-mcp": {
      "command": "node",
      "args": ["/absolute/path/to/medical-mcp/build/index.js"]
    }
  }
}

Restart Claude Desktop after configuration.

Usage Examples

Search for Drug Information

Ask about a medication's uses, dosage, and safety information:

json
{
  "tool": "search-drugs",
  "arguments": { "query": "Tylenol", "limit": 5 }
}

Get Health Statistics

Retrieve global health indicators like life expectancy or mortality rates:

json
{
  "tool": "get-health-statistics",
  "arguments": {
    "indicator": "Life expectancy at birth (years)",
    "country": "USA"
  }
}

Search Medical Literature

Find peer-reviewed research articles on any medical topic:

json
{
  "tool": "search-medical-literature",
  "arguments": { "query": "COVID-19 treatment", "max_results": 10 }
}

Data Sources

SourceCoverageUpdate Frequency
FDAAll FDA-approved drugs (US)Real-time
WHOGlobal health stats (194 countries)Annual
PubMed30M+ medical citationsDaily
RxNormStandardized drug nomenclature (US)Weekly
Google ScholarAcademic papers across disciplinesReal-time
AAPBright Futures guidelines & policy statementsPeriodic
Pediatric JournalsMajor pediatric journals (Pediatrics, JAMA Pediatrics, etc.)Daily

Security & Privacy

  • โœ… Localhost-only โ€“ Server runs locally, no external access
  • โœ… No data storage โ€“ All queries are real-time, nothing saved
  • โœ… Process isolation โ€“ Medical data stays on your machine
  • โœ… No API keys โ€“ No credentials to manage or leak

Use Cases

  • Medical Researchers โ€“ Quick literature reviews without paywalls
  • Healthcare Developers โ€“ Build prototypes with real medical data
  • Students โ€“ Access drug information and research papers
  • Clinicians โ€“ Reference tool for drug details and health statistics
  • Pediatricians โ€“ AAP guidelines, Bright Futures, pediatric literature, and child health data

Caching

The server includes an in-memory caching layer to improve response times and reduce API calls:

  • Automatic Caching: All API responses are cached with source-specific TTL policies
  • TTL Policies:
    • FDA data: 24 hours
    • PubMed articles: 1 hour
    • WHO statistics: 7 days
    • RxNorm nomenclature: 30 days
    • Clinical guidelines: 7 days
    • Google Scholar: 1 hour
    • Bright Futures: 30 days
    • AAP Policy: 7 days
    • Pediatric journals: 1 hour
    • Child health indicators: 7 days
    • Pediatric drugs: 24 hours
  • Cache Management: Automatic cleanup of expired entries every 5 minutes
  • LRU Eviction: Least recently used entries are evicted when cache exceeds 1000 entries
  • Cache Statistics: Use `get-cache-stats` tool to view hit rates and memory usage

Configuration (via environment variables):

  • `CACHE_ENABLED=true` - Enable/disable caching (default: true)
  • `CACHE_MAX_SIZE=1000` - Maximum cache entries (default: 1000)
  • `CACHE_TTL_FDA=86400` - FDA TTL in seconds (default: 86400)
  • `CACHE_TTL_PUBMED=3600` - PubMed TTL in seconds (default: 3600)
  • `CACHE_TTL_WHO=604800` - WHO TTL in seconds (default: 604800)
  • `CACHE_TTL_RXNORM=2592000` - RxNorm TTL in seconds (default: 2592000)
  • `CACHE_CLEANUP_INTERVAL=300000` - Cleanup interval in milliseconds (default: 300000)

Performance: Cached responses typically return in <10ms vs 800-1500ms for API calls. Expected cache hit rate: 60%+ for common queries.

Technical Details

Built with: Node.js, TypeScript, MCP SDK

Dependencies: `@modelcontextprotocol/sdk`, `superagent`, `puppeteer`, `zod`

Platforms: macOS, Windows, Linux

Note: Google Scholar access uses web scraping with rate limiting. Other sources use official APIs.

Medical Disclaimer

โš ๏ธ Important: This tool provides information from authoritative sources but should not replace professional medical advice, diagnosis, or treatment. Always consult qualified healthcare professionals for medical decisions.

Contributing

โญ If this project helps you, please star it on GitHub! โญ

Contributions welcome! Please open an issue or submit a pull request.

License

MIT License โ€“ see LICENSE.md for details.

Support

If you find this project useful, consider supporting it:

โšก Lightning Network

code
lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz6zug5y2544pt8y9jflnq0ltlha26ed846jh0y7n4gm8jd3qqaautqa

โ‚ฟ Bitcoin: bc1ptzvr93pn959xq4et6sqzpfnkk2args22ewv5u2th4ps7hshfaqrshe0xtp

ฮž Ethereum/EVM: 0x42ea529282DDE0AA87B42d9E83316eb23FE62c3f

Frequently asked questions

What is medical-mcp?

medical-mcp is A Model Context Protocol (MCP) server that provides comprehensive medical information by querying multiple authoritative medical APIs including FDA, WHO, PubMed, Google Scholar, and RxNorm

How do I install medical-mcp?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is medical-mcp open source?

Yes โ€” it is hosted on GitHub at https://github.com/JamesANZ/medical-mcp and has 26 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP