Back to MCP Servers

ChEMBL MCP Server

Unofficial MCP server exposing 27 tools for the ChEMBL chemical database: compound search, target analysis, bioactivity data, and drug discovery.

Healthcare & Life Sciences by Augmented Nature (community) None active
Overview

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.
Setup Guide

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/.

Use Cases
  • 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
Example Prompts
  • "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"
Pros
  • 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
Limitations
  • 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
Alternatives