Bio-MCP FastQC Server

Provides FastQC and MultiQC QC for single and batch sequencing data analyses with optional async queuing.
  • python

0

GitHub Stars

python

Language

5 months ago

First Indexed

2 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

You can run FastQC and MultiQC quality control analyses on sequencing data using a Bio-MCP FastQC Server. It lets you perform QC on single files or batches, and generate combined reports, making it easier to gauge data quality and streamline downstream workflows.

How to use

You interact with the server through an MCP client to request quality control analyses. Use the single-file tool to analyze an individual FASTQ or FASTA file and get a detailed QC report. Use the batch tool to run QC on many files in a directory, then generate a consolidated MultiQC report to summarize results across samples. If you are working with large datasets or many files, you can enable a queue system to run analyses asynchronously and retrieve results when they are ready.

How to install

Prerequisites you need before installing: Python is required to run the server. You should also have Git installed for cloning the repository.

# 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

Configure the MCP client to connect to the server by adding an entry for this MCP in your Claude Desktop configuration.

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

Additional setup and notes

If you plan to run analyses from the command line or automate tasks, you may need to set environment variables to customize paths, timeouts, and queue integration. Common variables include paths to the FastQC and MultiQC executables, maximum file size, and processing timeouts. When using a queue for asynchronous processing, you can configure the queue URL so that long-running jobs are handled efficiently.

Configuration and environment

The server supports both local execution and asynchronous processing through a queue system. You can enable a queue by providing a queue URL so that large datasets or batch analyses run in the background and you can check their status later.

services:
  fastqc-server:
    build: .
    volumes:
      - ./data:/data
    environment:
      - BIO_MCP_QUEUE_URL=http://queue-api:8000
    depends_on:
      - queue-api
`

Security and maintenance

Keep the server dependencies up to date by updating the Python environment and re-installing if needed. When exposing the server over a network, ensure that access is controlled and that any queue or storage endpoints are secured.

Troubleshooting and tips

If analyses do not start, verify that the Python runtime can locate the src.server module and that the working directory is correct. For batch analyses, confirm that the input directory contains valid FASTQ/FASTA files and that file permissions allow read access.

Notes

This server is designed to work with FastQC and MultiQC to provide detailed quality control insights for sequencing data, including per-base quality metrics, GC content, adapter contamination, and duplication levels. Use the generated reports to guide downstream QC steps such as trimming or filtering.

Available tools

fastqc_single

Run FastQC on a single FASTQ or FASTA file and return a detailed QC report with pass/warn/fail status per module.

fastqc_batch

Run FastQC on all FASTQ/FASTA files within a directory and return summary statistics for all processed files.

multiqc_report

Generate a MultiQC report that aggregates FastQC results (and other analyses) into an interactive HTML document.

fastqc_single_async

Queue a single-file FastQC analysis for asynchronous processing.

fastqc_batch_async

Queue a batch FastQC analysis for asynchronous processing.

multiqc_report_async

Queue the generation of a MultiQC report for asynchronous processing.

get_job_status

Check the progress of an asynchronous job.

get_job_result

Retrieve the result of a completed asynchronous job.

cancel_job

Cancel a running asynchronous job.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational
Bio-MCP FastQC Server MCP Server - bio-mcp/bio-mcp-fastqc | VeilStrat