Skip to main content
Glama

Target

target
Read-onlyIdempotent

"Drug target profile for [gene]" / "is [gene] a druggable target" / "[gene] target info" / "target ID [ENSG...]" — fetch a drug-target profile (Open Targets uses Ensembl gene IDs as target identifiers). Returns approved symbol, name, biotype, protein IDs, pathways, synonyms. Use for target characterization in drug discovery.

Input Schema

NameRequiredDescriptionDefault
ensembl_idYese.g. "ENSG00000141510" (TP53)

Output Schema

NameRequiredDescriptionDefault
targetNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • removedOutput schema / properties / data
      Removed value: -{
      -  "properties": {
      -    "target": {
      -      "properties": {
      -        "approvedName": {
      -          "description": "Approved gene name",
      -          "type": "string"
      -        },
      -        "approvedSymbol": {
      -          "description": "Approved gene symbol",
      -          "type": "string"
      -        },
      -        "biotype": {
      -          "description": "Gene biotype",
      -          "type": "string"
      -        },
      -        "id": {
      -          "description": "Ensembl target ID",
      -          "type": "string"
      -        },
      -        "pathways": {
      -          "items": {
      -            "properties": {
      -              "pathway": {
      -                "description": "Pathway name",
      -                "type": "string"
      -              },
      -              "pathwayId": {
      -                "description": "Pathway ID",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "proteinIds": {
      -          "items": {
      -            "properties": {
      -              "id": {
      -                "description": "Protein ID",
      -                "type": "string"
      -              },
      -              "source": {
      -                "description": "ID source",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "type": "array"
      -        },
      -        "synonyms": {
      -          "items": {
      -            "properties": {
      -              "label": {
      -                "description": "Synonym label",
      -                "type": "string"
      -              },
      -              "source": {
      -                "description": "Synonym source",
      -                "type": "string"
      -              }
      -            },
      -            "type": "object"
      -          },
      -          "type": "array"
      -        }
      -      },
      -      "type": "object"
      -    }
      -  },
      -  "type": "object"
      -}
    • addedOutput schema / properties / target
      Added value: +{
      +  "properties": {
      +    "approvedName": {
      +      "type": "string"
      +    },
      +    "approvedSymbol": {
      +      "type": "string"
      +    },
      +    "biotype": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "pathways": {
      +      "items": {
      +        "properties": {
      +          "pathway": {
      +            "type": "string"
      +          },
      +          "pathwayId": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "proteinIds": {
      +      "items": {
      +        "properties": {
      +          "id": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "synonyms": {
      +      "items": {
      +        "properties": {
      +          "label": {
      +            "type": "string"
      +          },
      +          "source": {
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "ensembl_id": "ENSG00000141510"
      +  },
      +  {
      +    "ensembl_id": "ENSG00000169245"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "data": {
      +      "properties": {
      +        "target": {
      +          "properties": {
      +            "approvedName": {
      +              "description": "Approved gene name",
      +              "type": "string"
      +            },
      +            "approvedSymbol": {
      +              "description": "Approved gene symbol",
      +              "type": "string"
      +            },
      +            "biotype": {
      +              "description": "Gene biotype",
      +              "type": "string"
      +            },
      +            "id": {
      +              "description": "Ensembl target ID",
      +              "type": "string"
      +            },
      +            "pathways": {
      +              "items": {
      +                "properties": {
      +                  "pathway": {
      +                    "description": "Pathway name",
      +                    "type": "string"
      +                  },
      +                  "pathwayId": {
      +                    "description": "Pathway ID",
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "proteinIds": {
      +              "items": {
      +                "properties": {
      +                  "id": {
      +                    "description": "Protein ID",
      +                    "type": "string"
      +                  },
      +                  "source": {
      +                    "description": "ID source",
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "synonyms": {
      +              "items": {
      +                "properties": {
      +                  "label": {
      +                    "description": "Synonym label",
      +                    "type": "string"
      +                  },
      +                  "source": {
      +                    "description": "Synonym source",
      +                    "type": "string"
      +                  }
      +                },
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "type": "object"
      +        }
      +      },
      +      "type": "object"
      +    }
      +  },
      +  "type": "object"
      +}
  3. First observed

TDQS

B3.4/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds the identifier convention (Ensembl gene IDs as target IDs) and lists returned fields, but omits error behavior for unknown IDs or coverage limits of the Open Targets dataset.

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

Conciseness4/5

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

Front-loaded with the core action and return fields in two sentences. The four quoted query phrasings add minor redundancy but plausibly aid matching; overall it stays short with no filler.

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

Completeness3/5

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

With an output schema and full annotations present, the description needn't explain return values and doesn't. The remaining gap is sibling disambiguation among the several 'target*' tools, which a one-param profile tool could easily have stated.

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

Parameters3/5

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

There is a single parameter with 100% schema description coverage plus an inline example ('ENSG00000141510' = TP53), so the schema already carries the semantics. The description restates the 'target ID [ENSG...]' format, adding little beyond what the schema shows.

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

Purpose4/5

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

The description gives a specific verb ('fetch') and resource ('drug-target profile') and clarifies the identifier convention (Ensembl gene IDs, Open Targets). However, it does not differentiate itself from the closely named siblings 'target_associations' and 'target_known_drugs', so an agent must still infer which 'target' tool fits.

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

Usage Guidelines3/5

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

Quoted example phrasings ('is [gene] a druggable target', '[gene] target info') and 'Use for target characterization in drug discovery' imply when to reach for it. There are no explicit when-not conditions and no routing guidance versus 'target_associations', 'target_known_drugs', or 'drug'.

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.