Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"bam-pileup": {
"args": [
"--bam",
"/path/to/sample.bam",
"--reference",
"/path/to/reference.fa.gz"
],
"command": "/path/to/bam_mcp_server"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Early Release — this project is in early development and may have significant bugs, > incomplete features, or breaking changes without notice. Use with appropriate caution.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in other
Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 60-95% fewer tokens, same answers. Library, proxy, MCP server.
Pi Coding Agent extension (CLI-first) — routes bash/read/grep/find/ls through lean-ctx CLI for strong token savings. Optional MCP bridge can register advanced tools.
AI travel agent — 1 smart MCP tool plus 62 compatibility aliases for flights, hotels, ground transport, price alerts. No API keys required.
Research graph MCP for hypotheses, goals, runs, source quality, audits, and generated maps.
MCP Security Weekly
Get CVE alerts and security updates for Bam_mcp_server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
Early Release — this project is in early development and may have significant bugs, incomplete features, or breaking changes without notice. Use with appropriate caution.
A Model Context Protocol (MCP) server written in Rust that accepts a genomic coordinate, queries a BAM file, and returns a text-based pileup representation suitable for reasoning by an LLM.
The server supports two transports:
--sse) — streamable-HTTP MCP transport served by axum, suitable for networked or multi-client useRegion: chr7:117,548,920-117,549,070 (150bp window) BAM: sample.bam
POS 117548920 117549070
REF TGCAATCCGAATCGGCATGCCTACGATTTACGGCATGCATCGAATCGGCAT[A]GCATCGGAATCGCATGCCTACGATTTACGGCATGCATCGAATCGGCATGCCT
R01 ............................................................................................................. + MQ60
R02 ...............................................................[G]............................................ + MQ60
R03 .......................................................................................... + MQ59
R04 ...............................................................[G]............................................ - MQ60
R05 ...................................................................... - MQ58
COV 5x at chr7:117,548,975
A: 2 (40.0%) G: 3 (60.0%)
+strand: 3 -strand: 2
MQ_mean: 59.4 MQ_min: 58
Reads shown: 5 Reads filtered (MAPQ): 0 Reads filtered (dup/qcfail): 0
BQ chr7:117,548,975 (reads spanning query position, sorted by strand)
Read Strand BQ-at-query
R04 - 38
R05 - 36
R01 + 40
R02 + 37
R03 + 39
mean: 38.0 min: 36 max: 40
.bam + .bam.bai).fa.gz + .fa.gz.fai + .fa.gz.gzi, or plain .fa + .fa.fai)cargo build --release
The binary is at target/release/bam_mcp_server.
bam_mcp_server --bam <PATH> --reference <PATH> [OPTIONS]
Options:
-b, --bam <PATH> Path to sorted, indexed BAM file
-r, --reference <PATH> Path to FASTA reference (.fai index must exist alongside)
-w, --window <INT> Default window half-width in bp around query position [default: 75]
-d, --max-depth <INT> Maximum reads to display in pileup [default: 50]
-q, --min-mapq <INT> Minimum mapping quality filter [default: 0]
-Q, --min-baseq <INT> Minimum base quality to show as uppercase [default: 20]
--sse <ADDR:PORT> Run as HTTP MCP server instead of stdio (e.g. 127.0.0.1:8090)
--allowed-host <HOST> Allow this Host header value for remote access (repeatable; default: localhost/127.0.0.1/::1)
--allow-all-hosts Disable Host header checking entirely — allow any host (HTTP mode only)
--debug Write debug output to stderr
--log-file <PATH> Write debug log to file instead of stderr
-h, --help Print help
-V, --version Print version
All debug/log output goes to stderr. The MCP JSON-RPC protocol uses stdout (stdio mode) or the HTTP response body (HTTP mode).
query_pileupInput parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
chrom | string | ✓ | Chromosome name exactly as in the BAM header (e.g. chr1, 1, chrM) |
position | integer | ✓ | 1-based genomic position to query |
window | integer | Half-width of reg |