Skip to main content
Glama

Lookup

lookup
Read-onlyIdempotent

"Ensembl gene info for [ENSG...]" / "look up [Ensembl ID]" / "fetch [ENST.../ENSE.../ENSP...]" — fetch metadata for an Ensembl stable ID (gene / transcript / exon / translation). Returns name, biotype, chromosomal position, strand, description. Pass expand=true to include child features (transcripts of a gene, exons of a transcript). Example: ENSG00000157764 (BRAF).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYese.g. "ENSG00000157764" (BRAF)
expandNoInclude child features.
assemblyNoHuman genome build: "GRCh38" (the default) or "GRCh37" (= hg19). Coordinates you pass and coordinates you get back are both in this build. Older variant lists, spreadsheets and published tables are usually GRCh37.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
idNoStable ID
endNoEnd coordinate
ExonNoChild exons (if expand=true)
startNoStart coordinate
strandNoStrand (1 or -1)
biotypeNoBiotype classification
speciesNoSpecies name
TranscriptNoChild transcripts (if expand=true)
descriptionNoObject description
object_typeNoType of object (Gene, Transcript, Exon, Translation)
display_nameNoDisplay name
assembly_nameNoAssembly name
seq_region_nameNoChromosome or sequence region

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • addedInput schema / properties / assembly
      Added value: +{
      +  "description": "Human genome build: \"GRCh38\" (the default) or \"GRCh37\" (= hg19). Coordinates you pass and coordinates you get back are both in this build. Older variant lists, spreadsheets and published tables are usually GRCh37.",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "id": "ENSG00000157764"
      +  },
      +  {
      +    "expand": true,
      +    "id": "ENST00000288602"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "Stable ID lookup result (gene/transcript/exon/translation)",
      +  "properties": {
      +    "Exon": {
      +      "description": "Child exons (if expand=true)",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "Transcript": {
      +      "description": "Child transcripts (if expand=true)",
      +      "items": {
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "assembly_name": {
      +      "description": "Assembly name",
      +      "type": "string"
      +    },
      +    "biotype": {
      +      "description": "Biotype classification",
      +      "type": "string"
      +    },
      +    "description": {
      +      "description": "Object description",
      +      "type": "string"
      +    },
      +    "display_name": {
      +      "description": "Display name",
      +      "type": "string"
      +    },
      +    "end": {
      +      "description": "End coordinate",
      +      "type": "integer"
      +    },
      +    "id": {
      +      "description": "Stable ID",
      +      "type": "string"
      +    },
      +    "object_type": {
      +      "description": "Type of object (Gene, Transcript, Exon, Translation)",
      +      "type": "string"
      +    },
      +    "seq_region_name": {
      +      "description": "Chromosome or sequence region",
      +      "type": "string"
      +    },
      +    "species": {
      +      "description": "Species name",
      +      "type": "string"
      +    },
      +    "start": {
      +      "description": "Start coordinate",
      +      "type": "integer"
      +    },
      +    "strand": {
      +      "description": "Strand (1 or -1)",
      +      "type": "integer"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the read-only and idempotent hints from annotations, the description adds useful behavioral details such as the effect of expand=true on child features and the handling of coordinate builds (GRCh38 vs GRCh37). It does not mention auth, rate limits, or side effects, but the added behavior regarding assembly and expansion is valuable.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, with a clear opening line, a list of return fields, and a short note on the expand option. It stays focused and avoids redundant or irrelevant information, making it easy to skim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity of the tool and the presence of an output schema, the description covers the essential aspects: purpose, parameters, return content, and optional expand behavior. It lacks explicit error handling or edge cases, but those are not necessary for a basic lookup tool under this context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema covers all parameters with descriptions, and the assembly parameter is explained in detail with practical context (hg19 equivalence and typical usage for older data). The id parameter has only an example, but the main tool description clarifies it accepts stable IDs for genes, transcripts, exons, or translations, giving semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches metadata for an Ensembl stable ID, listing the types (gene/transcript/exon/translation) and the returned fields (name, biotype, position, strand, description). It also provides concrete examples, making the purpose unambiguous and distinct from other sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives examples and mentions the expand parameter, but it does not explicitly state when to prefer this tool over alternatives like homology, sequence, variation, or lookup_symbol. There is no direct comparison or selection guidance, leaving the user to infer usage context from the description alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A3.6/5.0
Disambiguation2/5

There is heavy overlap in the ask_pipeworx family (ask_pipeworx, ask_pipeworx_beta, ask_pipeworx_grounded, deep_research, bet_research, validate_claim) — several are near-identical 'route a natural-language question to a source' tools differing only by small qualifiers. ai_visibility_check vs scan_competitor_ai_presence and entity_profile vs compare_entities vs recent_changes also blur together. An agent could easily misselect among these.

Naming Consistency4/5

The dominant convention is snake_case verb_noun/noun_verb (list_subscriptions, scan_dependency, validate_claim, resolve_entity) which is fairly consistent, but there are several bare single-word verbs (lookup, sequence, variation, vep, xrefs, recall, remember, forget) that break the pattern. No camelCase is present, so the inconsistency is minor rather than chaotic.

Tool Count2/5

38 tools is heavy, and the overwhelming majority (~31) are Pipeworx meta-tools (subscriptions, memory, feedback, trend, discovery, llms.txt generation) that have nothing to do with the server's declared Ensembl identity. Only about 7 tools are actually genomics-related, so the count is inflated by off-domain additions that dilute the surface.

Completeness2/5

For the Ensembl domain, the surface covers gene lookup, symbol resolution, sequence retrieval, orthologs, SNPs, variant effect prediction, and xrefs — but misses major Ensembl capabilities like gene trees/families, regulatory features, comparative/multi-species alignments, expression data, phenotypes, GO/ontology annotations, and region/overlap queries. Conversely the Pipeworx tools are complete for their own domain but irrelevant here, leaving the declared domain notably incomplete.