MCP server

The resolver lives in the editor.

Every drug, every jurisdiction, in your editor. AI IDEs are where healthcare apps are being prototyped today — we ship an MIT-licensed npm package, schema definitions and a thin HTTP shim only. The product stays behind https://drug-database.com.

Free tier

no key required

Rate-limited 100 req/day per host (hashed). Enough to prove the data quality and the parser depth.

  • drug-database.search_drugTypeahead across CH, EU, UK, US public registers. Pass country=CH|DE|FR|IT|ES|AT|UK|US|… to scope. Capped at 5 results.
  • drug-database.atc_lookupPublic ATC tree browse — parents, children, DDD. Cross-jurisdictional.
  • drug-database.schema_docsField reference for Drug, Interaction, AtcCode types.

Gated tools

requires DRUG_DATABASE_API_KEY

Bearer-token auth. Missing key returns a 401 with the signup URL inline so the agent can show it.

  • drug-database.assess_feasibilityOne call, six sources: drug→targets→human-genetics + directionality-concordance→de-risking→LINCS repurposing→guidelines→HTA, plus a summary. Replaces the 6+ separate lookups an agent would otherwise stitch together.
  • drug-database.assess_target_geneticsOpen Targets Genetics support for a target×disease + the piece OT doesn’t compute — the concordance verdict (does the drug’s mechanism phenocopy the protective genetics?) and a de-risking profile (essentiality, LoF constraint, tractability, safety).
  • drug-database.find_repurposing_candidatesMechanism-agnostic repurposing leads: which compounds most reverse a curated disease signature (LINCS L1000) — an efficacy signal independent of any target hypothesis.
  • drug-database.get_drugFull record + identifiers (GTIN, NDC, dm+d, CIS, PZN, AIC, RXCUI) + indications + dispensing category.
  • drug-database.check_interactionsPairwise + N-way interaction check across 2–20 drugs from any jurisdiction.
  • drug-database.validate_prescriptionBucketed, non-identifying context only — screened in-project against our reviewed interaction data. Informational only; no PHI. US/EU/CH dispensing rules.
  • drug-database.list_changesDiff feed since timestamp — what moved across all 28 sources this week.
install — claude_desktop_config.json@drug-database/mcp-server live on npm
{
  "mcpServers": {
    "drug-database": {
      "command": "npx",
      "args": ["-y", "@drug-database/mcp-server"],
      "env": {
        "DRUG_DATABASE_API_KEY":  "dd_live_…"
      }
    }
  }
}
one-shot
# Pinned API base, refuses overrides unless
# DRUG_DATABASE_ALLOW_BASE_OVERRIDE=1 is set
# (anti-exfiltration via hostile MCP config).
$ npx @drug-database/mcp-server

# Cursor + Windsurf use the same JSON shape
# under their own config keys.

No data on disk

In-memory ETag cache only, scoped to the process lifetime. Never caches drug names, identifiers, or ATC codes client-side.

EN · DE · FR · IT · ES

Tool descriptions and error strings shipped in five languages, picked from LC_ALL / LANG. Matches our US + EU + CH surface.

Telemetry opt-out

Anonymous { tool, ok, http_status, ms } only. Never drug data, never patient context. DRUG_DATABASE_MCP_TELEMETRY=0 to disable.