MCP Server to facilitate exploring Variant Calling Format (VCF) files using LLM agents
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"vcf-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
No warranty express or implied. This was totally vibe-coded while chronicly sleep-deprived and watching Bluey and Tremors 5. Use at your own risk. AFAICT it works and outputs line up with what I get through traditional tools.
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.
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 data / health
Query and manage PostgreSQL databases directly from AI assistants
🔥 Official Firecrawl MCP Server - Adds powerful web scraping and search to Cursor, Claude and any other LLM clients.
Manage Supabase projects — databases, auth, storage, and edge functions
Real-time financial market data: stocks, forex, crypto, commodities, and economic indicators
MCP Security Weekly
Get CVE alerts and security updates for Vcf_mcp_server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
No warranty express or implied. This was totally vibe-coded while chronicly sleep-deprived and watching Bluey and Tremors 5. Use at your own risk. AFAICT it works and outputs line up with what I get through traditional tools.
This is an MCP server that exposes a VCF (Variant Calling Format) file to LLMs for genomic variant analysis. The server provides tools to query variants by genomic position, region, or variant ID.
It is not intended to serve up multiple VCF files at once. It is designed to be used with a single VCF file in a desktop or confidential compute VM setting.
You want to build in release mode for optimal performance:
cargo build --release
The binary will be at ./target/release/vcf_mcp_server
./target/release/vcf_mcp_server sample_data/sample.compressed.vcf.gz./target/release/vcf_mcp_server sample_data/sample.compressed.vcf.gz --sse 127.0.0.1:8090--sse <ADDR:PORT> - Run HTTP server on specified address (e.g., 127.0.0.1:8090)--debug - Enable debug logging--never-save-index - Never save the built tabix index to disk (for read-only/ephemeral environments)query_by_positionQuery variants at a specific genomic position.
Parameters:
chromosome (string): Chromosome name (e.g., '1', '2', 'X', 'chr1')position (integer): Genomic position (1-based)Example:
{
"name": "query_by_position",
"arguments": {
"chromosome": "20",
"position": 14370
}
}
query_by_regionQuery variants in a genomic region.
Parameters:
chromosome (string): Chromosome name (e.g., '1', '2', 'X', 'chr1')start (integer): Start position (1-based, inclusive)end (integer): End position (1-based, inclusive)Example:
{
"name": "query_by_region",
"arguments": {
"chromosome": "20",
"start": 14000,
"end": 18000
}
}
query_by_idQuery variants by variant ID (e.g., rsID).
Parameters:
id (string): Variant ID (e.g., 'rs6054257')Example:
{
"name": "query_by_id",
"arguments": {
"id": "rs6054257"
}
}
For efficient querying by position/region, use bgzip-compressed VCF files with tabix indexes. You probably already have these files if you're using a genome browser or other tools. If not, you can create them using the following commands:
Compress with bgzip:
bgzip myfile.vcf
# Creates myfile.vcf.gz
Create tabix index:
tabix -p vcf myfile.vcf.gz
# Creates myfile.vcf.gz.tbi
The server will automatically use the .tbi index file if present, or build an in-memory index. The tabix file will be saved it alongside your VCF file if it doesn't already exist and --never-save-index was not used.
Uncompressed VCF files are supported but will be indexed in-memory only. For large files, this can be slow and memory-intensive.
The usual for Rust development:
cargo run
cargo test
cargo fmt
cargo clippy
cargo bench # Run performance benchmarks
Sample VCF files in the sample_data/ directory are provided for testing and demonstration:
See sample_data/README.md for complete attribution and licensing information.
MIT