Skip to content
Eden Engine

Human Phenotype Ontology Term Search: Find HP Ids by Phenotype Name or Synonym

jaxontologyhp/search-terms

Searches the Human Phenotype Ontology (HPO) by phenotype name, synonym or id and returns the matching terms, each with its HP id, label, definition, editor comment, synonyms, cross-references, descendant count and translations. Paged with a zero-based page number. The query takes letters, digits, spaces and - ' : , only, at least 3 characters. A query that matches nothing returns an empty list. Data from the Human Phenotype Ontology (human-phenotype-ontology.org), the current release served by ontology.jax.org, passed through unaltered and served by Eden Engine; not an official HPO or Jackson Laboratory product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.

Data source

Human Phenotype Ontology

Data from the Human Phenotype Ontology (HPO), served by the Jackson Laboratory ontology service at ontology.jax.org (current release; the service reports no version). This service is using the Human Phenotype Ontology. Find out more at http://www.human-phenotype-ontology.org. Please cite: Köhler S, et al. The Human Phenotype Ontology project: linking molecular biology and disease through phenotype data. Nucleic Acids Res. 2014;42(D1):D966-D974, doi:10.1093/nar/gkt1026. Content passed through unaltered. Served by Eden Engine; not an official HPO or Jackson Laboratory product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "jaxontologyhp/search-terms" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "jaxontologyhp/search-terms" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "jaxontologyhp/search-terms", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "jaxontologyhp/search-terms", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 21, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "minimum": 0,
      "description": "Zero-based page number: 0 is the first page. The service default is 0."
    },
    "query": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9 '\\-:,]+$",
      "maxLength": 250,
      "minLength": 3,
      "description": "What to find: a phenotype name, synonym or id, 3 to 250 characters, letters, digits, spaces and - ' : , only. For example seizure or short stature."
    },
    "page_size": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1,
      "description": "Hits per page, 1 to 100. The service default is 10."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "terms",
    "totalCount"
  ],
  "properties": {
    "terms": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The HPO term id, HP: and seven digits."
          },
          "name": {
            "type": "string",
            "description": "The term's English label."
          },
          "xrefs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Cross-references to other vocabularies."
          },
          "comment": {
            "type": "string",
            "description": "An editor's comment; often empty."
          },
          "synonyms": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "definition": {
            "type": "string",
            "description": "The term's definition; empty for a few terms."
          },
          "translations": {
            "type": [
              "array",
              "null"
            ],
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "description": "Translations of the term's name and definition: `language` (a two-letter code), `name`, `definition` and `status` (OFFICIAL or CANDIDATE). Can be null on search hits."
          },
          "descendantCount": {
            "type": "integer",
            "description": "How many terms lie below this one in the hierarchy."
          },
          "publicationReferences": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "PubMed references, PMID:..."
          }
        },
        "additionalProperties": true
      }
    },
    "totalCount": {
      "type": "integer"
    }
  },
  "description": "The service's search object. `totalCount` appeared capped at 100 in testing, so do not rely on it as a full match count; page until a page comes back short.",
  "additionalProperties": true
}