Skip to main content
Glama

biobtree_enrich

Gene-set over-representation for a list of genes.

SYNTAX: biobtree_enrich(genes=["TP53","BRCA1",...], collection="C5:GO", limit=20)

USE FOR:

  • "Which GO term / pathway describes these genes?"

  • Gene-set enrichment from a list of HGNC symbols or IDs.

  • Returns MSigDB sets over-represented among the input genes using a hypergeometric test and BH-FDR, restricted to set sizes 5-500 and ranked by FDR, then fold enrichment (p is also reported).

DEFAULTS: collection="C5:GO" (GO BP/MF/CC); limit=20.

  • collection="C5:GO:BP" narrows to biological process, "C5:GO:MF" to molecular function, "C5:GO:CC" to cellular component.

  • GO-native mode uses GOA human annotations: collection="GO" (all namespaces) or "GO:BP" / "GO:MF" / "GO:CC". Use this when a term is missing from the MSigDB C5 collections.

  • Other MSigDB collections: "C2:CP:REACTOME", "C2:CP:PID", "C2:CGP", "H", etc.

  • Inputs must be HGNC symbols/IDs. Official symbols are resolved exactly (an ambiguous symbol such as "AR" is not expanded to every alias hit). Use biobtree_map first if you only have Ensembl/UniProt IDs.

  • If truncated is true the internal page limit was reached before all input pages were read; split the gene list and re-run.

RETURNS: query summary + ranked terms {id, name, collection, go_id, exact_source, overlap, set_size, fold, p, fdr}. go_id is present whenever the set maps to a GO term (always for GO-native mode) and exact_source is the MSigDB source term; cite them instead of recalling IDs. query.input_genes echoes the inputs, query.genes are the resolved HGNC ids, and not_found lists inputs that did not map.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "genes": "<genes>"
    },
    "name": "biobtree_enrich"
  }
}

Input Schema

NameRequiredDescriptionDefault
genesYesHGNC symbols or IDs
limitNoMaximum enriched terms to return (default 20, max 100)
collectionNoCollection (default C5:GO; also C5:GO:BP/MF/CC, C2:CP:REACTOME, C2:CGP, H, ...; GO-native: GO, GO:BP/MF/CC)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / collection / description
      Previous value: -"MSigDB collection (default C5:GO; also C5:GO:BP/MF/CC, C2:CP:REACTOME, C2:CGP, H, ...)"New value: +"Collection (default C5:GO; also C5:GO:BP/MF/CC, C2:CP:REACTOME, C2:CGP, H, ...; GO-native: GO, GO:BP/MF/CC)"
  2. Added

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: it discloses the statistics (hypergeometric test, BH-FDR), the set-size filter 5-500, the ranking order (FDR then fold enrichment), the input resolution rule (ambiguous symbols such as 'AR' are not expanded to aliases), and the meaning of the `truncated` flag. This is exactly the kind of behavior an agent cannot infer from the schema.

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?

Well structured with SYNTAX / USE FOR / DEFAULTS / RETURNS sections and front-loaded with the core purpose. Slightly verbose — the SYNTAX line largely repeats what the schema and DEFAULTS section already convey — but nearly every sentence carries information an agent needs.

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

Completeness5/5

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

No output schema exists, so the description must describe returns, and it does in detail: the ranked term fields, the meaning of `go_id` and `exact_source`, plus the `query.input_genes`, `query.genes` and `not_found` echo fields. Combined with the statistical and input-resolution notes, an agent has everything needed to call and interpret this tool correctly.

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 already 100%, so the baseline is 3, but the description adds real meaning beyond it: it enumerates the valid collection families, explains the GO-native vs MSigDB distinction and when each applies, and restates the limit default of 20. It does not, however, state the limit maximum (100) that the schema mentions, so it slightly under-delivers on that one parameter.

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 opening line names a specific analysis ('Gene-set over-representation') on a specific resource ('a list of genes'), which is distinguishable from the sibling tools (entry, map, search, variant, atlas) at a glance. The 'USE FOR' examples reinforce the exact question the tool answers.

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

Usage Guidelines5/5

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

Explicitly states when to use it (GO term / pathway description of a gene list), which collection to pick and why (GO-native when a term is missing from MSigDB C5), and names the alternative to run first ('Use biobtree_map first if you only have Ensembl/UniProt IDs'). It also gives an operational fallback for the truncated case (split the list and re-run).

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.

Resources