what is ChEMBL-MCP-Server?
ChEMBL-MCP-Server is a FastMCP wrapper server that provides API access to the ChEMBL database, allowing users to interact with chemical data efficiently.
how to use ChEMBL-MCP-Server?
To use ChEMBL-MCP-Server, clone the repository, install the dependencies, and start the server using the provided commands. You can specify parameters such as host, port, and transport method.
key features of ChEMBL-MCP-Server?
- Complete API access to the ChEMBL database
- Asynchronous API calls using FastMCP framework
- Built-in error handling and timeout mechanisms
- Support for both HTTP and stdio transport methods
- Complete type annotations and docstrings
use cases of ChEMBL-MCP-Server?
- Accessing chemical activity data for research purposes.
- Converting chemical representations (e.g., SMILES to InChI).
- Integrating chemical data into applications for drug discovery.
FAQ from ChEMBL-MCP-Server?
- What is the ChEMBL database?
The ChEMBL database is a large-scale bioactivity database for drug discovery.
- How can I install ChEMBL-MCP-Server?
You can install it by cloning the repository and running the installation commands provided in the documentation.
- What transport methods are supported?
The server supports both HTTP and stdio transport methods.
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