BioContext: Unified Biological Data Access

April 21, 2025 ยท View on GitHub

BioContext is a collection of Model Context Protocol (MCP) servers that provide unified access to major biological databases and APIs. This repository serves as the main project that manages various BioContext components, making it easy to set up and use multiple biological data sources with AI assistants like Claude or other MCP-compatible clients.

๐ŸŒŸ Features

  • Unified Access: Single setup for multiple biological databases
  • AI-Ready: Compatible with Claude, Cursor, and other MCP clients
  • Modular Design: Use only the databases you need
  • Easy Setup: Simple scripts for installation and configuration
  • Docker Support: Run services in containers

๐Ÿงฌ Available MCP Servers

ServerDescriptionData SourceDocumentation
OpenTargets-MCPDrug target discoveryOpen Targets PlatformDocs
ChemBL-MCPBioactive moleculesChEMBLDocs
PubChem-MCPChemical compoundsPubChemDocs
UniProt-MCPProtein informationUniProtDocs

๐Ÿš€ Quick Start

1. Clone the Repository

# Clone with all submodules
git clone --recursive https://github.com/BioContext/BioContext-main.git
cd BioContext-main

# Or if already cloned:
git submodule update --init --recursive

2. Choose Your Setup Method

# Start all services
docker-compose up -d

# Or start specific services
docker-compose up -d chembl-mcp uniprot-mcp

B. Local Python Installation

# Run the setup script
./setup.sh

3. Configure Your MCP Client

For Claude Desktop

  1. Create or edit claude_desktop_config.json:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Linux: ~/.config/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\\Claude\\claude_desktop_config.json
  2. Add the configuration:

{
    "mcpServers": {
        "opentargets": {
            "command": "python",
            "args": [
                "-m",
                "modules.OpenTargets-MCP.opentargets"
            ],
            "cwd": "/path/to/BioContext-main"
        },
        "chembl": {
            "command": "python",
            "args": [
                "-m",
                "modules.ChemBL-MCP.mcp_server"
            ],
            "cwd": "/path/to/BioContext-main"
        },
        "pubchem": {
            "command": "python",
            "args": [
                "-m",
                "modules.PubChem-MCP.pubchem"
            ],
            "cwd": "/path/to/BioContext-main"
        },
        "uniprot": {
            "command": "python",
            "args": [
                "-m",
                "modules.UniProt-MCP.uniprot"
            ],
            "cwd": "/path/to/BioContext-main"
        }
    }
}

Examples

/opentargets search BRAF
/chembl find aspirin details
/pubchem search caffeine
/uniprot lookup P12345

Docker Configuration

See docker-compose.yml for container configurations.

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ“ฎ Contact & Support