@drug-database/mcp-server
v0.1.0
Published
Native MCP server for the Drug Database — worldwide drug master + interactions API
Maintainers
Readme
Drug Database — MCP server
Native Model Context Protocol server for the Drug Database — a worldwide drug master + interactions API. Brings 28 public sources across Switzerland, the European Union, and the United States (BAG-SL, AIPS, EPha, oddb, Swissmedic, UK dm+d, ES CIMA, FR BDPM, DE BfArM AMIce, IT AIFA, AT AGES, EMA SPOR/IDMP, DK Lægemiddelstyrelsen, SE TLV, FI Fimea, NO FEST, NL CBG/MEB, BE AFMPS, IE HPRA, PT INFARMED, FDA NDC, Orange Book, DailyMed, NLM RxNorm, FDA UNII, DEA controlled, CMS HCPCS, WHO ATC/DDD) directly into Claude Desktop, Cursor, Windsurf, and other MCP-compatible AI IDEs.
The package is a thin HTTP shim over drug-database.com/v1/*. It ships schema definitions only — no curated drug data lives in the npm tarball. MIT-licensed.
Install
In claude_desktop_config.json (Cursor and Windsurf use the same shape under their own config keys):
{
"mcpServers": {
"drugdatabase": {
"command": "npx",
"args": ["-y", "@drug-database/mcp-server"],
"env": {
"DRUG_DATABASE_API_KEY": "ms_live_…",
"PHI_GATEWAY_API_KEY": "phi_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-serverTool catalog
Free tier (no key required, rate-limited 100 req/day per host)
search_drug— worldwide typeahead across the loaded jurisdictions (CH + EU + US public sources). Capped at 5 results.atc_lookup— public WHO ATC tree browse — parents, children, DDD.schema_docs— field reference forDrug,Interaction,AtcCodetypes.
Gated tools (require DRUG_DATABASE_API_KEY)
get_drug— full record + identifiers + indications + dispensing category.check_interactions— pairwise + N-way interaction check across 2–20 drugs.validate_prescription— bucketed patient context, routes through PHI Gateway.list_changes— diff feed since timestamp.
Environment
| Variable | Purpose |
|---|---|
| DRUG_DATABASE_API_KEY | Bearer token for gated tools. Get one at https://drug-database.com/dashboard/keys. |
| PHI_GATEWAY_API_KEY | Required only when validate_prescription is called with patient context. |
| DRUG_DATABASE_API_BASE | Override the API base URL. Refused unless DRUG_DATABASE_ALLOW_BASE_OVERRIDE=1. |
| DRUG_DATABASE_ALLOW_BASE_OVERRIDE | Set to 1 to allow base-URL overrides. |
| DRUG_DATABASE_MCP_TELEMETRY | Set to 0 to disable opt-in anonymous pings. Default 1. |
| DRUG_DATABASE_MCP_TRANSPORT | stdio (default) or sse. |
| LC_ALL / LANG | Tool descriptions and errors localise to en / de / fr / it. Default EN. |
Security boundaries
- In-memory ETag cache only. Never writes drug data to disk.
- Never logs drug names, ATC codes, Pharmacodes, NDC, or patient context client-side, regardless of telemetry setting.
- Telemetry payload contains only
{ tool, ok, http_status, ms, mcp_version, sdk_runtime }. - The API base URL is pinned by default and refuses overrides without
DRUG_DATABASE_ALLOW_BASE_OVERRIDE=1to block exfiltration via a hostile MCP config.
Localisation
Tool descriptions and error strings ship in EN / DE / FR / IT, picked from LC_ALL / LANG. Default English.
License
MIT.
