genomics-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GENOMICS_MCP_CONFIG | No | Path to a TOML configuration file. Can be used instead of --config. Example: /path/to/config.toml | |
| GENOMICS_MCP_HTTP_TOKEN | No | Bearer token for HTTP transport. Required when using the HTTP transport (--transport http). Must be at least 32 characters. | |
| GENOMICS_MCP_ALLOWED_ROOTS | No | Allowed root paths for local file access. Set in the environment when running the stdio server. Example: /path/to/your/data |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sourcesB | List data and reference sources, their state and supported operations. |
| search_datasetsA | Search one archive/catalog for studies or datasets by text query. Not implemented in this build: returns error code 'unsupported' (E6, E7). |
| describe_datasetA | Describe a study/dataset by native accession, with linked entities. Not implemented in this build: returns error code 'unsupported' (E6, E7). |
| list_filesB | List files of a study/dataset with format, size, checksums, index and readiness. Not implemented in this build: returns error code 'unsupported' (E2, E6, E7). |
| list_samplesA | List samples of a study/dataset as supplied by the source. Not implemented in this build: returns error code 'unsupported' (E6, E7). |
| get_sample_metadataB | Get one sample's metadata and phenotype values exactly as supplied by the source. Not implemented in this build: returns error code 'unsupported' (E6, E7). |
| fetch_fileA | Start a bounded download of a file (and index) to the local work dir. Returns a transfer job; files above the default limit need budget_bytes. Not implemented in this build: returns error code 'unsupported' (E3). |
| get_transfer_statusA | Get progress/result of a transfer started by fetch_file. Not implemented in this build: returns error code 'unsupported' (E3). |
| cancel_transferA | Cancel a running transfer. Not implemented in this build: returns error code 'unsupported' (E3). |
| get_readsA | Alignments overlapping an interval from indexed BAM/CRAM. Flag filters follow samtools -f/-F. CRAM needs a matching reference unless self-contained. Not implemented in this build: returns error code 'unsupported' (E4). |
| get_coverageA | Read depth over an interval from indexed BAM/CRAM (default excludes UNMAP, SECONDARY, QCFAIL, DUP, like samtools depth). Not implemented in this build: returns error code 'unsupported' (E4). |
| get_pileupB | Per-position base counts over an interval from indexed BAM/CRAM. Not implemented in this build: returns error code 'unsupported' (E4). |
| get_variantsB | Variant records and optional genotypes overlapping an interval (VCF/BCF). Not implemented in this build: returns error code 'unsupported' (E4). |
| get_sequenceA | Reference sequence for an interval from an indexed FASTA. Not implemented in this build: returns error code 'unsupported' (E3). |
| get_featuresA | Features overlapping an interval from indexed BED/GFF3/GTF or bigBed. Not implemented in this build: returns error code 'unsupported' (E3, E5). |
| get_signalA | Signal values or binned summaries over an interval from bigWig. Not implemented in this build: returns error code 'unsupported' (E5). |
| inspect_locusC | Combine data from several files at one locus, plus public evidence. Values derived from private files are only sent to external sources if allow_external_annotation is true. Not implemented in this build: returns error code 'unsupported' (E9). |
| compare_samplesA | Compare genotypes/coverage at an interval across files or samples. Not implemented in this build: returns error code 'unsupported' (E9). |
| resolve_identifierB | Resolve a gene/transcript/protein/variant identifier; reports ambiguity. Not implemented in this build: returns error code 'unsupported' (E8). |
| normalize_variantA | Normalize a variant (VCF-style, HGVS or rsID) on an explicit assembly with a trace. Not implemented in this build: returns error code 'unsupported' (E8). |
| lookup_variantA | Source-attributed evidence for a variant (ClinVar, gnomAD, Ensembl, optional Atlas). No consensus or clinical verdict. Not implemented in this build: returns error code 'unsupported' (E8). |
| lookup_geneA | Gene identifiers, transcripts and source-attributed annotations. Not implemented in this build: returns error code 'unsupported' (E8). |
| lookup_proteinA | Protein identity, function and features from UniProt and cross-references. Not implemented in this build: returns error code 'unsupported' (E8). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities | Operations implemented in this build, handler keys and planned epics. |
| status | Source states and non-secret configuration summary. |
| schemas | Names of available JSON schemas. |
TDQS
Scored across 23 tools
Each tool describes a specific resource and action, so most are easy to distinguish. The only potential confusions are resolve_identifier versus lookup_variant/lookup_gene/lookup_protein and compare_samples overlapping with get_coverage/get_variants, but the descriptions resolve most ambiguity.
All 23 tools follow a consistent snake_case verb_noun pattern: list_sources, get_reads, fetch_file, lookup_variant, etc. Verbs vary by operation, but the naming convention is uniform and predictable.
23 tools is in the heavy 16-25 range and feels a bit large, though genomics data access is a broad domain that can justify many operations. Several read/query tools could be consolidated, but the count is not wildly excessive.
Although the planned set covers a wide range of genomics operations, 22 of 23 tools are explicitly not implemented in this build and return 'unsupported' errors. Agents can list sources but cannot actually search, fetch, query, or annotate anything, making the working surface severely incomplete.