The reason this is worth a connection rather than a browser tab is that the queries are chemical: similarity by Tanimoto score, substructure containment, InChI keys, activity types with value ranges. Those are the questions a name-based search cannot answer, and they are what turn a model into something useful on a compound series rather than on a single molecule.
An unofficial MCP server over ChEMBL's public REST API, aimed at drug discovery and chemical informatics work: compound and target lookup, bioactivity and assay data, clinical and mechanism-of-action information, and property analysis. It is not affiliated with ChEMBL.
- `search_compounds` — by name, synonym or identifier, paginated up to 1000 results
- `get_compound_info` — the full record for a ChEMBL ID such as `CHEMBL25`
- `search_targets` — biological targets by name, filtered by target type and organism
- `search_activities` — bioactivity measurements filtered by target, assay, molecule and activity type such as IC50, Ki or EC50
- `batch_compound_lookup` — up to 50 ChEMBL IDs processed in one call
- Structure work: InChI key and InChI string lookup, structures as SMILES, InChI, MOL or SDF, Tanimoto similarity search and substructure search
- Property analysis: ADMET, molecular descriptors, solubility and permeability prediction, and drug-likeness by Lipinski's Rule of Five
- Drug development data: approved drugs and clinical candidates, development status, therapeutic indications and mechanism of action
- Cross-references out to PubChem, DrugBank and PDB, and `chembl://` resource URIs for compound, target, assay, activity and search
Node.js v16 or higher; build from source with `npm install` and `npm run build`, or use the Docker image built from the included Dockerfile. The package is `chembl-server`. No API key and no account — everything comes from ChEMBL's public REST API, which also means the rate at which you can hammer it is theirs to decide, not yours.
One command — docker run -i chembl-mcp-server
