← MCP servers · jamesanz

medical-mcp

SAFEgrade B · trust 89/100

An MCP server that provides comprehensive medical information by querying multiple authoritative medical APIs including FDA, WHO, PubMed, Google Scholar, and RxNorm

fdagoogle scholarllmsmcp serverpubmedrxnormwho

Overview

From the repository's own README, as read at the audited commit.

# 🩺 Medical MCP Server> **Bring trusted medical data directly into your AI workflow.** A local server for private, free access to FDA, WHO, PubMed, RxNorm, Semantic Scholar, and Google Scholar. No API keys. No data leaks.An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that brings authoritative medical information into AI coding environments like Cursor and Claude Desktop.<a href="https://glama.ai/mcp/servers/@JamesANZ/medical-mcp">  <img width="380" height="200" src="https://glama.ai/mcp/servers/@JamesANZ/medical-mcp/badge" alt="medical-mcp MCP server" /></a>[![Trust Score](https://archestra.ai/mcp-catalog/api/badge/quality/JamesANZ/medical-mcp)](https://archestra.ai/mcp-catalog/jamesanz__medical-mcp)## 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, TGA, Health Canada, EMA, DailyMed, WHO, PubMed, RxNorm, ClinicalTrials.gov- ⚡ **Easy Setup** – One-click install in [Cursor](https://cursor.sh) or simple manual setup- 🔬 **Comprehensive** – Drug info, health stats, medical literature, clinical guidelines, pediatric sources- 🛡️ **Resilient** – Circuit breakers, retry with backoff, rate limiting, and automatic fallbacks- 📊 **Evidence-Graded** – Results tagged with study type and evidence level (Meta-Analysis → Case Report)- 🏥 **Health Monitoring** – Built-in health check tool to diagnose source availability## What's New in v2.0- **Resilience Layer** – Circuit breakers per source, retry with exponential backoff + jitter, per-source token bucket rate limiters- **Monid web search** – Scholar, AAP, and PMC HTML go through Monid TinyFish (Tavily-style search/fetch). Semantic Scholar is the no-key fallback- **Evidence Grading** – PubMed and multi-database results tagged with study type (Systematic Review, RCT, Cohort, Case Report, etc.) and evidence grade (I–V)- **Response Validation** – Zod schemas va

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add medical-mcp --env MONID_API_KEY=${MONID_API_KEY} --env NCBI_API_KEY=${NCBI_API_KEY} --env TINYFISH_API_KEY=${TINYFISH_API_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "medical-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "MONID_API_KEY": "${MONID_API_KEY}",
        "NCBI_API_KEY": "${NCBI_API_KEY}",
        "TINYFISH_API_KEY": "${TINYFISH_API_KEY}"
      }
    }
  }
}

Exposed tools (16) 16 read · 0 write · 0 destructive

ToolRiskDescription
get-article-detailsreadGet detailed information about a specific medical article by PMID. Full text is attached only when the PMC record
get-cache-statsreadGet cache statistics including hit rate, total entries, and memory usage
get-health-statisticsreadGet health statistics and indicators from WHO Global Health Observatory
health-checkreadCheck the health and availability of all upstream data sources (FDA, TGA, Health Canada, EMA, PubMed, WHO, RxNorm, ClinicalTrials, Semantic Scholar, TinyFish). Reports build string, latency, circuit breaker states, and cache health.
list-sourcesreadList medical data sources and which MCP tools reach them. Includes registry adapters and dedicated-tool sources (WHO, PubMed, RxNorm, Scholar). Not limited to the search-drugs regulator fanout.
search-clinical-guidelinesreadSearch for clinical guidelines and practice recommendations from medical organizations
search-clinical-trialsreadSearch ClinicalTrials.gov for trials by condition, intervention, or drug
search-drug-nomenclaturereadSearch for drug information using RxNorm (standardized drug nomenclature)
search-drug-safetyreadSearch pharmacovigilance data: FDA FAERS adverse events, recalls, and drug shortages
search-drugsreadSearch national drug regulators (FDA, DailyMed, TGA, Health Canada, EMA). Defaults to US, AU, CA, and EU. Pass countries: [
search-google-scholarreadSearch for academic research articles using Google Scholar
search-medical-journalsreadSearch specific medical journals (NEJM, JAMA, Lancet, BMJ, Nature Medicine) for high-quality research
search-medical-literaturereadSearch for medical research articles in PubMed
search-pediatric-drugsreadSearch for drugs with pediatric labeling and dosing information from FDA database
search-pediatric-guidelinesreadSearch AAP pediatric guidelines. Policy statements and clinical reports come from PubMed (Pediatrics / AAP corporate author). Bright Futures and publications.aap.org web hits are kept only if the URL is on an AAP host with a real article path.
search-pediatric-literaturereadSearch for research articles in major pediatric journals (Pediatrics, JAMA Pediatrics, etc.)

Details

Source
JamesANZ/medical-mcp
npm
medical-mcp@2.1.0
Transports
stdio · streamable-http
Credentials it reads
MONID_API_KEYNCBI_API_KEYTINYFISH_API_KEY
License
MIT
Stars
112 · pushed 0d ago

Trust audit

Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
none-observed
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (7)

LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/sources/adapters/clinicaltrials.ts:2
import { CLINICALTRIALS_API_BASE, USER_AGENT } from "../../constants.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/sources/adapters/clinicaltrials.ts:3
import { logger } from "../../logger.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/sources/adapters/clinicaltrials.ts:4
import { resilientCall } from "../../resilience/index.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/sources/adapters/clinicaltrials.ts:8
} from "../../validation/schemas.js";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
src/sources/adapters/dailymed.ts:2
import { DAILYMED_API_BASE, USER_AGENT } from "../../constants.js";
LOWObfuscation / stealth · obf.base64_blob · CWE-506, CWE-94
README.md:331
lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
@modelcontextprotocol/sdk, cors, express, superagent, zod, @types/cors, @types/express, @types/jest
Why it matters. 13 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass.

Audited 2026-09-18 · audit v0.4.0 · source sha c2a8b949bfe4 · full audit: observations/trust-audit/mcp-server/jamesanz__medical-mcp.json · Report an issue or request a re-scan

Audit history

DateSourceVerdictGradeScoreChange
2026-09-18c2a8b949bfe4SAFEB89first audit

Alternatives

Other servers in the same categories, safer ones first.

Questions

What is the medical-mcp MCP server?

An MCP server that provides comprehensive medical information by querying multiple authoritative medical APIs including FDA, WHO, PubMed, Google Scholar, and RxNorm

What tools does medical-mcp expose?

16 in total: 16 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is medical-mcp safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does medical-mcp need?

It reads MONID_API_KEY, NCBI_API_KEY and TINYFISH_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How does medical-mcp run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as medical-mcp at 2.1.0.

How current is this page?

The grade is for one exact copy of the source (c2a8b949bfe4), read on 2026-09-18. The repository is watched and re-audited when it changes.

Provenance: OBSERVED · read 2026-09-18 · job trust-audit-2026-09-18