MCP server · for developers
An MCP server for drug data, from 19 countries.
17 Model Context Protocol tools over the official drug registers, for Claude, Cursor, Windsurf or any MCP client. Attach by URL, or run the MIT-licensed npm package.
https://drug-database.com/v1/mcpJust want to look a medicine up? You need none of this — open a free account and search in the console, with the assistant built in.
- initializenot metered
- tools/listonly what your key can run
- tools/call search_drug1 request
- result — rows + _meta.sourcesregister + sync date
Connect
One URL, or one npx.
Point your client at the hosted endpoint with your key as a Bearer token — nothing to install. Or run the npm package locally over stdio.
- Hosted:
https://drug-database.com/v1/mcp, Streamable HTTP - Local:
npx -y @drug-database/mcp-server, MIT-licensed - The same dd_ key, scopes and quota as the HTTP API
Settings → Developer → Edit Config, add the entry, restart Claude Desktop. Runs the npm package over stdio.
{
"mcpServers": {
"drug-database": {
"command": "npx",
"args": ["-y", "@drug-database/mcp-server"],
"env": {
"DRUG_DATABASE_API_KEY": "dd_live_YOUR_KEY"
}
}
}
}Run once in your terminal, then type /mcp inside Claude Code to check that drug-database is connected.
claude mcp add --transport http drug-database https://drug-database.com/v1/mcp \ --header "Authorization: Bearer dd_live_YOUR_KEY"
Add to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project).
{
"mcpServers": {
"drug-database": {
"url": "https://drug-database.com/v1/mcp",
"headers": { "Authorization": "Bearer dd_live_YOUR_KEY" }
}
}
}Add to .vscode/mcp.json in your workspace, then start the server from the MCP view.
{
"servers": {
"drug-database": {
"type": "http",
"url": "https://drug-database.com/v1/mcp",
"headers": { "Authorization": "Bearer dd_live_YOUR_KEY" }
}
}
}Any MCP client that speaks Streamable HTTP and sends a custom header works. Or talk to it directly:
POST https://drug-database.com/v1/mcp
Authorization: Bearer dd_live_YOUR_KEY
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/list"}npx -y @drug-database/mcp-serverThe tools
17 tools. 15 of them on the free plan.
Each tool calls one /v1 endpoint and needs that endpoint’s scope. The hosted server lists only the tools your key can run.
Look something upThe everyday reads.
- search_drugGET /v1/drugs
Find products by brand, substance or ATC code.
drugs:read - get_drugGET /v1/drugs/{id}
The full record plus identifiers — GTIN, NDC, dm+d, CIS, PZN, AIC, RxCUI.
drugs:read - get_drug_profileGET /v1/drugs/{id}/profile
Label text, per-country pricing, interactions, adverse events, availability.
drugs:read - find_equivalentsGET /v1/drugs/{id}/equivalents
The same medicine in every other country, grouped by country.
drugs:read - atc_lookupGET /v1/atc/{code}
The WHO ATC tree — parents, children, DDD, labels.
atc:read - browse_therapeutic_classesGET /v1/classes
ATC plus the pharmacologic-class, mechanism and structure axes.
atc:read - list_changesGET /v1/changes
What moved across the registers since a timestamp.
changes:read
Check somethingClinical and pricing reads. Informational only — not a medical device.
- check_interactionsPOST /v1/interactions/check
Pairwise and N-way interaction check across a medicine list.
drugs:read - validate_prescriptionPOST /v1/prescriptions/validate
Screening with coarse, non-identifying context only. No PHI is persisted.
interactions:write - check_pharmacogenomicsGET /v1/pgx
CPIC and PharmGKB gene–drug guidance for a substance.
drugs:read - compare_market_pricesGET /v1/markets/overview
Price per defined daily dose for one molecule, market by market.
drugs:read
Assess a moleculeComposed tools — several public sources in one call.
- assess_feasibilityGET /v1/assessment
Targets, genetics, concordance, de-risking, repurposing signal, guidelines and HTA — with a summary.
drugs:read - assess_target_geneticsGET /v1/targets/genetics
Open Targets genetic support, plus whether the mechanism phenocopies it.
drugs:read - find_drug_targetsGET /v1/targets
Targets, enzymes and transporters, from ChEMBL and Guide to Pharmacology.
drugs:read - find_repurposing_candidatesGET /v1/signatures
Compounds that most reverse a curated disease signature (LINCS L1000).
drugs:read - askPOST /v1/chat
A plain-language question, answered from the catalogue with sources — from your plan’s AI answers.
chat:write
In the npm package onlyThe one tool that needs no key.
- schema_docsanswers locally
Field reference for the Drug, Interaction and AtcCode types. No network call — no key, no quota.
no key
The key
Same key, same quota, same meter.
A tool call is one API request on your account. Listing tools is free. The free plan is 10 lookups in total — enough to try it; Pro is $29/month for 1,500 lookups a month.
- Free: 15 of 16 hosted tools, 10 lookups in total
- ask draws on your plan’s AI answers — a one-time 5¢ AI credit on Free, 50 AI answers a month on Pro
- Interaction tools need interactions:write — Growth ($490/month) and up
drugs:readevery plansearch_drug · get_drug · get_drug_profile · find_equivalents · check_interactions · check_pharmacogenomics · compare_market_prices · assess_feasibility · assess_target_genetics · find_drug_targets · find_repurposing_candidates
atc:readevery planatc_lookup · browse_therapeutic_classes
changes:readevery planlist_changes
chat:writeevery planask
interactions:writeGrowth and upvalidate_prescription
On your machine
What the npm package does and does not do.
Nothing written to disk
A bounded in-memory ETag cache for the process lifetime — drug names, identifiers and ATC codes are never persisted client-side.
EN · DE · FR · IT
Tool descriptions and error strings in four languages, picked from LC_ALL / LANG.
The API base is pinned
A hostile config cannot redirect your key: overriding the base URL needs DRUG_DATABASE_ALLOW_BASE_OVERRIDE=1.
Call a tool with no key and the package answers with an error and the signup link — most tools stop locally, before anything leaves your machine; a few make the call and get the API's 401 back (the docs list them). The package is MIT-licensed; the data is served under the terms, and the registers it comes from are listed on data sources.
What is an MCP server for drug data?
Which MCP clients does it work with?
How much does it cost?
Does the npm package send my data anywhere?
Can an agent give medical advice with it?
Attach it
Give your agent the registers.
A free key is 10 lookups in total — enough to wire it up and see real answers. Pro is $29/month.
Free to try · 10 lookups in total · No card required