Health & medicines
by fourzerotwo.si · remote · no sign-in to list tools · v1.0.0 · published by si.fourzerotwo
Clinical trials, RxNorm drug lookups, FDA drug and device data, PubMed and NHS organisations.
29 tools: 24 change things and 5 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things24Claude Code: ask: see these tools
- Only reads5Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http health https://fourzerotwo.si/mcp/v/healthFindings
Matches of fixed checks, with the text they matched.
The server marks "nhs-organisations__organisation" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
The server marks "openfda__drug-labels" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "openfda__drug-labels" says "label": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
29 tools
Changes things 24Claude Code: ask
clinical-trials__recruitingStudies recruiting (or about to) for a condition in a city, region or country, with the matching trial sites.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Studies recruiting (or about to) for a condition in a city, region or country, with the matching trial sites. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: Clinical Trials (ClinicalTrials.gov): Recruiting trials near a place
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
clinical-trials__statsHow many registered studies for a condition are recruiting, active, completed, terminated or withdrawn.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it How many registered studies for a condition are recruiting, active, completed, terminated or withdrawn. A few free samples a day, then $0.003 USDC per call via x402.
Annotations the server declares
- title: Clinical Trials (ClinicalTrials.gov): Trial counts by status
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
clinical-trials__studyOne study: title, status, phase, conditions, interventions, sponsor, enrolment, dates, eligibility basics, primary outcomes, countries, whether results are posted.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One study: title, status, phase, conditions, interventions, sponsor, enrolment, dates, eligibility basics, primary outcomes, countries, whether results are posted. Free within the daily allowance, then $0.002 USDC per call via x402.
Annotations the server declares
- title: Clinical Trials (ClinicalTrials.gov): Study by NCT number
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nhs-organisations__organisationName, status, address, phone/website, roles and relationships (commissioner, operator, geography) for one ODS code.1 finding
Why it is in this group
- The input takes a statement or command to run (input.code), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "nhs-organisations__organisation" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The input takes a statement or command to run (input.code), which can change anything it can reach.
Description, as the server wrote it Name, status, address, phone/website, roles and relationships (commissioner, operator, geography) for one ODS code. Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: NHS Organisations (ODS): Organisation by ODS code
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nhs-organisations__rolesEvery ODS role code with its name, and the friendly aliases search accepts.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Every ODS role code with its name, and the friendly aliases search accepts. Free within the daily allowance, then $0.0005 USDC per call via x402.
Annotations the server declares
- title: NHS Organisations (ODS): Role codes
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__device-510kPremarket 510(k) clearances.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Premarket 510(k) clearances. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Device 510(k) clearances
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__device-eventsMAUDE medical device adverse event reports.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it MAUDE medical device adverse event reports. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Device adverse events
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__device-recallsMedical device recalls.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Medical device recalls. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Device recalls
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__drug-adverse-eventsFAERS adverse event reports for a drug.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it FAERS adverse event reports for a drug. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Drug adverse events
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__drug-labelsStructured prescribing information: indications, dosage, warnings, interactions.1 finding
Why it is in this group
- The name "openfda__drug-labels" says "label": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "openfda__drug-labels" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "openfda__drug-labels" says "label": a word for a change.
Description, as the server wrote it Structured prescribing information: indications, dosage, warnings, interactions. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Drug labels
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__drug-ndcNational Drug Code directory entries.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it National Drug Code directory entries. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: NDC directory
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__drug-recallsDrug recall enforcement reports.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Drug recall enforcement reports. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Drug recalls
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__drugs-fdaFDA approval history (Drugs@FDA) for an application or brand.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it FDA approval history (Drugs@FDA) for an application or brand. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Drug approvals
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__food-adverse-eventsCAERS reports for foods, supplements and cosmetics.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it CAERS reports for foods, supplements and cosmetics. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Food & supplement adverse events
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
openfda__food-recallsFood recall enforcement reports.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Food recall enforcement reports. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: openFDA: Food recalls
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
pubmed__summaryTitle, authors, journal, date and DOI for comma-separated PubMed ids.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Title, authors, journal, date and DOI for comma-separated PubMed ids. A few free samples a day, then $0.002 USDC per call via x402.
Annotations the server declares
- title: PubMed: Article summaries
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__approximateRanked RxNorm candidates for a misspelled or partial drug name.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Ranked RxNorm candidates for a misspelled or partial drug name. Free within the daily allowance, then $0.002 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: Approximate drug match
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__drugsEvery clinical drug, branded drug and pack for an ingredient or brand name, grouped by RxNorm term type.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Every clinical drug, branded drug and pack for an ingredient or brand name, grouped by RxNorm term type. Free within the daily allowance, then $0.002 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: Clinical & branded drugs
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__ndcNational Drug Code (10 or 11 digits) to its RxNorm concept and status.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it National Drug Code (10 or 11 digits) to its RxNorm concept and status. Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: NDC to RxCUI
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__ndcsActive National Drug Codes for an RxNorm clinical or branded drug.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Active National Drug Codes for an RxNorm clinical or branded drug. Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: NDCs for an RxCUI
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__propertiesName, synonym, term type and active/obsolete status of an RxCUI.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Name, synonym, term type and active/obsolete status of an RxCUI. Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: Concept properties
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__rxcuiExact (normalised) match of a drug name to its RxNorm concept id(s).No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Exact (normalised) match of a drug name to its RxNorm concept id(s). Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: Drug name to RxCUI
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
rxnorm__spellingCorrectly spelled RxNorm drug names close to the input.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Correctly spelled RxNorm drug names close to the input. Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: RxNorm Drug Names: Spelling suggestions
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
Only reads 5Claude Code: allow
clinical-trials__searchFind studies by condition, intervention (drug/device), location, sponsor or free text, optionally filtered by status and phase.No findings
Why it is in this group
- The name "clinical-trials__search" says "search": a word for reading.
Description, as the server wrote it Find studies by condition, intervention (drug/device), location, sponsor or free text, optionally filtered by status and phase. Free within the daily allowance, then $0.003 USDC per call via x402.
Annotations the server declares
- title: Clinical Trials (ClinicalTrials.gov): Search clinical trials
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
nhs-organisations__searchFind NHS organisations by name, postcode (or district) and role: gp, pharmacy, trust, trust-site, icb, dental, optical, care-home, hospice, or a role code.No findings
Why it is in this group
- The name "nhs-organisations__search" says "search": a word for reading.
Description, as the server wrote it Find NHS organisations by name, postcode (or district) and role: gp, pharmacy, trust, trust-site, icb, dental, optical, care-home, hospice, or a role code. Free within the daily allowance, then $0.001 USDC per call via x402.
Annotations the server declares
- title: NHS Organisations (ODS): Search organisations
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
pubmed__clinical-trials-searchPubMed citations that are clinical trial reports for a query.No findings
Why it is in this group
- The name "pubmed__clinical-trials-search" says "search": a word for reading.
Description, as the server wrote it PubMed citations that are clinical trial reports for a query. A few free samples a day, then $0.002 USDC per call via x402.
Annotations the server declares
- title: PubMed: Search clinical trial records
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
pubmed__pmc-searchFree full-text article ids in PubMed Central.No findings
Why it is in this group
- The name "pubmed__pmc-search" says "search": a word for reading.
Description, as the server wrote it Free full-text article ids in PubMed Central. A few free samples a day, then $0.002 USDC per call via x402.
Annotations the server declares
- title: PubMed: Search PubMed Central
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
pubmed__searchPubMed ids matching a query (supports PubMed query syntax).No findings
Why it is in this group
- The name "pubmed__search" says "search": a word for reading.
Description, as the server wrote it PubMed ids matching a query (supports PubMed query syntax). A few free samples a day, then $0.002 USDC per call via x402.
Annotations the server declares
- title: PubMed: Search PubMed
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http health https://fourzerotwo.si/mcp/v/healthRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__health__clinical-trials__search",
"mcp__health__nhs-organisations__search",
"mcp__health__pubmed__search",
"mcp__health__pubmed__pmc-search",
"mcp__health__pubmed__clinical-trials-search"
],
"ask": [
"mcp__health__clinical-trials__study",
"mcp__health__clinical-trials__recruiting",
"mcp__health__clinical-trials__stats",
"mcp__health__nhs-organisations__organisation",
"mcp__health__nhs-organisations__roles",
"mcp__health__pubmed__summary",
"mcp__health__rxnorm__rxcui",
"mcp__health__rxnorm__approximate",
"mcp__health__rxnorm__spelling",
"mcp__health__rxnorm__drugs",
"mcp__health__rxnorm__related",
"mcp__health__rxnorm__properties",
"mcp__health__rxnorm__ndc",
"mcp__health__rxnorm__ndcs",
"mcp__health__openfda__drug-adverse-events",
"mcp__health__openfda__drug-recalls",
"mcp__health__openfda__drug-ndc",
"mcp__health__openfda__drugs-fda",
"mcp__health__openfda__device-events",
"mcp__health__openfda__device-recalls",
"mcp__health__openfda__device-510k",
"mcp__health__openfda__food-recalls",
"mcp__health__openfda__food-adverse-events",
"mcp__health__openfda__drug-labels"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as health. Review it before you use it.