mcpField
C
ChEMBL-MCP-Server

ChEMBL-MCP-Server

Local
github.com/BioMCP-HubScience & Education1Updated 82w ago

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

  1. 01ChEMBL database API access
  2. 02Asynchronous API calls
  3. 03Error handling and timeouts
  4. 04HTTP and stdio transports

Use cases

  1. 01Query activity, assay, target, and molecule data
  2. 02Retrieve drug data
  3. 03Canonicalize SMILES and convert to InChI
  4. 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.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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 data
  • example_assay: Get assay data
  • example_target: Get target data
  • example_molecule: Get molecule data
  • example_drug: Get drug data
  • More data entity APIs...
Chemical Tool APIs
  • example_canonicalizeSmiles: Canonicalize SMILES strings
  • example_smiles2inchi: Convert SMILES to InChI
  • example_smiles2svg: Convert SMILES to SVG image
  • example_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

MIT

Comments

Markdown supported

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.