Skip to main content
Glama

Xrefs

xrefs
Read-onlyIdempotent

"What's the UniProt / HGNC / RefSeq ID for [gene]" / "cross-references for [gene symbol]" — external database IDs (UniProt, RefSeq, HGNC, Entrez, OMIM, etc.) for a gene symbol. Use to map between bio-database identifier spaces.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
symbolYes
speciesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countYesNumber of items returned.
itemsYesExternal cross-references for a gene symbol

Schema Changelog

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

  1. Changed2 schema fields changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "species": "human",
      +    "symbol": "TP53"
      +  }
      +]
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "count": {
      +      "description": "Number of items returned.",
      +      "type": "integer"
      +    },
      +    "items": {
      +      "description": "External cross-references for a gene symbol",
      +      "items": {
      +        "properties": {
      +          "dbname": {
      +            "description": "Database name (UniProtKB, NCBI, etc)",
      +            "type": "string"
      +          },
      +          "description": {
      +            "description": "Cross-reference description",
      +            "type": "string"
      +          },
      +          "display_id": {
      +            "description": "External identifier",
      +            "type": "string"
      +          },
      +          "primary_id": {
      +            "description": "Primary external ID",
      +            "type": "string"
      +          },
      +          "xref_id": {
      +            "description": "Xref database ID",
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "required": [
      +    "items",
      +    "count"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A3.8/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, covering the safety profile. The description only mentions that external database IDs are returned, which is essentially the output rather than a behavioral trait. No additional behaviors (e.g., rate limits, disambiguation rules) are disclosed beyond the annotations.

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, front-loads the purpose with example queries, and contains no wasted words. It conveys the essential information in three short sentences, making it highly efficient.

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?

The tool is relatively simple, and annotations plus output schema cover safety and return structure. However, the description omits explanation of the required 'species' parameter and does not clarify whether it is a free-form string or uses a controlled vocabulary. This gap makes the description not fully complete for correct invocation without further inference.

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

Parameters2/5

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

The input schema has no descriptions for the two required parameters (symbol, species), and the description only elaborates on 'symbol' as a gene symbol via examples. The 'species' parameter is not explained at all, leaving the agent to infer its purpose. With 0% schema description coverage, the description fails to fully compensate for the missing parameter semantics.

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 identifies the tool as providing cross-references (external database IDs) for a gene symbol, with specific example queries. It specifies the verb 'cross-references' and the resource (gene symbol), and the scope of mapping between bio-database identifier spaces distinguishes it from sibling tools like lookup_symbol or sequence.

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 states 'Use to map between bio-database identifier spaces,' which provides clear context on when to use the tool. However, it does not explicitly name alternative tools or state when not to use it, so it falls short of a 5.

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.