bio-mcp-bwa
MCP (Model Context Protocol) server for the BWA (Burrows-Wheeler Aligner) sequence alignment tool.
Overview
This MCP server provides access to BWA functionality, allowing AI assistants to perform alignment of short and long sequencing reads to a reference genome.
Features
bwa_index: Create an index for a reference genome.
bwa_mem: Align reads using the BWA-MEM algorithm.
bwa_aln: Find SA coordinates with the BWA-backtrack algorithm.
bwa_samse: Generate single-end alignments in SAM format.
bwa_sampe: Generate paired-end alignments in SAM format.
Support for large reference genomes and read files.
Installation
Prerequisites
Python 3.9+
BWA installed (
bwa)
Install BWA
Install the MCP server
Configuration
Add to your MCP client configuration (e.g., Claude Desktop ~/Library/Application Support/Claude/claude_desktop_config.json):
Environment Variables
BIO_MCP_MAX_FILE_SIZE: Maximum input file size in bytes (default: 50GB)BIO_MCP_TIMEOUT: Command timeout in seconds (default: 3600)BIO_MCP_BWA_PATH: Path to BWA executable (default: finds in PATH)BIO_MCP_TEMP_DIR: Temporary directory for processing
Usage
Once configured, the AI assistant can use the following tools:
bwa_index - Create BWA Index
Create a BWA index for a reference genome.
Parameters:
reference_fasta(required): Path to the reference FASTA file.algorithm: Indexing algorithm (bwtsworis). Defaults tobwtswfor genomes >2GB.
bwa_mem - Align with BWA-MEM
Align reads using the BWA-MEM algorithm.
Parameters:
reference(required): Path to the indexed reference genome.reads1(required): Path to the first reads file (FASTQ).reads2: Path to the second reads file for paired-end alignment.threads: Number of threads to use (default: 4).min_seed_length: Minimum seed length (default: 19).band_width: Band width for banded alignment (default: 100).read_group: Read group header line.
bwa_aln - Find SA Coordinates
Find SA coordinates with the BWA-backtrack algorithm.
Parameters:
reference(required): Path to the indexed reference genome.reads(required): Path to the reads file (FASTQ).threads: Number of threads to use (default: 4).max_mismatches: Maximum number of mismatches (default: 4).max_gap_opens: Maximum number of gap opens (default: 1).
bwa_samse - Generate Single-End SAM
Generate alignments in SAM format for single-end reads.
Parameters:
reference(required): Path to the indexed reference genome.sai_file(required): Path to the .sai file frombwa_aln.reads(required): Path to the original reads file.
bwa_sampe - Generate Paired-End SAM
Generate alignments in SAM format for paired-end reads.
Parameters:
reference(required): Path to the indexed reference genome.sai_file1(required): Path to the .sai file for read 1.sai_file2(required): Path to the .sai file for read 2.reads1(required): Path to the reads file 1.reads2(required): Path to the reads file 2.
Examples
Index a reference genome
Align paired-end reads
Development
Running tests
Building Docker image
License
MIT License