ChEMBL MCP Server
Unofficial MCP server exposing 27 tools for the ChEMBL chemical database: compound search, target analysis, bioactivity data, and drug discovery.
The ChEMBL MCP Server is a community-built Model Context Protocol server that wraps the public ChEMBL REST API, the bioactivity database maintained by EMBL-EBI. It exposes 27 specialized tools to MCP clients (Claude Desktop, Cursor, etc.), enabling AI agents to perform drug discovery, chemical informatics, and bioactivity research without writing custom API code.
Tool coverage spans six functional groups: chemical search and retrieval (compound lookup, InChI search, structure formats, similarity search), target analysis (protein targets, UniProt lookup, pathways), bioactivity and assay queries (activity filters, dose-response, assay protocols), drug development (approved drugs, clinical candidates, mechanism of action, indications), chemical property prediction (ADMET, descriptors, solubility, drug-likeness via Lipinski's Rule of Five), and advanced search (substructure search, batch lookup, cross-references to PubChem/DrugBank/PDB).
Note this is an unofficial implementation by Augmented Nature; ChEMBL/EMBL-EBI does not publish a first-party MCP server. The project is MIT-licensed, runs locally over stdio, and requires no API key since ChEMBL's REST API is freely accessible.
Tools
| Tool | Description |
|---|---|
search_compounds |
Search the ChEMBL database by compound name, synonym, or identifier. |
get_compound_info |
Retrieve detailed compound data by ChEMBL ID. |
search_by_inchi |
Locate compounds via InChI key or full InChI string. |
get_compound_structure |
Return compound structures in SMILES, InChI, MOL, or SDF formats. |
search_similar_compounds |
Find structurally similar compounds using Tanimoto similarity. |
search_targets |
Search biological targets by name with optional type/organism filters. |
get_target_info |
Retrieve comprehensive metadata for a specific target. |
get_target_compounds |
List compounds tested against a given target. |
search_by_uniprot |
Find ChEMBL targets via UniProt accession. |
get_target_pathways |
Retrieve biological pathways associated with a target. |
search_activities |
Query bioactivity measurements with target/assay/compound/type filters. |
get_assay_info |
Retrieve assay protocols and conditions. |
search_by_activity_type |
Find activities by type (IC50, Ki, etc.) and value range. |
get_dose_response |
Access dose-response profiles for compound/target pairs. |
compare_activities |
Cross-compare bioactivity datasets between compounds or targets. |
search_drugs |
Query approved drugs and clinical candidates. |
get_drug_info |
Retrieve drug development status and details. |
search_drug_indications |
Find therapeutic areas/indications for drugs. |
get_mechanism_of_action |
Retrieve target interaction and mechanism data for a drug. |
analyze_admet_properties |
Evaluate absorption, distribution, metabolism, excretion, and toxicity. |
calculate_descriptors |
Compute physicochemical molecular descriptors. |
predict_solubility |
Model aqueous solubility and permeability. |
assess_drug_likeness |
Apply Lipinski's Rule of Five and related filters. |
substructure_search |
Locate compounds containing a specific substructure. |
batch_compound_lookup |
Process 1 to 50 ChEMBL IDs in a single request. |
get_external_references |
Cross-link to PubChem, DrugBank, and PDB. |
advanced_search |
Run multi-filter complex queries across ChEMBL. |
Prerequisites
- Node.js v16 or higher with npm or yarn
- Optional: Docker for containerized deployment
- No API key required (ChEMBL REST API is public)
Installation
git clone https://github.com/Augmented-Nature/ChEMBL-MCP-Server.git
cd ChEMBL-MCP-Server
npm install
npm run build
Claude Desktop config
Add to claude_desktop_config.json:
{
"mcpServers": {
"chembl": {
"command": "node",
"args": ["/path/to/ChEMBL-MCP-Server/build/index.js"],
"env": {}
}
}
}
Docker alternative
{
"mcpServers": {
"chembl": {
"command": "docker",
"args": ["run", "-i", "chembl-mcp-server"],
"env": {}
}
}
}
After editing the config, restart your MCP client. The server communicates over stdio and proxies requests to https://www.ebi.ac.uk/chembl/api/data/.
- Look up bioactivity data (IC50, Ki, EC50) for a compound across all known targets to support hit triage
- Pull approved drugs and clinical candidates for a target protein (by UniProt ID) to scope competitive intelligence
- Run Tanimoto similarity search against a lead compound's SMILES to identify analog series for SAR analysis
- Evaluate drug-likeness and ADMET properties for a set of candidate molecules using Lipinski's Rule of Five
- Cross-reference ChEMBL compounds to PubChem, DrugBank, and PDB entries to build unified compound dossiers
- "Search ChEMBL for compounds similar to aspirin with a Tanimoto threshold above 0.7"
- "Find all approved drugs targeting EGFR (UniProt P00533) and list their mechanisms of action"
- "Get IC50 activity data for CHEMBL25 against any kinase target and summarize the most potent assays"
- "Compute ADMET properties and assess drug-likeness for this SMILES: CC(=O)OC1=CC=CC=C1C(=O)O"
- "Run a substructure search for the beta-lactam core and return the first 20 ChEMBL IDs with external references to DrugBank"
- Broad tool surface (27 tools) covering compound, target, assay, drug, and property workflows
- No authentication required; uses the free public ChEMBL REST API
- MIT-licensed and self-hostable with both Node.js and Docker setup paths
- Includes higher-level cheminformatics helpers (ADMET, Lipinski, descriptors) beyond raw API passthrough
- Unofficial: not maintained by EMBL-EBI or the ChEMBL team, so longevity and API coverage are not guaranteed
- Hard limits per the README: max 1,000 results per query, 30-second request timeout, batch lookup capped at 50 IDs
- Similarity search is restricted to Tanimoto coefficient; no support for other fingerprint distance metrics
- Property predictions (ADMET, solubility) rely on simple models rather than validated QSAR pipelines
- JackKuo666/ChEMBL-MCP-Server: Python FastMCP wrapper built on the official
chembl_webresource_client - Augmented-Nature/PubChem-MCP-Server: Same-author server for PubChem compound and bioassay data
- Augmented-Nature/SureChEMBL-MCP-Server: MCP access to the SureChEMBL chemical patent database