{
"mcpServers": {
"bam-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 0 days ago.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
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 |