metadome-link
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| METADOME_LINK_HOST | No | Bind host. | 0.0.0.0 |
| METADOME_LINK_PORT | No | Bind port. | 8000 |
| METADOME_LINK_MCP_PATH | No | MCP endpoint path. | /mcp |
| METADOME_LINK_LOG_LEVEL | No | DEBUG…CRITICAL. | INFO |
| METADOME_LINK_TRANSPORT | No | unified | http | stdio. | unified |
| METADOME_LINK_LOG_FORMAT | No | console | json (logs to stderr only). | console |
| METADOME_LINK_CORS_ORIGINS | No | Comma-separated allowed CORS origins. | |
| METADOME_LINK_CACHE__DB_PATH | No | On-disk result cache path. | data/metadome_cache.sqlite |
| METADOME_LINK_CACHE__LRU_RESULTS | No | In-memory LRU size for completed landscapes. | 64 |
| METADOME_LINK_METADOME__BASE_URL | No | Override upstream base URL. | |
| METADOME_LINK_METADOME__MAX_RETRIES | No | Retries on 429/5xx/timeout. | 3 |
| METADOME_LINK_CACHE__LRU_TRANSCRIPTS | No | In-memory LRU size for transcript lists. | 256 |
| METADOME_LINK_CACHE__TTL_TRANSCRIPTS_S | No | TTL for transcript list cache (default 6 h). | 21600 |
| METADOME_LINK_METADOME__POLITENESS_BURST | No | Token-bucket burst capacity. | 5 |
| METADOME_LINK_METADOME__REQUEST_TIMEOUT_S | No | Per-request HTTP timeout (s). | 30.0 |
| METADOME_LINK_METADOME__POLL_MAX_INTERVAL_S | No | Maximum inter-poll sleep (s). | 8.0 |
| METADOME_LINK_METADOME__POLL_SOFT_DEADLINE_S | No | Max poll-loop wall time before returning status:'processing'. | 20.0 |
| METADOME_LINK_METADOME__POLITENESS_RATE_PER_S | No | Token-bucket refill rate (req/s). | 3.0 |
| METADOME_LINK_METADOME__POLL_INITIAL_INTERVAL_S | No | Initial poll sleep (s); backs off toward max. | 2.0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_server_capabilitiesA | Return the metadome-link discovery surface: identity/build/MetaDome data version, the frozen tool list, response modes, recommended workflows, the error taxonomy, and limits. detail='full' adds the score/async semantics and policy notes. Call this first in a cold session, or read metadome://capabilities / metadome://tools. Signature: get_server_capabilities(detail=, response_mode=). |
| get_diagnosticsA | Report local runtime health WITHOUT calling MetaDome: build info, result-cache stats (on-disk + LRU sizes, pinned data version), the runtime metrics snapshot (request/error counts + latency percentiles), the data versions, and the capabilities hash. Use this to confirm cache state or diagnose a misconfigured server. Signature: get_diagnostics(response_mode=). |
| resolve_transcriptA | Resolve a gene symbol or versioned Ensembl transcript id to MetaDome GRCh37 transcript candidate(s). A gene symbol returns all transcripts sorted by protein length (aa_length descending) with the longest protein-coding entry flagged canonical. A bare ENST id (version suffix required) is validated and echoed directly. Use the canonical_transcript_id with request_tolerance_landscape to start a tolerance-landscape build. Signature: resolve_transcript(query=, response_mode=). |
| request_tolerance_landscapeA | Submit (or re-confirm) a MetaDome tolerance-landscape build for a versioned transcript and return a poll handle. status='ready' means the landscape is pre-built; status='processing' means a cold build is running (up to ~1 hour) -- poll get_tolerance_landscape with poll_after_s until it is ready. Idempotent. Signature: request_tolerance_landscape(transcript_id=, response_mode=). |
| get_tolerance_landscapeA | Return the (cache-first) MetaDome tolerance landscape for a built transcript: Pfam domains plus the paginated per-residue positional_annotation (sw_dn_ds tolerance, variant counts). Optional position_start/position_stop slice an inclusive residue range. If the build is still running this returns a first-class status='processing' success -- poll again after poll_after_s. Signature: get_tolerance_landscape(transcript_id=, position_start=, position_stop=, limit=, offset=, response_mode=). |
| get_position_toleranceA | Return one residue's missense tolerance (sw_dn_ds + sliding-window coverage), its Pfam/meta-domain membership, and gnomAD/ClinVar variant counts on a built tolerance landscape. Out-of-range positions raise invalid_input; a not-yet-built landscape raises not_found (request_tolerance_landscape first). Signature: get_position_tolerance(transcript_id=, position=, response_mode=). |
| get_variant_countsA | Return per-position gnomAD and/or ClinVar variant counts on a built landscape, filtered by source (both|gnomad|clinvar). Accepts a single position, a [position_start, position_stop] range, or the whole protein (paginated); when source includes clinvar each residue's ClinVar variants are listed with NCBI urls. Signature: get_variant_counts(transcript_id=, position=, position_start=, position_stop=, source=, response_mode=). |
| compare_positionsA | Return a side-by-side tolerance table (sw_dn_ds, ref_aa, domain ids, variant counts) for a batch of residue positions on a built landscape. Out-of-range positions get a per-item error row -- the whole batch never fails for one bad position; the batch size is capped. Signature: compare_positions(transcript_id=, positions=, response_mode=). |
| get_protein_domainsA | List the Pfam protein domains annotated on a transcript's tolerance landscape: each domain's ID, Name, start/stop residues, whether a meta-domain (homologous) mapping exists, and its alignment depth. Requires a built landscape (call request_tolerance_landscape first). Signature: get_protein_domains(transcript_id=, response_mode=). |
| get_meta_domainA | Return homologous (meta-domain) variant evidence for one residue: gnomAD normal_variants and ClinVar pathogenic_variants observed at the aligned consensus position across the residue's Pfam domain family, each carrying its homolog gene_name. Omit |
| summarize_intolerant_regionsA | Return the top ranked contiguous intolerant regions of a MetaDome tolerance landscape, each annotated with overlapping Pfam domain ids and aggregate gnomAD/ClinVar variant counts. Regions are stretches of consecutive residues with sw_dn_ds below |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities | |
| tools_overview | |
| usage | |
| reference | |
| research_use | |
| citation |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/berntpopp/metadome-link'
If you have feedback or need assistance with the MCP directory API, please join our Discord server