Bio-MCP FastQC Server

by bio-mcp

Not rated
GitHub

About

Provides quality control for biological sequence data using the FastQC and MultiQC tools.

Details

Author
bio-mcp
Categories
Developer Tools, Other, Automation

Setup

Install Bio-MCP FastQC Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/bio-mcp/bio-mcp-fastqc

Follow the installation instructions in the repository README, then restart your MCP client.

Quality Control Analysis via Model Context Protocol

An MCP server that enables AI assistants to run FastQC and MultiQC quality control analysis on sequencing data. Part of theBio-MCP ecosystem.

FastQC is essential for quality assessment of high-throughput sequencing data. This MCP server allows AI assistants to:

- Analyze single files- Get detailed QC reports for individual FASTQ/FASTA files
- Batch process- Run QC on multiple files simultaneously
- Generate summary reports- Create MultiQC reports combining multiple analyses
- Handle large datasets- Queue system support for computationally intensive jobs

# Via conda (recommended) conda install -c bioconda fastqc multiqc # Via package managers # Ubuntu/Debian sudo apt-get install fastqc pip install multiqc # macOS brew install fastqc pip install multiqc
# Clone and install git clone https://github.com/bio-mcp/bio-mcp-fastqc.git cd bio-mcp-fastqc pip install -e . # Or install directly pip install git+https://github.com/bio-mcp/bio-mcp-fastqc.git

Add to yourclaude_desktop_config.json:

{ "mcpServers": { "bio-fastqc": { "command": "python", "args": ["-m", "src.server"], "cwd": "/path/to/bio-mcp-fastqc" } } }

Run FastQC on a single FASTQ/FASTA file.

- input_file(required): Path to FASTQ or FASTA file
- threads(optional): Number of threads (default: 1)
- contaminants(optional): Path to custom contaminants file
- adapters(optional): Path to custom adapters file
- limits(optional): Path to custom limits file

User: "Run quality control on my_sample.fastq.gz" AI: [calls fastqc_single] → Returns detailed QC report with pass/warn/fail status for each module

Run FastQC on multiple files in a directory.

- input_dir(required): Directory containing FASTQ/FASTA files
- file_pattern(optional): File pattern to match (default: ".fastq")
- threads(optional): Number of threads (default: 4)

User: "Analyze all fastq files in the data/ directory" AI: [calls fastqc_batch] → Processes all files and returns summary statistics

Generate MultiQC report from FastQC results.

- input_dir(required): Directory containing FastQC and other analysis results
- title(optional): Custom title for the report
- comment(optional): Comment to add to the report
- template(optional): Report template (default, simple, sections, gathered)

User: "Create a summary report from all the QC results" AI: [calls multiqc_report] → Generates interactive HTML report combining all analyses

- fastqc_single_async- Queue single file analysis
- fastqc_batch_async- Queue batch analysis
- multiqc_report_async- Queue report generation
- get_job_status- Check job progress
- get_job_result- Retrieve completed results
- cancel_job- Cancel running jobs

User: "What's the quality of my sequencing data in sample1.fastq.gz?" AI Response: ✅ FastQC Analysis Complete for sample1 Module Status Summary: ✅ Basic Statistics: PASS ✅ Per base sequence quality: PASS ⚠️ Per sequence quality scores: WARN ✅ Per base sequence content: PASS ✅ Per sequence GC content: PASS ✅ Per base N content: PASS ✅ Sequence Length Distribution: PASS ❌ Sequence Duplication Levels: FAIL ✅ Overrepresented sequences: PASS ✅ Adapter Content: PASS Basic Statistics: • Total Sequences: 2,450,000 • Sequences flagged as poor quality: 0 • Sequence length: 150 • %GC: 47
User: "Analyze all FASTQ files in my project/raw_data/ folder" AI Response: FastQC Batch Analysis Complete ======================================== Processed 12 files: ✅ sample01_R1.fastq.gz: 8P/2W/0F ✅ sample01_R2.fastq.gz: 8P/2W/0F ⚠️ sample02_R1.fastq.gz: 7P/2W/1F ⚠️ sample02_R2.fastq.gz: 7P/2W/1F ... Overall Summary: • Total PASS: 94 • Total WARN: 24 • Total FAIL: 2 Tip: Run multiqc_report on this directory to generate a combined report!
User: "I have a directory of paired-end FASTQ files. Can you run quality control and create a summary report?" AI: I'll run a complete QC workflow on your paired-end data: 1. First, let me analyze all FASTQ files in batch: [runs fastqc_batch on directory] 2. Now I'll generate a MultiQC summary report: [runs multiqc_report on results] ✅ Complete QC workflow finished! Summary: - 24 FASTQ files processed (12 samples, paired-end) - Average quality score: 32.5 - 2 samples have adapter contamination warnings - 1 sample shows high duplication levels - Interactive HTML report generated: multiqc_report.html The MultiQC report provides detailed visualizations of: - Quality score distributions across all samples - GC content comparison - Sequence length distributions - Adapter content analysis - Sample correlation analysis
# Build the image docker build -t bio-mcp-fastqc . # Run with data mounting docker run -v /path/to/data:/data bio-mcp-fastqc
services: fastqc-server: build: . volumes: - ./data:/data environment: - BIO_MCP_QUEUE_URL=http://queue-api:8000 depends_on: - queue-api

- BIO_MCP_FASTQC_PATH- Path to FastQC executable (default: "fastqc")
- BIO_MCP_MULTIQC_PATH- Path to MultiQC executable (default: "multiqc")
- BIO_MCP_MAX_FILE_SIZE- Maximum file size in bytes (default: 10GB)
- BIO_MCP_TIMEOUT- Command timeout in seconds (default: 1800)
- BIO_MCP_TEMP_DIR- Temporary directory for processing

To enable async processing for large datasets:

from src.server_with_queue import FastQCServerWithQueue server = FastQCServerWithQueue(queue_url="http://localhost:8000")

- HTML Report(*_fastqc.html) - Interactive quality report
- Data File(fastqc_data.txt) - Raw metrics and statistics
- Summary File(summary.txt) - Pass/warn/fail status for each module
- Plots- Various quality plots and charts

- MultiQC Report(multiqc_report.html) - Combined interactive report
- Data Directory(multiqc_data/) - Processed data and statistics
- General Stats(multiqc_general_stats.txt) - Summary table

FastQC analyzes multiple quality aspects:

- Per base sequence quality- Quality scores across read positions
- Per sequence quality scores- Distribution of mean quality scores
- Per base sequence content- A/T/G/C content across positions
- Per sequence GC content- GC% distribution vs expected
- Sequence duplication levels- PCR duplication assessment
- Adapter content- Contaminating adapter sequences

- ✅PASS- Analysis indicates no problems
- ⚠️WARN- Slightly unusual, may not be problematic
- ❌FAIL- Likely problematic, requires attention

FastQC works seamlessly with other Bio-MCP tools:

User: "Run the complete preprocessing pipeline on my samples" AI Workflow: 1. fastqc_batch → Initial quality assessment 2. trimmomatic → Trim low-quality bases and adapters 3. fastqc_batch → Post-trimming QC 4. multiqc_report → Combined before/after report

We welcome contributions! See theBio-MCP contributing guide.

git clone https://github.com/bio-mcp/bio-mcp-fastqc.git cd bio-mcp-fastqc pip install -e ".[dev]" pytest

- FastQCby Simon Andrews at Babraham Bioinformatics
- MultiQCby Phil Ewels and the MultiQC community
- Bio-MCPproject and contributors

Part of the Bio-MCP ecosystem- Making bioinformatics accessible to AI assistants.

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Set up and interact with your unstructured data processing workflows in Unstructured Platform

Interact with your MLOps and LLMOps pipelines through your ZenML MCP server

MCP servers for Deephaven to orchestrate data workers and power documentation Q&A with LLMs, enabling AI-driven data workflows.

Performs gene set enrichment analysis using the Enrichr API, supporting all available gene set libraries.

An MCP server for the gget bioinformatics library, enabling standardized access to genomics tools and databases.

A unified framework for bioinformatics research, integrating multiple specialized MCP servers for longevity and bioinformatics.

Infer Copy Number Variations (CNVs) from single-cell RNA-Seq data using a natural language interface.

A natural language interface for cell-cell communication analysis using the Liana framework.

simple mcp server for Airflow 3 (API version 2)

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.