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.

Hosted endpoint
https://drug-database.com/v1/mcp
Streamable HTTP · Authorization: Bearer dd_…

Just 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.

  1. initialize
  2. tools/list
  3. tools/call search_drug
  4. result — rows + _meta.sources
The hosted endpoint’s protocol, as implemented in /v1/mcp. Illustration — not a live session.

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.

claude_desktop_config.json
{
  "mcpServers": {
    "drug-database": {
      "command": "npx",
      "args": ["-y", "@drug-database/mcp-server"],
      "env": {
        "DRUG_DATABASE_API_KEY": "dd_live_YOUR_KEY"
      }
    }
  }
}
Or run it locally: npx -y @drug-database/mcp-server

The 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
  • 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
  • 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 plan

    search_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 plan

    atc_lookup · browse_therapeutic_classes

  • changes:readevery plan

    list_changes

  • chat:writeevery plan

    ask

  • interactions:writeGrowth and up

    validate_prescription

Hosted tools per scope, and the plans that grant it.

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?
The Model Context Protocol (MCP) is an open standard that lets an AI assistant call tools. This server gives an assistant such as Claude or Cursor 17 tools over the Drug Database catalogue — search, records, prices per daily dose, interactions, ATC classes and the change feed — each answering from the official registers with the source and the sync date.
Which MCP clients does it work with?
Any client that speaks MCP. The hosted endpoint uses Streamable HTTP with a Bearer key; the npm package runs locally over stdio. The install guide covers Claude Desktop, Cursor and Windsurf.
How much does it cost?
It uses the same key and quota as the HTTP API: each tools/call is one request, while initialize, ping and tools/list are not metered. The free plan is 10 lookups in total and runs 15 of the 16 hosted tools; Pro is $29/month for 1,500 lookups a month.
Does the npm package send my data anywhere?
Only to the Drug Database API, with your key. It keeps a bounded in-memory cache for the life of the process and writes nothing to disk. Without a key, most tool calls stop locally before anything leaves your machine; four make the call and get the API’s 401 back.
Can an agent give medical advice with it?
It should not. The tools return what the official registers publish, with the source and date; Drug Database is an informational reference, not a medical device. Check an agent’s answer against the source of record before any clinical decision.

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