About ChEMBL-MCP-Server
ChEMBL-MCP-Server wraps the ChEMBL web resource client to provide MCP access to ChEMBL data and chemical functions. It is intended for AI assistants and scientific users querying molecular, assay, target, activity, and drug information.
Key features
- 01ChEMBL database API access
- 02Activity, assay, target, molecule, and drug data
- 03SMILES canonicalization and conversion
- 04Chemical structural alerts
- 05HTTP and stdio transports
- 06Asynchronous calls with error handling and timeouts
Use cases
- 01Look up ChEMBL molecule and drug records
- 02Query assay, target, and activity data
- 03Convert SMILES strings to InChI
- 04Retrieve chemical structural alerts
MCP support
Exposes ChEMBL data and chemical functions to MCP clients through server tools. It supports HTTP and stdio transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEChEMBL-MCP-Server
A FastMCP wrapper server based on the chembl_webresource_client package, providing API access to the ChEMBL database.
Features
- Complete API access to the ChEMBL database
- Asynchronous API calls implemented using FastMCP framework
- Built-in error handling and timeout mechanisms
- Support for both HTTP and stdio transport methods
- Complete type annotations and docstrings
Installation
# Clone repository
git clone https://github.com/yourusername/ChEMBL-MCP-Server.git
cd ChEMBL-MCP-Server
# Install dependencies
pip install -r requirements.txt
Usage
Starting the Server
# Start HTTP server with default configuration
python chembl_searver.py
# Specify host and port
python chembl_searver.py --host 0.0.0.0 --port 8080
# Use stdio transport
python chembl_searver.py --transport stdio
# Set log level
python chembl_searver.py --log-level DEBUG
Available Parameters
--host: Server host address, defaults to 127.0.0.1--port: Server port, defaults to 8000--transport: Transport method, choose between http or stdio, defaults to http--log-level: Log level, choose from DEBUG, INFO, WARNING, ERROR, CRITICAL, defaults to INFO
API Functions
The server provides the following API functions:
Data Entity APIs
example_activity: Get activity dataexample_assay: Get assay dataexample_target: Get target dataexample_molecule: Get molecule dataexample_drug: Get drug data- More data entity APIs...
Chemical Tool APIs
example_canonicalizeSmiles: Canonicalize SMILES stringsexample_smiles2inchi: Convert SMILES to InChIexample_smiles2svg: Convert SMILES to SVG imageexample_structuralAlerts: Get structural alerts- More chemical tool APIs...
Examples
Check the chembl_search.py file for examples of using various APIs.
Dependencies
- chembl_webresource_client: ChEMBL Web Service Client
- mcp: MCP Framework
- fastapi: FastAPI Framework
- uvicorn: ASGI Server
- asyncio: Asynchronous I/O Library
License
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.