Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Drugbank Server

БесплатноНе проверен

Model Context Protocol server providing access to the comprehensive DB pharmaceutical database with 17,430+ drugs, supporting search, drug details, interactions

GitHubEmbed

Описание

Model Context Protocol server providing access to the comprehensive DB pharmaceutical database with 17,430+ drugs, supporting search, drug details, interactions, and more.

README

Model Context Protocol (MCP) server providing access to the comprehensive DB pharmaceutical database (17,430+ drugs).

Features

  • Single unified tool with 16 methods
  • High-performance SQLite backend: <10ms queries, ~50-100MB memory usage
  • Access to 17,430 drug records (13,166 small molecules + 4,264 biotech)
  • Comprehensive pharmaceutical data including:
    • Drug names, descriptions, classifications
    • Clinical indications and mechanisms of action
    • Chemical structures (SMILES, InChI)
    • Drug interactions and contraindications
    • Target proteins, enzymes, carriers, transporters
    • Metabolic pathways
    • Market products and regulatory information
    • Pharmacokinetics (half-life search) and toxicity data
    • Salt forms and external database identifiers
    • Drug similarity search

Installation

# Clone and install dependencies
cd drugbank-mcp-server
npm install

Obtain the DB database:

  1. Download the full database ZIP from your DB account
  2. Extract the XML and place it at data/full database.xml
# Build the SQLite database and copy source files
npm run build

Usage

{
  "mcpServers": {
    "db-mcp-server": {
      "command": "node",
      "args": ["/path/to/db-mcp-server/build/index.js"]
    }
  }
}

Tool

Single unified tool with multiple methods accessed via the method parameter.

Methods

1. search_by_name

Search drugs by name (supports partial matching).

Note: DB uses chemical names as primary identifiers. Search for "Acetylsalicylic" to find aspirin, "Ibuprofen" not "Advil", etc.

{
  "method": "search_by_name",
  "query": "Acetylsalicylic",
  "limit": 20
}

2. get_drug_details

Get complete drug information by DB ID.

{
  "method": "get_drug_details",
  "drugbank_id": "EXPT00475"
}

Returns full drug record including:

  • All identifiers (DB ID, CAS, UNII)
  • Clinical information (indication, mechanism, toxicity)
  • Pharmacokinetics (absorption, metabolism, half-life)
  • Chemical properties
  • Interactions (drug-drug, food)
  • Targets and enzymes

3. search_by_indication

Find drugs by medical indication.

{
  "method": "search_by_indication",
  "query": "pain",
  "limit": 20
}

4. search_by_target

Find drugs by target protein/enzyme.

{
  "method": "search_by_target",
  "target": "COX-2",
  "limit": 20
}

5. get_drug_interactions

Get all drug-drug interactions for a specific drug.

{
  "method": "get_drug_interactions",
  "drugbank_id": "DB00945"
}

6. search_by_atc_code

Search by ATC (Anatomical Therapeutic Chemical) classification code.

{
  "method": "search_by_atc_code",
  "code": "N02BA",
  "limit": 20
}

7. get_pathways

Get metabolic pathways for a drug.

{
  "method": "get_pathways",
  "drugbank_id": "DB00945"
}

8. search_by_structure

Search by chemical structure (SMILES or InChI).

{
  "method": "search_by_structure",
  "smiles": "CC(=O)Oc1ccccc1C(=O)O",
  "limit": 20
}

9. get_products

Get market products for a drug (brand names, manufacturers).

{
  "method": "get_products",
  "drugbank_id": "DB00945",
  "country": "US"
}

10. search_by_category

Search drugs by therapeutic category.

{
  "method": "search_by_category",
  "category": "Anti-inflammatory",
  "limit": 20
}

11. get_external_identifiers

Get cross-database identifiers (PubChem, ChEMBL, KEGG, RxCUI, etc.) and structure identifiers.

{
  "method": "get_external_identifiers",
  "drugbank_id": "DB02351"
}

12. search_by_halflife

Find drugs by elimination half-life range (in hours). Useful for dosing considerations.

{
  "method": "search_by_halflife",
  "min_hours": 12,
  "max_hours": 48,
  "limit": 20
}

13. get_similar_drugs

Find drugs similar to a reference drug based on shared targets, categories, and ATC codes. Uses Jaccard similarity scoring.

{
  "method": "get_similar_drugs",
  "drugbank_id": "APRD00003",
  "limit": 20
}

Returns similarity scores with breakdown by:

  • target_similarity: Shared protein/enzyme targets (50% weight)
  • category_similarity: Shared therapeutic categories (30% weight)
  • atc_similarity: Shared ATC classification codes (20% weight)

14. search_by_carrier

Find drugs by carrier protein (proteins that transport drugs in the body, like albumin).

{
  "method": "search_by_carrier",
  "carrier": "Albumin",
  "limit": 20
}

15. search_by_transporter

Find drugs by transporter protein (membrane proteins that move drugs across cell membranes).

{
  "method": "search_by_transporter",
  "transporter": "P-glycoprotein",
  "limit": 20
}

16. get_salts

Get salt forms for a drug (different chemical forms like hydrochloride, sulfate).

{
  "method": "get_salts",
  "drugbank_id": "DB00007"
}

Example Queries with Claude

Once configured, you can ask Claude:

  • "Find information about acetylsalicylic acid using DB" (aspirin's chemical name)
  • "Search DB for drugs containing ibuprofen"
  • "What drugs interact with warfarin?"
  • "Show me all drugs that target COX-2"
  • "Find drugs used for treating hypertension"
  • "What are the metabolic pathways for acetylsalicylic acid?"
  • "Find drugs similar to Nelfinavir" (HIV protease inhibitor)
  • "What are the external identifiers for Bivalirudin?"
  • "Find drugs with a half-life between 12 and 24 hours"
  • "What drugs are carried by albumin?"
  • "Find drugs transported by P-glycoprotein"
  • "What salt forms are available for leuprolide?"

Note: Use chemical/generic names (acetylsalicylic acid, ibuprofen, acetaminophen) rather than brand names (Aspirin, Advil, Tylenol) for best results.

Performance

SQLite Mode (Default)

  • All queries: <10ms
  • Memory usage: ~50-100MB
  • Database size: 31.1MB (98% reduction from 1.5GB XML)
  • FTS5 full-text search: Fast name/indication lookups

XML Fallback Mode

  • First query: ~30-60 seconds (loads entire 1.5GB XML into memory)
  • Subsequent queries: <500ms (cached in memory)
  • Memory usage: ~2-3GB when database is loaded

Data Source

  • Database: DB (Full Database)
  • Records: 17,430 drugs (13,166 small molecules + 4,264 biotech)

License

MIT

from github.com/openpharma-org/drugbank-mcp-server

Установка Drugbank Server

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/openpharma-org/drugbank-mcp-server

FAQ

Drugbank Server MCP бесплатный?

Да, Drugbank Server MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Drugbank Server?

Нет, Drugbank Server работает без API-ключей и переменных окружения.

Drugbank Server — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Drugbank Server в Claude Desktop, Claude Code или Cursor?

Открой Drugbank Server на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Drugbank Server with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории data