Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
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

NameDescription
get_server_capabilitiesA

Return the mgi-link discovery surface. detail='summary' (default) is light: identity/build/MGI release, the tool list WITH call signatures, accepted argument aliases, response modes, recommended workflows, error taxonomy, and limits. detail='full' adds vocabularies (allele types, marker types, match types) and the ortholog field catalogue. Call this first in a cold session, or read mgi://tools / mgi://capabilities. Signature: get_server_capabilities(detail=).

get_diagnosticsA

Report the local MGI index status: whether the data is built, the loaded release, marker/allele/phenotype/ortholog/disease counts, schema version, and when it was built. Use this to confirm freshness or diagnose a data_unavailable error. Signature: get_diagnostics().

resolve_markerA

Resolve any mouse marker reference to its canonical MGI record. Accepts a mouse symbol (current or synonym, case-insensitive), an MGI id (MGI:98968 or 98968), OR a human gene symbol / HGNC id (resolved to the mouse ortholog). Returns {mgi_id, symbol, name, marker_type, match_type (mgi_id|current|synonym|ortholog)}. An ambiguous symbol returns an ambiguous_query error with the candidate list (not silently picked). A human symbol identical to the mouse symbol resolves as match_type=current (case collision) rather than ortholog; the marker is the same. Signature: resolve_marker(query, response_mode=).

get_markerA

Return the full MGI marker record, resolved from an MGI id, mouse symbol/synonym, or human ortholog. Includes name, marker/feature type, GRCm39 location, NCBI/Ensembl ids, synonyms, the human ortholog (symbol/HGNC/OMIM), and summary counts (alleles, phenotypes, phenotype references, diseases). response_mode controls verbosity. Signature: get_marker(query, response_mode=).

search_markersA

Free-text search over mouse marker symbols, names, and synonyms (FTS, relevance-ranked). Returns ranked {mgi_id, symbol, name, marker_type, score, match} summaries. Exact symbol/synonym hits are PINNED first (match: exact_symbol|exact_synonym|fts) so an exact gene is never buried under transgenes or lncRNAs. Returns a truncation contract {total, returned, limit, truncated}; when truncated, next_commands includes a widen step. marker_type optionally restricts to a type (e.g. 'Gene'). Nomenclature-only: no phenotype semantics — use search_phenotype_terms + find_markers_by_phenotype for phenotype-driven discovery, or resolve_marker for an exact symbol/id. Signature: search_markers(query, marker_type=, limit=, response_mode=).

get_marker_allelesA

Return the phenotypic alleles / mutations for a mouse marker — the gene page's 'All Mutations and Alleles' panel. Includes per-allele {allele_id, symbol, name, allele_type, attributes, pubmed_ids} and the generation-method category_counts (Targeted, Endonuclease-mediated, Radiation induced, Chemically induced, Transgenic, ...). allele_type optionally filters (accepts friendly tokens like 'knockout', 'crispr', 'targeted'). Returns a truncation contract {total, returned, limit, truncated}; when truncated, next_commands includes a widen step. Signature: get_marker_alleles(query, allele_type=, limit=, response_mode=).

get_marker_phenotypesA

Return the Mammalian Phenotype (MP) annotations for a mouse marker. By default (minimal/compact/standard) returns a DEDUPLICATED, support-ordered list of DISTINCT MP terms — each {mp_id, mp_term, genotype_count} (standard adds systems[]) — so the most replicated phenotypes come first and none are buried alphabetically. response_mode=full returns the per-genotype rows {mp_id, mp_term, allelic_composition, genetic_background, pubmed_id, genotype_id, ...}. Every response carries a phenotype summary and a truncation contract {total, returned, limit, truncated}; when truncated, next_commands includes a widen step. mp_system optionally restricts to one top-level system (name like 'renal/urinary system' or its MP id). SCOPE: annotations are single-locus, NON-conditional genotypes (MGI_GenePheno); conditional/Cre-driven and multi-genic genotypes are EXCLUDED (see the response 'scope'/'scope_note'), so a zero or empty result does not mean the gene lacks that phenotype in mouse — confirm on the MGI gene page. Signature: get_marker_phenotypes(query, mp_system=, limit=, response_mode=).

get_phenotype_overviewA

Return a per-system phenotype overview grid: for each top-level MP system annotated for the marker (adipose tissue, cardiovascular system, renal/urinary system, nervous system, neoplasm, vision/eye, ...), the distinct annotated MP terms rolled up via the MP ontology. Use this for the system-level overview, then get_marker_phenotypes(mp_system=) to drill into one system. SCOPE: built from single-locus, NON-conditional genotypes (MGI_GenePheno); conditional/Cre-driven and multi-genic genotypes are EXCLUDED (see the response 'scope'/'scope_note'), so this grid is NOT a full mirror of the MGI gene page and a system may be absent here while the gene page shows it. Signature: get_phenotype_overview(query).

find_markers_by_phenotypeA

Reverse lookup: return the mouse markers (genes) annotated with a Mammalian Phenotype term. include_descendants defaults to TRUE and changes WHICH genes are returned: it rolls up annotations to more-specific child terms via the MP ontology (e.g. MP:0005367 renal/urinary system phenotype gathers all kidney phenotypes); the flag is echoed in the response. Returns a truncation contract {total, returned, limit, truncated}; when truncated, next_commands includes a widen step. Resolve a term first with search_phenotype_terms. Signature: find_markers_by_phenotype(mp_id, include_descendants=, limit=).

get_marker_orthologA

Return the mouse<->human ortholog mapping and cross-references for a marker: human symbol, HGNC id, NCBI Gene (human), Ensembl (human), OMIM gene id, and human GRCh38 coordinates. Accepts a mouse symbol/MGI id OR a human symbol/HGNC id (resolved to the mouse marker first). Signature: get_marker_ortholog(query, response_mode=).

get_marker_diseasesA

Return the human-mouse disease models associated with a marker (Disease Ontology id + name + OMIM ids), from MGI's curated DO annotations. Accepts a mouse symbol/MGI id or a human ortholog. Signature: get_marker_diseases(query).

get_mp_termA

Return a Mammalian Phenotype (MP) ontology term: id, name, definition, direct parents and children (is_a edges), and the top-level system(s) it rolls up to. Use with find_markers_by_phenotype to go from a phenotype to the mouse genes that model it. Signature: get_mp_term(mp_id).

search_phenotype_termsA

Free-text search over Mammalian Phenotype (MP) term names and definitions (FTS, relevance-ranked). Returns {mp_id, name, definition, score} plus a truncation contract {total, returned, limit, truncated} (widen step in next_commands when truncated). Use this to resolve a phenotype description to an MP id, then find_markers_by_phenotype or get_mp_term. Signature: search_phenotype_terms(query, limit=).

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription
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/mgi-link'

If you have feedback or need assistance with the MCP directory API, please join our Discord server