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 |
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": 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 and upstream annotations). 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 explicitly scoped variant evidence 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 residue-level ClinVar annotations and explicitly-labelled Pfam homolog aggregates on a built landscape, filtered by source (both|gnomad|clinvar). MetaDome has no true residue-level gnomAD count, so it is marked unavailable, never zero. Accepts one position, an inclusive range, or the whole protein (paginated); ClinVar variants include NCBI urls. Signature: get_variant_counts(transcript_id=, position=, position_start=, position_stop=, source=, limit=, offset=, response_mode=). |
| compare_positionsA | Return a side-by-side tolerance table (sw_dn_ds, ref_aa, domain ids, explicitly scoped variant evidence) 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 explicitly scoped variant evidence. 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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