> ## Documentation Index
> Fetch the complete documentation index at: https://docs.summerengine.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Operations: chats

> Your Studio chats. For each operation: what it does, whether it asks you first, its inputs and an example call.

Your Studio chats. 3 operations. How to call them, and what the answers mean: [Operations reference](/mcp/operations).

<Note>
  Generated from the `summer-engine` npm package `4.2.0`: its public operation catalog (`registry/operations/public-catalog.json`) and its engine and local operations. If something here is wrong, the operation's definition is wrong.
</Note>

| Operation | What it does | Asks you first |
| - | - | - |
| [`chats.delete`](#delete) | Ask the person to delete one of their Studio chats and its messages for good. | Yes, by default |
| [`chats.list`](#list) | List the person's recent chats with the Studio assistant, newest first: chat id, name, when it started and its Studio link. | Never |
| [`chats.rename`](#rename) | Give one of the person's Studio chats a new name (1 to 80 characters), as the chat list's rename does; it shows on every device. | Not by default |

***

### delete

`chats.delete`: **Delete a Studio chat**

Ask the person to delete one of their Studio chats and its messages for good. Returns a link; nothing changes until they confirm. Next: jobs.wait.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "chats.delete"` |
| **CLI** | `summer chats delete` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Removes or stops something for good. |
| **Asks you first** | Yes: **Delete for good** is off by default in Agent permissions. |

**Inputs:**

| Input | Type | Required | Description |
| - | - | - | - |
| `chatId` | string | Yes | A chat, from chats.list. |
| `dryRun` | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
| `idempotencyKey` | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "chatId": {
        "description": "A chat, from chats.list.",
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      },
      "dryRun": {
        "description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
        "type": "boolean"
      },
      "idempotencyKey": {
        "description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      }
    },
    "required": [
      "chatId"
    ]
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "chatId": {
        "type": "string"
      },
      "deleted": {
        "type": "boolean"
      }
    },
    "required": [
      "chatId",
      "deleted"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** An old chat the person no longer wants.

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "chats.delete",
      "input": {
        "chatId": "4c5d6e7f-8a9b-4c0d-9e1f-2a3b4c5d6e7f"
      }
    }
  }
  ```

  ```bash CLI theme={null}
  summer chats delete --chat-id 4c5d6e7f-8a9b-4c0d-9e1f-2a3b4c5d6e7f
  ```
</CodeGroup>

***

### list

`chats.list`: **List my Studio chats**

List the person's recent chats with the Studio assistant, newest first: chat id, name, when it started and its Studio link. Next: chats.rename or chats.delete.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "chats.list"` |
| **CLI** | `summer chats list` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Reads only. Changes nothing. |
| **Asks you first** | No. It changes nothing. |

**Inputs:**

| Input | Type | Required | Description |
| - | - | - | - |
| `limit` | integer | No | Default `10`. Range 1 to 50. |

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "limit": {
        "default": 10,
        "type": "integer",
        "minimum": 1,
        "maximum": 50
      }
    }
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "items": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "chatId": {
              "type": "string"
            },
            "title": {
              "type": "string"
            },
            "createdAt": {
              "type": "string"
            },
            "url": {
              "type": "string"
            }
          },
          "required": [
            "chatId",
            "title",
            "createdAt",
            "url"
          ],
          "additionalProperties": false
        }
      }
    },
    "required": [
      "items"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** Which chats does the person have?

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "chats.list",
      "input": {
        "limit": 10
      }
    }
  }
  ```

  ```bash CLI theme={null}
  summer chats list --limit 10
  ```
</CodeGroup>

***

### rename

`chats.rename`: **Rename a Studio chat**

Give one of the person's Studio chats a new name (1 to 80 characters), as the chat list's rename does; it shows on every device. Returns the saved name. Next: chats.list.

| | |
| - | - |
| **MCP** | `summer_call` with `"op": "chats.rename"` |
| **CLI** | `summer chats rename` |
| **Runs** | On Summer's servers: the hosted MCP, or the npm MCP after `summer login`. Needs your Summer sign-in. |
| **Effect** | Changes your own drafts, files or settings. Nobody else sees it yet. |
| **Asks you first** | No: **Make and build** is on by default in Agent permissions. When it is off, your agent asks you first. |

**Inputs:**

| Input | Type | Required | Description |
| - | - | - | - |
| `chatId` | string | Yes | A chat, from chats.list. |
| `title` | string | Yes | Length 1 to 80. |
| `dryRun` | boolean | No | Check and describe the call without doing it: nothing changes, nothing is spent. |
| `idempotencyKey` | string | No | Retry key. Reuse it only to retry the identical request, so it never happens twice. Length 1 to 128. |

<Accordion title="Input JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "chatId": {
        "description": "A chat, from chats.list.",
        "type": "string",
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
      },
      "title": {
        "type": "string",
        "minLength": 1,
        "maxLength": 80
      },
      "dryRun": {
        "description": "Check and describe the call without doing it: nothing changes, nothing is spent.",
        "type": "boolean"
      },
      "idempotencyKey": {
        "description": "Retry key. Reuse it only to retry the identical request, so it never happens twice.",
        "type": "string",
        "minLength": 1,
        "maxLength": 128
      }
    },
    "required": [
      "chatId",
      "title"
    ]
  }
  ```
</Accordion>

<Accordion title="Result JSON schema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "chatId": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "chatId",
      "title"
    ],
    "additionalProperties": false
  }
  ```
</Accordion>

**Example:** A clearer name.

<CodeGroup>
  ```json MCP theme={null}
  {
    "name": "summer_call",
    "arguments": {
      "op": "chats.rename",
      "input": {
        "chatId": "4c5d6e7f-8a9b-4c0d-9e1f-2a3b4c5d6e7f",
        "title": "Lighthouse level ideas"
      }
    }
  }
  ```

  ```bash CLI theme={null}
  summer chats rename --chat-id 4c5d6e7f-8a9b-4c0d-9e1f-2a3b4c5d6e7f --title 'Lighthouse level ideas'
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.