Skip to main content
Glama

Get HPO Term Parents

get_term_parents
Read-onlyIdempotent

Get the direct is_a parents (immediate broader phenotype terms) of an HPO term.

Instructions

Return the direct is_a parents (immediate broader phenotype terms) of an HPO term. Use get_term_ancestors for the full transitive set. Signature: get_term_parents(hpo_id, response_mode=).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
hpo_idYesCanonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.
response_modeNoVerbosity: minimal|compact|standard|full (default compact).compact

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.4.0
    • changedOutput schema / (root)
      Previous value: -{
      -  "additionalProperties": true,
      -  "properties": {
      -    "_meta": {
      -      "additionalProperties": true,
      -      "type": "object"
      -    },
      -    "allowed_values": {
      -      "type": "array"
      -    },
      -    "candidates": {
      -      "type": "array"
      -    },
      -    "count": {
      -      "type": "integer"
      -    },
      -    "error_code": {
      -      "type": "string"
      -    },
      -    "field": {
      -      "type": "string"
      -    },
      -    "hint": {
      -      "type": "string"
      -    },
      -    "hpo_id": {
      -      "type": "string"
      -    },
      -    "hpo_version": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "message": {
      -      "type": "string"
      -    },
      -    "name": {
      -      "type": [
      -        "string",
      -        "null"
      -      ]
      -    },
      -    "parents": {
      -      "type": "array"
      -    },
      -    "recovery_action": {
      -      "type": "string"
      -    },
      -    "retryable": {
      -      "type": "boolean"
      -    },
      -    "success": {
      -      "type": "boolean"
      -    }
      -  },
      -  "type": "object"
      -}New value: +null
  2. Changed3 schema fields changedv0.1.1
    • addedInput schema / properties / hpo_id
      Added value: +{
      +  "description": "Canonical HP id for the resolved HPO term (HP:0000118). Legacy `term` arguments are accepted as an alias.",
      +  "examples": [
      +    "HP:0000118"
      +  ],
      +  "type": "string"
      +}
    • removedInput schema / properties / term
      Removed value: -{
      -  "description": "An HP id (HP:0000118), a phenotype label/synonym, or an external xref CURIE that resolves to a single HPO term.",
      -  "examples": [
      -    "HP:0000118",
      -    "Seizure",
      -    "UMLS:C0036572"
      -  ],
      -  "type": "string"
      -}
    • changedInput schema / required
      Previous value: -[
      -  "term"
      -]New value: +[
      +  "hpo_id"
      +]
  3. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the tool is clearly safe and non-destructive. The description adds that it returns direct parents and provides a signature, but does not further elaborate on behavior beyond what annotations cover.

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 consists of two concise sentences plus a signature line, with no wasted words. The most important information is front-loaded.

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 tool's simplicity, good annotations, and complete schema, the description is adequate. The missing output schema is not a major issue as the tool is read-only and likely returns a simple list. However, a brief note on return format would improve completeness.

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?

Schema coverage is 100%, so baseline is 3. The description adds value by showing the signature with parameter names and default for response_mode in a concise way, and by noting that legacy 'term' arguments are accepted as an alias for hpo_id.

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 verb 'Return' and the resource 'direct is_a parents (immediate broader phenotype terms)' of an HPO term. It distinguishes from the sibling tool get_term_ancestors by specifying that this tool returns only immediate parents, not the full transitive set.

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

Usage Guidelines4/5

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

The description explicitly contrasts this tool with get_term_ancestors, guiding when to use which. It also includes a signature line showing parameter names. However, it does not provide explicit when-not-to-use scenarios or prerequisites.

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