About Bio-Agents MCP
Bio-Agents MCP is a collection of services and a natural-language client for querying biological data. It includes PDB and ChEMBL services and an Ollama-based client for local testing.
Key features
- 01PDB API access
- 02ChEMBL API access
- 03Web UI and terminal client
- 04Independent services or Docker Compose
Use cases
- 01Query protein structures and annotations
- 02Explore chemical database data
- 03Test biological data queries locally
MCP support
Its PDB and ChEMBL components are MCP servers that expose biological database APIs to MCP clients. The collection also includes an LLM client for using available tools.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEBio-Agents MCP
A collection of microservices and clients for natural language interaction with biological databases.
Components
- LLM Client: Natural language interface with web UI and terminal modes
- PDB MCP Server: Protein Data Bank API service
- ChEMBL MCP Server: Chemical database API service
Architecture
┌─────────────┐ ┌──────────────┐
│ LLM UI │ │ Ollama LLM │
│ (Chainlit) │ │ │
└─────┬───────┘ └───────┬──────┘
│ │
┌─────┴─────────────────────┴──────┐
│ LLM Client │
└─────┬─────────────────────┬──────┘
│ │
┌─────┴───────┐ ┌──────┴───────┐
│ PDB MCP │ │ ChEMBL MCP │
│ Server │ │ Server │
└─────────────┘ └──────────────┘
Quick Start
- Configure environment:
cp .env.example .env
- Start services:
make build
make up
- Launch web interface:
make run-chainlit
Visit http://localhost:8000 to start querying biological data.
Development
- Use
make helpto see available commands - Each service has its own README with detailed documentation
- Configuration files are in
conf/directory
Description
This project contains multiple modules that interact with various services and APIs using the FastMCP framework. Each module is designed to perform specific tasks and can be run independently or together using Docker Compose. The primary focus of this project is on bio agents, providing tools and services to interact with biological data sources such as the Protein Data Bank (PDB).
Modules
LLM Client
The llm-client module provides a client that interacts with a Language Model (LLM) server to process queries and utilize available tools. It is built using the FastMCP framework and supports asynchronous operations with aiohttp.
For more details, refer to the LLM Client README.
Protein Data Bank
The protein_data_bank_mcp module provides a server that interacts with the Protein Data Bank (PDB) API to fetch structural assembly descriptions, chemical components, drugbank annotations, branched entities, non-polymer entities, polymer entities, uniprot annotations, structures, pubmed annotations, pdb cluster data aggregation, aggregation group provenance, pdb cluster data aggregation method, and pairwise polymeric interface descriptions. It is built using the FastMCP framework and supports asynchronous operations with aiohttp.
For more details, refer to the Protein Data Bank README.
Docker
Dockerfiles are provided for each module to build Docker images.
-
Build the Docker image:
docker build -t <module-name> . -
Run the Docker container:
docker run --env-file .env <module-name>
Docker Compose
A docker-compose.yml file is provided to run all services together.
-
Start all services:
docker-compose up -d -
Stop all services:
docker-compose down
Makefile
A Makefile is provided to simplify common tasks.
- Available targets:
setup-env: Set up the initial environment.build: Build all Docker images.up: Start all services using docker-compose.down: Stop all services using docker-compose.restart: Restart all services using docker-compose.
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.