ChEMBL-MCP-Server
by JackKuo666
A FastMCP wrapper server providing API access to the ChEMBL database. It leverages chembl_webresource_client for accessing ChEMBL data.
View on GitHub
Last updated: N/A
ChEMBL-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