drugbank-mcp-server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@drugbank-mcp-servercheck interactions for aspirin"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Unofficial DB MCP Server
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
Related MCP server: Healthcare MCP Server
Installation
# Clone and install dependencies
cd drugbank-mcp-server
npm installObtain the DB database:
Download the full database ZIP from your DB account
Extract the XML and place it at
data/full database.xml
# Build the SQLite database and copy source files
npm run buildUsage
{
"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
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/openpharma-org/drugbank-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server