About ChEMBL-MCP-Server
ChEMBL-MCP-Server wraps the chembl_webresource_client package with FastMCP, giving researchers and chemistry applications access to the ChEMBL database. It supports asynchronous calls over HTTP or stdio.
Key features
- 01ChEMBL database API access
- 02Asynchronous API calls
- 03Error handling and timeouts
- 04HTTP and stdio transports
Use cases
- 01Query activity, assay, target, and molecule data
- 02Retrieve drug data
- 03Canonicalize SMILES and convert to InChI
- 04Generate SVG images from SMILES
MCP support
It is an MCP server that exposes ChEMBL entity queries and chemical tool APIs to MCP clients. 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.