MCP server · Audited from source
medical-mcp
by jamesanz/medical-mcpMIT licenceAudited 7 Oct 2026 · source 7c8c15b1c1f8
Is it safe? Yes — SAFE, grade B (89/100). It exposes 17 tools: 17 read, 0 write and 0 destructive. The audit recorded 7 findings (0 critical, 0 high, 0 medium, 7 low). Maintainer's description: An MCP server that provides comprehensive medical information by querying multiple authoritative medical APIs including FDA, WHO, PubMed, Google Scholar, and RxNorm
Cite
Cite this page
ModelsAtlas. “medical-mcp (JamesANZ/medical-mcp)”. Retrieved 7 Oct 2026. https://modelsatlas.com/mcp/jamesanz/medical-mcp
Trust audit
Audit 0.4.1 · full source read 7 Oct 2026
7 findings, listed below with the file and line each was found on. Grade A needs a sandboxed behavioural run too; this audit read the source only.
What the source does
- FilesystemDeclared4 observations
- NetworkNone observedNothing seen in the source
- ShellDeclared1 observation
- DependenciesNot pinnedSome ranges float
- SecretsNone foundNo keys in source
“Declared” means the server says it does this and the source agrees. Browser, file and shell access are expected of some kinds of server.
Five audit layers
| Layer | What we check | Result |
|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS |
L1 Static source | Secrets, path traversal, supply chain | PASS 7 findings |
L2 Instructions | Prompt injection and authority framing in docs and tool descriptions | PASS |
L3 Inventory | Declared tools match the source | PASS |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED |
Provenance & runtime
Who published it, and what the audit could and could not run
Provenance
- Repository owner
jamesanzUser accountAccount type recorded when we read the repository. - PackagePublished on npm
medical-mcpat version 2.1.0 - LicenceMITFrom the repository, as read at the audited commit.
- Last push5 days agoActivity of the repository when we read it.
- Source commit read7c8c15b1c1f8The audit covers exactly this commit, read on 7 Oct 2026.
Runtime
- Sandbox runNot run yetThis audit read the source only; it did not execute the server.
- Tool inventory17 declaredRead from the source and classed read, write or destructive.
Every value here is read from the record's own repository and audit.Suggest a correction
Findings (7)
Sorted by severity
LOWFilesystem / pathfs.traversal · src/rank/__tests__/policy.test.ts:14
import type { EvidenceTag } from "../../utils/evidence-grading.js";- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · src/sources/adapters/clinicaltrials.ts:2
import { CLINICALTRIALS_API_BASE, USER_AGENT } from "../../constants.js";- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · src/sources/adapters/clinicaltrials.ts:3
import { logger } from "../../logger.js";- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · src/sources/adapters/clinicaltrials.ts:4
import { resilientCall } from "../../resilience/index.js";- Why
- No further detail recorded for this rule.
- Fix
- —
LOWFilesystem / pathfs.traversal · src/sources/adapters/clinicaltrials.ts:8
} from "../../validation/schemas.js";
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWObfuscation / stealthobf.base64_blob · README.md:338
lnbc1pjhhsqepp5mjgwnvg0z53shm22hfe9us289lnaqkwv8rn2s0rtekg5vvj56xnqdqqcqzzsxqyz5vqsp5gu6vh9hyp94c7t3tkpqrp2r059t4vrw7ps78a4n0a2u52678c7yq9qyyssq7zcferywka50wcy75skjfrdrk930cuyx24rg55cwfuzxs49rc9c53mpz
- Why
- No further detail recorded for this rule.
- Fix
- —
LOWSupply chainsupply.unpinned · package.json
@modelcontextprotocol/sdk, cors, express, superagent, zod, @types/cors, @types/express, @types/jest
- Why
- 13 dependency range(s) float
- Fix
- pin exact versions or ship a lockfile
Tools it exposes
17 declared in source · 0 destructive
| Tool | Risk | What it does |
|---|---|---|
get-article-details | read | Get detailed information about a specific medical article by PMID. Full text is attached only when the PMC record |
get-cache-stats | read | Get cache statistics including hit rate, total entries, and memory usage |
get-health-statistics | read | Get health statistics and indicators from WHO Global Health Observatory |
health-check | read | Check 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-sources | read | List 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. |
rank-search-hits | read | Reorder already-fetched literature hits for a clinical question. Retrieval ranking only — never diagnoses, doses, or advises. |
search-clinical-guidelines | read | Search for clinical guidelines and practice recommendations from medical organizations |
search-clinical-trials | read | Search ClinicalTrials.gov for trials by condition, intervention, or drug |
search-drug-nomenclature | read | Search for drug information using RxNorm (standardized drug nomenclature) |
search-drug-safety | read | Search pharmacovigilance data: FDA FAERS adverse events, recalls, and drug shortages |
search-drugs | read | Search national drug regulators (FDA, DailyMed, TGA, Health Canada, EMA). Defaults to US, AU, CA, and EU. Pass countries: [ |
search-google-scholar | read | Search for academic research articles using Google Scholar |
search-medical-journals | read | Search specific medical journals (NEJM, JAMA, Lancet, BMJ, Nature Medicine) for high-quality research |
search-medical-literature | read | Search for medical research articles in PubMed. Optional question/rerank reorders hits for the question (retrieval only — not diagnosis or advice). |
search-pediatric-drugs | read | Search for drugs with pediatric labeling and dosing information from FDA database |
search-pediatric-guidelines | read | Search 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-literature | read | Search for research articles in major pediatric journals (Pediatrics, JAMA Pediatrics, etc.). Optional question/rerank reorders hits for the question (retrieval only — not diagnosis or advice). |
Install
Package version 2.1.0 · audited commit 7c8c15b
One-click links open your editor with the config below filled in, exactly as the snippets show it, pinned to version 2.1.0. The audit covers commit 7c8c15b only.
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} --env TYPESAFE_API_KEY=${TYPESAFE_API_KEY} -- npx -y [email protected]{
"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}",
"TYPESAFE_API_KEY": "${TYPESAFE_API_KEY}"
}
}
}
}The command pins the package version recorded in the source (2.1.0); the audit covers commit 7c8c15b1c1f8. Transport: stdio · streamable-http. Reads these environment variables: MONID_API_KEY, NCBI_API_KEY, TINYFISH_API_KEY, TYPESAFE_API_KEY. Give it the narrowest token it needs.
Audit history
- ✓SAFE B 89 / 100
Source changed, verdict held ·
7c8c15b1c1f8 - ✓SAFE B 89 / 100
First audit ·
c2a8b949bfe4
README badge
For maintainers · updates on every re-audit
[](https://modelsatlas.com/mcp/jamesanz/medical-mcp/)
The badge always shows the latest audit; a maintainer cannot pin an old verdict.
Other ratings
Cited, never blended into our score
No third-party security ratings are recorded for this server yet. When they exist they appear here with their source and date, beside, not inside, our grade.
Questions about medical-mcp
What is the medical-mcp MCP server?
What tools does medical-mcp expose?
Is medical-mcp safe to connect to an agent?
What credentials does medical-mcp need?
How does medical-mcp run?
How current is this page?
Sources
- JamesANZ/medical-mcp on GitHub — the source we read, its licence, stars and activityObserved · 7 Oct 2026
- ModelsAtlas trust audit — SAFE verdict for commit 7c8c15b1c1f8Observed · 7 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What is the medical-mcp MCP server?
- What tools does medical-mcp expose?
- Is medical-mcp safe to connect to an agent?