drugbank
Unofficial DrugBank MCP Server - Access 17,430+ drugs via Model Context Protocol
claude mcp add --transport stdio openpharma-org-drugbank-mcp-server node /path/to/drugbank-mcp-server/build/index.js
How to use
This MCP server provides a single tool, drugbank_info, which exposes 16 methods to query the DrugBank database. The server uses a high-performance SQLite backend to deliver fast responses (sub-10ms queries in many cases) and can return detailed drug records, interactions, pathways, external identifiers, and more. Typical workflows include searching by drug name or indication, retrieving full drug records by DrugBank ID, finding drugs that share targets or ATC codes, exploring market products, and discovering salts, structures, and pharmacokinetics data. You can also obtain similar drugs based on shared targets, categories, and ATC codes, and you can filter results by half-life ranges or by structural similarity using SMILES or InChI inputs. To use the tools, send JSON requests with the appropriate method and parameters to the drugbank_info endpoint via the MCP server.
How to install
Prerequisites:
- Node.js and npm installed on the host
- Access to the repository and the ability to install dependencies
Installation steps:
-
Clone the repository and install dependencies git clone https://github.com/openpharma-org/drugbank-mcp-server.git cd drugbank-mcp-server npm install
-
Download the pre-built SQLite database release npm run download:db
-
Build the project (copies src/ to build/) npm run build:code
-
Run the server using the configured entry point (example shown in usage) node /path/to/drugbank-mcp-server/build/index.js
Note: The database file should be located at data/drugbank.db after a successful download and build. You can verify the current version with cat data/VERSION.
Additional notes
Tips and considerations:
- If you encounter a missing database error, run npm run download:db to fetch the latest pre-built SQLite database release and ensure the file exists at data/drugbank.db.
- The Troubleshooting section in the README suggests checking data/VERSION to verify updates and that the database is updated monthly. Use npm run download:db to fetch the latest version when needed.
- The server provides a single tool (drugbank_info) with many methods; ensure you pass the correct method name and required parameters (e.g., drugbank_id, query, or code) for each call.
- For performance, the SQLite backend aims for <10ms queries with a memory footprint around 50-100MB in normal operation. If you switch to XML Fallback mode, be prepared for higher startup costs and memory usage.
- Environment variables can be added under the env object in the mcp_config if needed for custom paths or credentials; the default setup does not require additional env vars.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.