# Generations

> MCP tools for the Generations module. See the [Generations module docs](/docs/modules/generations) for permissions and data model.

# Generations

MCP tools for the Generations module. See the [Generations module docs](/docs/modules/generations) for permissions and data model.

### `list-generations`

List generations

#### Arguments

| Argument | Type | Required | Description |
| -------- | ---- | -------- | ----------- |
| `agent_id` | `string` | no | Filter by agent public ID |
| `trace_id` | `string` | no | Filter by trace public ID |
| `session_id` | `string` | no | Return only the generations dispatched through one session — the turns behind that conversation's spend. A session that does not exist in scope yields an empty page. |
| `actor_id` | `string` | no | Return only the generations one end user started, across every session they appear in. An actor that does not exist in scope yields an empty page. |
| `initiator_generation_id` | `string` | no | Filter by the public ID of the parent generation. Returns all generations triggered by that generation — sub-agent invocations. Null-initiated (top-level) generations are not returned. |
| `chain_id` | `string` | no | Filter by the continuation chain the generation belongs to. This is how a chain is expanded into its members — the chain record carries only their count. |
| `orchestration_run_id` | `string` | no | Filter by the orchestration run that dispatched the generation. This is how a run is traced back to what its agent nodes did — a node execution record stores no generation id. |
| `node_id` | `string` | no | Filter by the orchestration node that dispatched the generation. Combine with `orchestration_run_id` to narrow to one node of one run; a retried node returns one generation per `node_attempt`. |
| `status` | `string` | no | Filter by lifecycle status |
| `limit` | `number` | no | — |
| `offset` | `number` | no | — |

### `get-generation`

Get a generation

#### Arguments

| Argument | Type | Required | Description |
| -------- | ---- | -------- | ----------- |
| `generation_id` | `string` | yes | Public ID of the generation |

### `update-generation`

Update generation metadata

#### Arguments

| Argument | Type | Required | Description |
| -------- | ---- | -------- | ----------- |
| `generation_id` | `string` | yes | Public ID of the generation |
| `metadata` | `object` | yes | Caller-supplied key/value metadata to shallow-merge into the generation record's caller-owned `metadata` bag. No key is reserved: server-owned state lives in its own top-level fields and cannot be written from here. |

### `purge-generation-content`

Purge generation content

#### Arguments

| Argument | Type | Required | Description |
| -------- | ---- | -------- | ----------- |
| `generation_id` | `string` | yes | Public ID of the generation |

### `get-generation-transcript`

Get a generation's transcript

#### Arguments

| Argument | Type | Required | Description |
| -------- | ---- | -------- | ----------- |
| `generation_id` | `string` | yes | Public ID of the generation |
