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

# MCP tool reference

> The chat, file, and skill tools available through Pretty's MCP server.

Pretty exposes these tools at `https://api.make-pretty.com/mcp`. Your MCP client discovers their full input schemas with `tools/list` after OAuth sign-in. Access is limited to your account and the Pretty workspace selected during authorization.

| Tool              | What it does                                                           | Main input                                            | Result                           |
| ----------------- | ---------------------------------------------------------------------- | ----------------------------------------------------- | -------------------------------- |
| `start_chat`      | Starts a chat and sends the first message.                             | `message`; optional `attachments`                     | `chatId`, `messageId`            |
| `send_message`    | Continues a chat or answers a question from Pretty.                    | `chatId`, `message`; optional `attachments`, `queued` | `chatId`, `messageId`            |
| `get_chat_status` | Checks whether Pretty is still working and returns the latest message. | `chatId`                                              | `status`, `lastMessage`, `error` |
| `list_messages`   | Reads a chat transcript.                                               | `chatId`; optional `order`, `cursor`, `limit`         | `messages`, `nextCursor`         |
| `list_chats`      | Lists your chats in the selected workspace, most recent first.         | Optional `cursor`, `limit`                            | `chats`, `nextCursor`            |
| `list_files`      | Lists Workspace roots or one folder.                                   | Optional `path`, `cursor`                             | `entries`, `nextCursor`          |
| `list_skills`     | Lists skills available to you in Pretty.                               | None                                                  | Skill catalog                    |
| `read_skill`      | Reads one skill's instructions.                                        | `skill` from `list_skills`                            | Skill instructions               |

## Chat status

`get_chat_status` returns one of five values:

| Status            | Meaning                          | What to do                                                           |
| ----------------- | -------------------------------- | -------------------------------------------------------------------- |
| `queued`          | Pretty has accepted the message. | Check again later.                                                   |
| `working`         | The assistant is running.        | Check again later.                                                   |
| `waiting_for_you` | Pretty needs an answer.          | Read `lastMessage`, then call `send_message` with the same `chatId`. |
| `finished`        | The turn has ended.              | Read `lastMessage` or call `list_messages` for the transcript.       |
| `failed`          | The assistant could not finish.  | Read the public `error` and try a follow-up message.                 |

`send_message` defaults to `queued: true`: when Pretty is working, the new message waits for the current turn. Set `queued: false` to stop that turn and run the new message next. The partial reply remains in the chat.

## Attachments

Both message tools accept an `attachments` array. Use the paths returned by `list_files`:

```json theme={null}
[
  { "type": "workspace", "path": "orgs/acme/brief.md" },
  { "type": "link", "url": "https://example.com/report", "title": "Source report" }
]
```

The Workspace path must be readable by your Pretty account. A link must be a valid URL; `title` is optional. This connection does not accept file bytes or upload local files.

## Pagination

`list_messages` returns newest messages first unless you set `order: "oldest"`. Its `limit` defaults to 50 and accepts 1 to 100. `list_chats` defaults to 25 and also accepts 1 to 100. Pass `nextCursor` into the next call as `cursor`; keep the same message order while paging.

`list_files` shows the organization and personal roots when `path` is omitted. Pass a returned directory path to list that folder, then use `nextCursor` to continue if there are more entries.

## Authentication

Pretty uses OAuth with the `mcp:tools` scope. The endpoint requires an access token for `https://api.make-pretty.com/mcp`; it checks workspace membership and external access on requests. Authorization discovery is available at [`/.well-known/oauth-protected-resource/mcp`](https://api.make-pretty.com/.well-known/oauth-protected-resource/mcp).
