> For the complete documentation index, see [llms.txt](https://docs.biobox.io/guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.biobox.io/guide/how-to/ask-biobox-with-claude/tools/list-reasoning-models.md).

# list\_reasoning\_models — List reasoning models

List reasoning models

List reasoning models

## What it does

List the reasoning models (scoring models) the caller's org has, across BOTH topologies — bipartite models that rank one entity class for another (e.g. genes for a disease) and monopartite/profile models that score one class all-vs-all against itself.

**When to use:** the user asks "what models / reasoning models do we have?" or wants the inventory; you need to discover which model fits a question before reading its reports or scores; the user names a disease, gene, drug, or pathway and you must find the model that ranks it (filter with `anchor` = that class, e.g. anchor: "Disease"); you want only one topology (pass `topology: bipartite` or `topology: monopartite`).

**When NOT to use:** you already know the model's UUID and want its config/evidence (use get\_reasoning\_model); you already know the model's UUID and just want its reports/scores (use the report tools); the user is asking about a single entity's connections in the graph (use the entity tools).

**Parameters:**

* `topology` — optional filter — "bipartite" (ranks one class for another) or "monopartite" (one class scored all-vs-all against itself). Omit to list both.
* `anchor` — optional filter — the dbLabel of the input/anchor class (e.g. "Disease", "Drug"). Matches the class a model is anchored on (bipartite anchorConcept / profile anchorConcept), NOT the class it returns.
* `limit` — optional page size (default 50).
* `offset` — optional page offset (default 0). Page when totalHits > returnedCount.

**Returns:** An object { models, totalHits, returnedCount, offset }. Each model has: uuid (pass to get\_reasoning\_model / report tools), displayName (human title), description (intended use — match this to the user's intent), topology (bipartite | monopartite), anchorConcept (the class a query is anchored on) and returnsEntityType (the class the model ranks — null for monopartite/profile) — each a { dbLabel, displayName } ref (dbLabel is the graph label for Cypher, displayName the human name), and folder (org grouping). Pick a model by matching the user's intent to description + anchorConcept + returnsEntityType. `totalHits` is the full filtered count in the org; `returnedCount` is this page — page with offset/limit when totalHits > returnedCount.

## Parameters

| Parameter  | Type   | Required | Description                                                                                                                                                                                             |
| ---------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `topology` | enum   | no       | optional filter — "bipartite" (ranks one class for another) or "monopartite" (one class scored all-vs-all against itself). Omit to list both.                                                           |
| `anchor`   | string | no       | optional filter — the dbLabel of the input/anchor class (e.g. "Disease", "Drug"). Matches the class a model is anchored on (bipartite anchorConcept / profile anchorConcept), NOT the class it returns. |
| `limit`    | number | no       | optional page size (default 50).                                                                                                                                                                        |
| `offset`   | number | no       | optional page offset (default 0). Page when totalHits > returnedCount.                                                                                                                                  |

## Response

```ts
{
  models: Array<{
    uuid: string;
    displayName: string;
    description: string | null;
    topology: "bipartite" | "monopartite";
    anchorConcept: {
      dbLabel: string | null;
      displayName: string | null;
    } | null;
    returnsEntityType: {
      dbLabel: string | null;
      displayName: string | null;
    } | null;
    folder: string | null;
  }>;
  totalHits: number;
  returnedCount: number;
  offset: number;
}
```

## Example

```json
// list_reasoning_models({"topology":"monopartite"})
{
  "topology": "monopartite"
}
```

Response (arrays truncated):

```json
{
  "models": [
    {
      "uuid": "9GFXylq5eiFxkbc0XugAR",
      "displayName": "Indication Prioritization",
      "description": "Identifying indications for lead asset",
      "topology": "monopartite",
      "anchorConcept": {
        "dbLabel": "Disease",
        "displayName": "Disease"
      },
      "returnsEntityType": null,
      "folder": null
    }
  ],
  "totalHits": 1,
  "returnedCount": 1,
  "offset": 0
}
```
