A side-by-side look at the Drugbank and Umls MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Drugbank for biology & bioinformatics work as a local process; choose Umls for biology & bioinformatics as a local process. You can also run both side by side in one mcpServers block.
drugbank_ddi, drugbank_drug_names, drugbank_drug.umls_search, umls_concept, umls_atoms.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Biology & Bioinformatics | Biology & Bioinformatics |
| Quality signal | 53/100 · Good | 51/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | Not declared | Not declared |
| Pricing | Not declared | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 0 | 0 |
| Directory activity | 0 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 3 | 4 |
| Full listing | View Drugbank | View Umls |
drugbank_ddiCheck drug-drug interactions among a set of drugs. Returns curated interactions with severity, description, and management guidance. Accepts drug names or DrugBank IDs (comma-separated). Example: drugbank_ddi({ drugs: "warfarin, acetaminophen", _apiKey: "your-key" }) or drugbank_ddi({ drugs: "DB006…drugbank_drug_namesLook up a drug by name or product. Resolves a query string to matching DrugBank drugs/products and their DrugBank IDs. Example: drugbank_drug_names({ query: "lipitor", _apiKey: "your-key" })drugbank_drugStructured monograph (indication, MoA, dosing) for a drug. Returns indication, mechanism of action, dosages, and a summary of adverse effects for a single DrugBank drug. Example: drugbank_drug({ id: "DB00682", _apiKey: "your-key" })umls_searchSearch clinical terms/codes → UMLS concepts (CUIs). Maps free text or a source code to UMLS concept unique identifiers spanning SNOMED CT, ICD-10, RxNorm, LOINC, MeSH, etc. Example: umls_search({ query: "myocardial infarction", _apiKey: "your-key" })umls_conceptConcept detail for a CUI. Returns the preferred name, semantic types, atom count, and relation count for a UMLS Concept Unique Identifier. Example: umls_concept({ cui: "C0027051", _apiKey: "your-key" })umls_atomsSource codes (ICD/SNOMED/RxNorm/LOINC) for a concept. Lists the source-asserted atoms of a CUI — the actual codes and names each vocabulary uses for that concept (the crosswalk table). Example: umls_atoms({ cui: "C0027051", _apiKey: "your-key" })umls_crosswalkCrosswalk a code from one vocabulary to others. Given a code in a source vocabulary (e.g. an ICD-10-CM code), returns the concepts that share the same UMLS CUI in other vocabularies (SNOMED CT, RxNorm, LOINC, etc.). Example: umls_crosswalk({ source: "ICD10CM", code: "I21.9", _apiKey: "your-key" })Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"drugbank": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-drugbank"
]
}
}
}
{
"mcpServers": {
"umls": {
"command": "npx",
"args": [
"-y",
"@pipeworx/mcp-umls"
]
}
}
}