Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
ALPHAFOLD_OFFLINENoSet to '1' to run in offline mode, refusing all outbound HTTP and serving only from the local SQLite cache.

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": true
}
resources
{
  "subscribe": false,
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
lookup_diseaseA

Retrieve a disease record from the MONDO unified disease ontology.

Returns the canonical MONDO entry with:

  • Disease name, definition, synonyms

  • ICD-10 / ICD-11 codes (for clinical coding / EHR integration)

  • OMIM, Orphanet, MeSH, DOID cross-references

  • Immediate parent and child terms in the MONDO hierarchy

Example: lookup_disease(mondo_id='MONDO:0005010') returns the record for coronary artery disease.

search_diseasesA

Search for diseases by name or keyword using the MONDO ontology.

Returns a ranked list of matching diseases with MONDO IDs and cross-references. Useful for resolving a clinical term to a canonical identifier before querying targets or phenotypes.

Example: search_diseases(query='breast cancer', limit=5)

lookup_phenotypeA

Retrieve an HPO phenotype term with associated disease annotations.

Returns:

  • Phenotype label, definition, synonyms

  • Diseases annotated with this phenotype (from HPO + OMIM + Orphanet)

  • Parent phenotype terms

Example: lookup_phenotype(hpo_id='HP:0001250') returns the Seizure phenotype with ~400 associated diseases.

get_gene_phenotype_profileA

Return all HPO phenotypes associated with a gene, plus gnomAD constraint.

Useful for understanding the clinical consequences of variants in a gene before requesting structural context.

Returns:

  • HPO phenotypes linked to the gene (from HPO association database)

  • gnomAD LOEUF / pLI constraint scores

  • Interpretation of constraint (haploinsufficient / tolerant / moderate)

Example: get_gene_phenotype_profile(gene_symbol='SCN1A')

get_disease_targetsA

Return top protein targets for a disease with Open Targets evidence scores.

Evidence score breakdown (0–1 per data type):

  • genetic_association: GWAS + rare-variant signals

  • somatic_mutation: Cancer somatic variant evidence

  • known_drug: Approved or clinical-stage drugs

  • affected_pathway: Pathway membership (Reactome, SIGNOR)

  • literature: Text-mining evidence (Europe PMC)

  • animal_model: Knockout / model organism phenotypes

  • rna_expression: Differential expression evidence

drug_count is the target's Open Targets drug-and-clinical-candidate record count (all stages) and tractable is true when any Open Targets tractability bucket is set; both are observed per row and are null only when the source omits them.

Example: get_disease_targets(disease_id='MONDO:0007254', limit=15) returns top 15 targets for breast carcinoma.

get_target_diseasesA

Return all diseases associated with a protein target via Open Targets.

Accepts a UniProt accession and returns the full disease landscape for that target — essential for target-validation and indication-expansion.

Example: get_target_diseases(uniprot_id='P04637') returns all diseases associated with TP53 / p53.

get_common_disease_targetsA

Profile the top drug targets for a curated set of common diseases in one call.

Use this for a fast landscape scan across a whole disease area: given a category (e.g. 'oncology'), it looks up the curated MONDO diseases in that category and returns each one's top Open Targets evidence-scored targets, in parallel. To profile a single disease you already have a MONDO ID for, use get_disease_targets instead — this tool is its category-level, multi-disease counterpart and does not accept a raw MONDO ID.

Queries Open Targets live. Returns a JSON string with the category, the number of diseases profiled, and a profile object mapping each disease to its MONDO ID and top targets (per-disease errors are reported inline, not raised). Returns a JSON error object listing the valid values when the category — or a disease_name filter within it — is not recognised.

triage_variant_3dA

Retrieve source-reported variant evidence for research.

Fuses the upstream signals this tool currently wires into a single prioritised report:

  1. Pathogenicity — ClinVar interpretation + review status. The alphamissense_score / alphamissense_interpretation fields are always null / "Not available" here: AlphaMissense is not wired into this tool. For an AlphaMissense pathogenicity score use generate_variant_clinical_report.

  2. Population genetics — gnomAD LOEUF / pLI gene-constraint scores. Per-variant allele frequencies and the per-ancestry breakdown are not wired into this tool.

  3. Disease associations — a placeholder note pointing at get_target_diseases(); the Open Targets / MONDO traversal is a roadmap (Wave-3) item.

  4. Structural context — a text note pointing at analyze_structural_confidence (resolve the gene to a UniProt accession first); the AlphaFold pLDDT / PAE join into this report is a roadmap (Wave-3) item.

Returns the legacy pathogenicity_tier key as NOT_ASSESSED. Raw verified ClinVar classifications remain source-attributed in the pathogenicity section; they are not converted into a local risk tier. Gene-relative candidates remain explicitly unverified. AlphaMissense is not wired into this particular tool. The report is not a calibrated risk estimate.

Example: triage_variant_3d(hgvs='BRCA1:c.181T>G')

phenotype_to_structuresA

Map a clinical phenotype to the protein structures of its disease targets.

Pipeline:

  1. Resolve HPO term → associated diseases

  2. For each disease → top protein targets (Open Targets)

  3. For each target → UniProt ID (for AlphaFold retrieval)

Use the returned UniProt IDs with analyze_structural_confidence to retrieve AlphaFold structural confidence (pLDDT/PAE).

Example: phenotype_to_structures(hpo_id='HP:0002621') maps Atherosclerosis → disease targets → UniProt IDs.

compare_disease_target_overlapA

Compare the protein target landscapes of two diseases.

Identifies shared and unique targets between two diseases — a key analysis for drug repurposing, identifying shared mechanisms, and understanding comorbidity.

Returns:

  • Shared targets (present in both disease target sets)

  • Unique to Disease A / Disease B

  • Jaccard similarity score of target sets

resolve_icd10_to_mondoA

Resolve an ICD-10 clinical code to MONDO disease ontology terms.

Enables integration between clinical / EHR data (which uses ICD-10) and the research-grade MONDO ontology used by Open Targets, HPO, and this MCP.

Example: resolve_icd10_to_mondo(icd10_code='I21.0') maps ST-elevation MI (ICD-10) to MONDO coronary disease terms.

query_variant_databaseA

Search the local knowledge graph for stored variants.

Returns variants matching the filter criteria. No upstream API calls are made — all data is served from the local SQLite knowledge graph, which is populated only through explicit writes to the knowledge-graph storage API. Historical SQLite files may retain illustrative rows from older versions; these should not be interpreted as independently verified biology.

query_protein_databaseA

Recall proteins already stored in the local knowledge graph.

This is a local-recall query, not a live lookup: it returns only proteins that have previously been written through the knowledge-graph storage API (or retained from earlier versions of the database). No upstream API is called. To assess a protein that may not be stored yet, use assess_target_druggability (druggability tier) or analyze_structural_confidence (pLDDT), which query live sources.

Filters are combined with AND; omit a filter to leave that dimension unconstrained. Returns a JSON record with the applied query, a result_count, and the matching proteins rows. The list is empty when nothing stored matches; an empty result means the local store has no matching row, not that the protein is absent from upstream biology.

get_knowledge_graph_statsA

Return statistics about the local knowledge graph.

Shows entity counts, database size, and last activity — useful for understanding the current contents and coverage of the local store.

export_research_datasetA

Export the stored knowledge-graph data for downstream analysis.

Returns all stored entities as JSON-serialisable dicts, suitable for:

  • Loading into pandas DataFrames for ML feature engineering

  • Importing into R or Julia for statistical analysis

  • Feeding into downstream bioinformatics pipelines

Example (Python)::

import pandas as pd
result = await export_research_dataset(ExportInput(tables=["variants"]))
df = pd.DataFrame(result["data"]["variants"])
high_tier = df[df["clinical_tier"] == "HIGH"]
find_drug_gene_networkA

Traverse the local knowledge graph from a seed entity.

Given a seed (UniProt ID, gene symbol, or MONDO disease ID), expands its immediate neighbourhood in the stored drug-gene-disease graph: a gene symbol resolves to its encoded proteins and reported variants, a UniProt accession resolves to its stored protein record, and a MONDO disease resolves to drugs with an indication for it. The store is populated by the storage API, or retained from historical database versions.

generate_variant_clinical_reportA

Generate a multi-source variant interpretation report.

Cross-references evidence from up to seven upstream databases for a single HGVS variant into one structured research report. It preserves source classifications and computational observations separately; it does not assign an independent clinical tier or establish ACMG criteria.

  1. Ensembl VEP — functional consequence, SIFT/PolyPhen/CADD predictions

  2. ClinVar — clinical pathogenicity classifications and review status

  3. gnomAD v4 — population allele frequencies (gnomAD v4, ~807k individuals)

  4. AlphaMissense — deep-learning missense pathogenicity (Cheng et al. 2023)

  5. Open Targets — disease-gene evidence scores

  6. DisGeNET — curated gene-disease association scores

  7. ChEMBL — approved drugs acting on the gene product

The report includes unassessed ACMG-related computational signals, sequence consequences, and gene-level drug context. It does not compute variant-specific three-dimensional structural impact.

assess_target_druggabilityA

Comprehensive druggability assessment for a protein target.

Integrates four independent druggability signals into a HOT/WARM/COLD/NOT_DRUGGABLE classification:

  1. Drug precedent — ChEMBL approved drugs + clinical compounds

  2. Tractability — Open Targets tractability labels (small-molecule, antibody, PROTAC)

  3. Structural confidence — AF2 pLDDT (model-local confidence, not binding evidence)

  4. Population constraint — gnomAD LOEUF (gene-level LoF depletion, not toxicity evidence)

This is an author-defined, uncalibrated research score, not a validated predictive model, clinical safety result, or independent biological fact.

synthesize_protein_dossierA

Generate a complete protein intelligence dossier from 7 data sources.

It assembles disease associations, drug precedent, population constraint, ClinVar variants, and cross-species orthologs for one protein into a single structured record. It composes upstream records and author-defined research heuristics, without issuing clinical conclusions.

map_disease_drug_landscapeB

Map a bounded, source-attributed therapeutic landscape for a disease.

Returns retrieved approved drugs, pipeline agents, top druggable targets, and an exploratory summary for a given MONDO disease.

Combines Open Targets evidence with ChEMBL drug indications and MONDO disease hierarchy to produce a comprehensive landscape report used in business development, competitive intelligence, and R&D portfolio decisions.

classify_variant_acmgA

Generate a draft ACMG/AMP variant classification framework.

Reports computational observations that may inform an expert's later disease-specific ACMG/AMP review. This tool does NOT establish ACMG criteria or assign a pathogenicity class: generic consequence, model scores, and population frequencies are insufficient without clinical disease mechanism, inheritance, and criterion-specific validation.

find_drug_repurposing_candidatesA

Rank existing clinical-stage drugs as repurposing candidates for a disease.

Surfaces approved or trial-stage drugs whose target carries genetic/association evidence for the disease — i.e. drug-repurposing hypotheses. For the full approved-plus-pipeline drug picture of a disease (not only repurposing candidates), use map_disease_drug_landscape instead.

How it works: take the top target_limit Open Targets evidence-scored targets for the disease; for each, fetch its ChEMBL drugs at or above min_phase; drop duplicate molecules; rank by composite_repurposing_score = OT evidence score × (max ChEMBL phase / 4). Ranking uses clinical and association evidence only — no protein structure.

Returns a JSON record whose candidates list holds up to 20 drugs (each with ChEMBL ID, name, max phase, target gene/UniProt, OT evidence score, composite score, and mechanism), plus the candidate count and the methodology string. Returns an empty candidates list with a message when the disease has no Open Targets associations. The composite score is a prioritisation aid, not an efficacy prediction — validate mechanistically before acting on it.

analyze_structural_confidenceA

Analyze AlphaFold structural confidence using pLDDT and PAE.

Returns a structural reliability summary (not a per-residue profile):

  • pLDDT: the model's mean confidence (AlphaFold DB globalMetricValue) plus a coarse confidence tier

  • PAE (predicted aligned error): mean and max inter-residue uncertainty and PAE-derived domain boundaries

  • Druggability pre-screen: model confidence limitations; actual ordered fraction and ligand suitability are NOT assessed

compute_topology_fingerprintA

Compute a rotation-invariant topological fingerprint of a protein's fold.

Fetches the AlphaFold model for uniprot_id and derives an exploratory 64-dimensional geometric/topological feature vector from Cα coordinates. With GUDHI installed, H0 and H1 are computed on the 15-Å Vietoris-Rips 2-skeleton. H2 is NOT computed. Without GUDHI only a 4-Å graph component count and geometric statistics are available. Betti numbers describe this chosen filtration, not protein domains, β-barrels, drug cavities, molecular function, or an experimental structure.

Returns the fingerprint vector, the Betti numbers, the residue count, and which method ran. Full persistent homology needs the optional [tda] extra (gudhi); without it a coarse fallback runs that does NOT compute persistent homology, and the result flags this. Returns a no-structure result when AlphaFold DB has no model for the accession. This is a coarse, geometry-only summary — not a substitute for sequence alignment, RMSD, or functional-homology assessment.

compare_proteins_topologicallyA

Compare multiple proteins using a TDA-fingerprint distance.

Computes a pairwise distance matrix between the TDA fingerprints of the provided proteins. Distance metric: L2 distance between length-normalised 64-dimensional fingerprint vectors (see _fingerprint_distance). Distance = 0 means identical fingerprints; larger values mean more divergent fingerprints. This is not a Wasserstein distance between persistence diagrams.

Applications: Possible uses (all of which require independent validation before any downstream use):

  • Drug-repurposing triage: proteins with low fingerprint distance may share gross topology.

  • Off-target screening: family members with near-zero distance.

  • Cross-species comparison of the same gene's structure.

None of these are direct functional or sequence-similarity measures.

find_evolutionary_structural_shiftsB

Report ortholog sequence identity and exploratory structural distances.

Distances between Cα-derived feature vectors are not calibrated evolutionary, functional, binding, or antibody cross-reactivity measures. The GUDHI and geometric-proxy methods are distinguished in each result. There is deliberately no cross-method conservation ranking.

score_binding_pocket_geometryA

Identify and score putative binding pockets from AlphaFold geometry.

Detects pockets with a geometry-only heuristic. Residues in the inner 60 percent of the structure by distance from the centroid are taken as the pocket-forming core, then grown greedily into clusters within an 8 Angstrom radius. A cluster is kept as a putative pocket when it has at least min_pocket_residues members and a mean pLDDT of at least 50.

Each pocket reports a radius of gyration (compactness of the pocket residues), a centroid offset (distance of the pocket centroid from the structure centroid; larger means more peripheral), mean pLDDT, and an uncalibrated geometry score. Centroid offset does not measure solvent exposure, cavity validity, or ligand binding. The druggability index runs 0 to 100 and is the sum of four equally weighted 0 to 25 sub-scores: residue count, radius of gyration, mean pLDDT, and centroid offset.

This is a fast, dependency-free pre-screen, not a substitute for a validated pocket detector such as fpocket or P2Rank. It needs no ML model, is fully reproducible from AlphaFold coordinates, and runs in air-gapped deployments.

detect_intrinsically_disorderedA

Flag low-confidence modeled regions as intrinsic-disorder candidates.

Reads per-residue AlphaFold pLDDT from PDB C-alpha records and groups contiguous runs below 50. Low pLDDT may reflect intrinsic disorder, missing binding partners, alternate conformations, or model uncertainty; it is NOT independent evidence that a region is disordered.

Returns model-local residue indices, observed PDB chain/residue identifiers, and positional descriptions of low-pLDDT runs. These labels describe model geometry, not validated linkers, tails, disorder or function. Legacy idr_fraction and disordered_residue_count remain deprecated numeric aliases of low-pLDDT measurements, NOT validated intrinsic-disorder assays. Prefer low_plddt_* fields for scientific interpretation. PDB numbering is not mapped to full-length UniProt via SIFTS here.

This implementation is a reproducible screening heuristic, not a validated disorder predictor, biomolecular mechanism classifier, or clinical result. For background on intrinsic disorder, see Ruff & Pappu (2021), J Mol Biol. 433:167208; that paper does not validate these cutoffs or code.

get_protein_structureA

Retrieve a protein's AlphaFold model: metadata, download URLs, optional coordinates.

The single entry point for getting the predicted structure itself. Returns the AlphaFold DB entry metadata — entry ID, model version and creation date, organism, gene, UniProt description, the amino-acid sequence and its length, and the model's mean pLDDT — plus stable download URLs for the PDB and mmCIF coordinate files, the PAE matrix, and the AlphaMissense substitutions CSV. The PAE image URL is only present in legacy API responses. Set include_coordinates to embed the full PDB coordinate text directly.

Use the sibling structure tools for interpretation rather than retrieval, so their scopes don't overlap: analyze_structural_confidence for a pLDDT/PAE confidence read, score_binding_pocket_geometry for pockets, compute_topology_fingerprint for fold topology, and detect_intrinsically_disordered for disorder. This tool hands you the structure and its handles; it does not score or interpret the model.

Returns structure_available: false with an explanatory note when AlphaFold DB has no model for the accession — an expected coverage gap, not a server fault.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.8/5.0

Scored across 29 tools

Disambiguation4/5

Descriptions do explicit work to separate near-neighbours (get_disease_targets vs get_common_disease_targets, find_drug_repurposing_candidates vs map_disease_drug_landscape, get_protein_structure vs the four structure-interpretation tools) and local-recall tools are clearly labelled as non-live. The main residual ambiguity is the variant cluster — triage_variant_3d, generate_variant_clinical_report, and classify_variant_acmg all emit variant reports, with triage_variant_3d admitting placeholders and pointing elsewhere for AlphaMissense. A careful agent can pick correctly, but these three can be confused at a glance.

Naming Consistency5/5

Every tool is snake_case with an action verb first (get_, query_, lookup_, search_, analyze_, score_, compute_, compare_, find_, generate_, classify_, synthesize_, export_, resolve_, map_, detect_, triage_), and resource nouns are reused consistently across the set. No camelCase or mixed convention appears.

Tool Count3/5

At 29 tools this is the heavy end, though the scope genuinely spans structural analysis, MONDO/HPO ontology, Open Targets/ChEMBL drug work, variant interpretation, and a local knowledge graph. Several local-store utilities (get_knowledge_graph_stats, query_variant_database, query_protein_database, export_research_dataset) are ancillary and inflate the surface for what is largely a read-only research server.

Completeness3/5

The read/analysis surface is broad and well covered, from structure retrieval through druggability, repurposing, and disease-phenotype traversal. However, the local knowledge graph is queried and exported but never written to — the storage API the descriptions reference is not exposed, leaving a notable dead end — and there is no sequence-level comparison or ligand-level tooling.

Maintenance

ActivityActive
ResponsivenessOutdated data