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

# Referenční příručka nástrojů MCP

> Schéma vstupu, tvar výstupu a příklady všech 20 nástrojů MCP Flowstep.

Všechny nástroje vrací pole `content` s bloky obsahu MCP. Textové nástroje vrací `{ type: "text", text: "<json-string>" }`. Obrázkové nástroje vrací `{ type: "image", data: "<base64>", mimeType: "image/png" }`. Při chybě je nastaven `isError: true` a textový blok obsahuje chybovou zprávu.

***

## Nástroje pro soubory

### `list-files`

Vypište soubory Flowstep pro aktuálního uživatele.

**Vstup**

| Parametr          | Typ               | Výchozí | Popis                               |
| ----------------- | ----------------- | ------- | ----------------------------------- |
| `orderByCreation` | `boolean`         | `true`  | Řadit podle data vytvoření          |
| `limit`           | `integer` (1–100) | `20`    | Počet souborů, které se mají vrátit |
| `offset`          | `integer` (≥0)    | `0`     | Offset stránkování                  |

**Výstup** — Pole JSON objektů souborů.

```json theme={"system"}
[
  {
    "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
    "name": "Dashboard redesign",
    "created_at": "2026-04-30T15:02:13.120152+00:00",
    "updated_at": "2026-04-30T15:02:13.120152+00:00",
    "owner": true,
    "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
  }
]
```

***

### `get-file`

Získejte jeden soubor podle ID. Obsah souboru je záměrně vynechán — používejte `get-screen` nebo `get-screen-image` k prohlídce obrazovek a `get-design-guidelines` k načtení připojených pokynů.

**Vstup**

| Parametr | Typ    | Popis      |
| -------- | ------ | ---------- |
| `id`     | `uuid` | ID souboru |

**Výstup** — Objekt JSON souboru.

```json theme={"system"}
{
  "file": {
    "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
    "name": "Dashboard redesign",
    "project_id": "81cb84d6-c69f-492c-a895-7421b60d1a6d",
    "created_at": "2026-04-30T15:02:13.120152+00:00",
    "updated_at": "2026-04-30T15:02:13.120152+00:00",
    "access_level": "private",
    "owner": true,
    "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
  },
  "user_access_level": "write"
}
```

***

### `create-file`

Vytvořte nový soubor Flowstep.

**Vstup**

| Parametr | Typ              | Popis         |
| -------- | ---------------- | ------------- |
| `title`  | `string` (min 1) | Název souboru |

**Výstup** — Objekt JSON souboru s `id` nového souboru.

```json theme={"system"}
{
  "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
  "name": "Dashboard redesign",
  "project_id": "81cb84d6-c69f-492c-a895-7421b60d1a6d",
  "created_at": "2026-04-30T15:02:13.120152+00:00",
  "updated_at": "2026-04-30T15:02:13.120152+00:00",
  "access_level": "private",
  "user_access_level": "write",
  "owner": true,
  "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
}
```

Používejte vrácené `id` jako `fileId` v následujících voláních nástrojů.

***

### `update-file`

Přejmenujte soubor.

**Vstup**

| Parametr | Typ              | Popis      |
| -------- | ---------------- | ---------- |
| `id`     | `uuid`           | ID souboru |
| `name`   | `string` (min 1) | Nový název |

**Výstup** — Aktualizovaný objekt souboru v stejné formě jako `get-file`.

```json theme={"system"}
{
  "file": {
    "id": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
    "name": "Dashboard redesign (v2)",
    "project_id": "81cb84d6-c69f-492c-a895-7421b60d1a6d",
    "created_at": "2026-04-30T15:02:13.120152+00:00",
    "updated_at": "2026-04-30T15:02:13.120152+00:00",
    "access_level": "private",
    "owner": true,
    "url": "https://app.flowstep.ai/file?activeFileId=5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0"
  },
  "user_access_level": "write"
}
```

***

### `delete-file`

Trvale odstraňte soubor. Název, který předáte, je ověřen proti skutečnému názvu souboru před odstraněním — pokud se neshoduje, je odstranění zrušeno. To zabraňuje neúmyslnému odstranění nesprávného souboru.

**Vstup**

| Parametr | Typ      | Popis                                                                        |
| -------- | -------- | ---------------------------------------------------------------------------- |
| `id`     | `uuid`   | ID souboru                                                                   |
| `name`   | `string` | Aktuální název souboru — musí se shodovat přesně, nebo je odstranění zrušeno |

**Výstup** — `"Soubor byl úspěšně smazán"`

<Warning>
  Toto je nevratné. Všechny obrazovky v souboru jsou odstraněny.
</Warning>

***

## Nástroje pro obrazovky

### `list-screens`

Vypište všechny vygenerované obrazovky pro soubor. Použijte vrácené hodnoty `screenId` k odkazování na obrazovky v `get-screen`, `get-screen-image`, `upload-attachment` a jako `targets` v `edit-design`, `regenerate-design` nebo `expand-design`.

**Vstup**

| Parametr | Typ    | Popis      |
| -------- | ------ | ---------- |
| `fileId` | `uuid` | ID souboru |

**Výstup** — Pole JSON shrnutí obrazovek.

```json theme={"system"}
[
  {
    "screenId": "3f9e6eb6-5525-4383-9375-67e0bd762dbe",
    "name": "Mobile login screen",
    "fidelity": "ui",
    "prompt": "Generate a simple mobile login screen with email and password fields and a sign in button",
    "createdAt": "2026-04-30T15:02:37.444139+00:00"
  }
]
```

`name` je uživatelem přiřazený název obrazovky nebo `null`, pokud je bez názvu.

***

### `get-screen`

Získejte kód JSX pro obrazovku, který vám umožní upravit nebo použít kód mimo Flowstep. Místo toho použijte `get-screen-image` pro vizuální náhled.

**Vstup**

| Parametr   | Typ    | Popis                                                                                                |
| ---------- | ------ | ---------------------------------------------------------------------------------------------------- |
| `fileId`   | `uuid` | ID souboru                                                                                           |
| `screenId` | `uuid` | Hodnota `screenId` vrácená funkcí `list-screens` nebo z pole `screenIds` vrácené nástrojem pro návrh |

**Výstup** — Obrazovka jako kód (JSX). Všimněte si komentáře na prvním řádku, který je vyžadován při používání nástroje `add-screen`.

```json theme={"system"}
<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" screenId: "c13d3707-0efe-49f5-b6cb-0ca5ac5223d0" -->
<div className="bg-white text-zinc-950 w-full h-fit">
  <div className="flex p-6 flex-col gap-6">
    <div className="flex pt-4 justify-between items-center">
      <ArrowLeft className="size-5 text-[#71717b]" />
      <span className="font-semibold text-zinc-950 text-lg leading-7">
        World Clock
      </span>
      <Plus className="size-5 text-[#2b7fff]" />
    </div>
    <div className="rounded-xl bg-zinc-100 flex p-2 items-center gap-2">
      <Search className="size-4 text-[#71717b] ml-2" />
      <span className="text-[#71717b] text-sm leading-5">Search cities...</span>
    </div>
...
    <div className="flex pt-2 pb-4 justify-center items-center gap-4">
      <Button variant="outline" className="rounded-full px-6 gap-2">
        <Clock className="size-4" />
        <span>Compare</span>
      </Button>
      <Button className="rounded-full bg-[#2b7fff] text-blue-50 px-6 gap-2">
        <Bell className="size-4" />
        <span>Set Alert</span>
      </Button>
    </div>
  </div>
</div>;

```

***

### `add-screen`

Přidá novou obrazovku do souboru Flowstep ze surového řetězce JSX.

**Vstup**

| Parametr     | Typ      | Popis                                                                    |
| ------------ | -------- | ------------------------------------------------------------------------ |
| `fileId`     | `uuid`   | ID souboru                                                               |
| `jsxContent` | `string` | JSX, který se přidá do souboru jako obrazovka                            |
| `screenType` | `string` | Povinné, pokud typ obrazovky není definován jako komentář na začátku JSX |

**Poznámka** - Komentář podobný tomu níže MUSÍ být přítomen jako první řádek JSX, protože se používá k správnému přidání obrazovky. `screenType`, `name` a `screenId` jsou všechny volitelné — `screenId` se používá (interně) je-li přítomný (například při předávání JSX zkopírovaného z výstupu `get-screen`), ale není povinný. Název obrazovky je převzat z pole `name` komentáře (zobrazeno jako "Copy of \<name>"), nebo "Untitled" pokud chybí.

`<!-- screenType: "iphone-x-vertical" width: "375" height: "812" name: "Change to a light theme" colorTheme: "blue" -->`

**Výstup** — ID nově přidané obrazovky.

```json theme={"system"}
{ "screenId": "3f9e6eb6-5525-4383-9375-67e0bd762dbf" }
```

***

### `get-screen-image`

Vykreslí obrazovku do formátu PNG a vrátí ji jako vloženou kopii. Vyžaduje klienta, který podporuje bloky obsahu obrázku.

**Vstup**

| Parametr   | Typ    | Popis                                                                                                |
| ---------- | ------ | ---------------------------------------------------------------------------------------------------- |
| `fileId`   | `uuid` | ID souboru                                                                                           |
| `screenId` | `uuid` | Hodnota `screenId` vrácená funkcí `list-screens` nebo z pole `screenIds` vrácené nástrojem pro návrh |

**Výstup** — Blok obsahu obrázku MCP (`image/png`).

***

## Nástroje AI

<Warning>
  `regenerate-design`, `expand-design` a `edit-design` vyžadují kontext návrhu, který existuje pouze na obrazovkách původně vygenerovaných s polem `designs`. Obrazovky vygenerované bez kontextu návrhu vrátí chybu. Obejití: použijte `upload-attachment` k vykreslení obrazovky jako obrázku, poté zavolejte `create-new-design` s obrázkem v `attachments` a zprávou popisující požadované změny.
</Warning>

### `create-new-design`

Vygenerujte jeden nebo více návrhů obrazovky z textového promptu. Vynechejte `fileId` k automatickému vytvoření nového souboru. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).

**Vstup**

| Parametr      | Typ                               | Výchozí | Popis                                                                                                                                       |
| ------------- | --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| `fileId`      | `uuid`                            | —       | Cílový soubor — vynechejte pro automatické vytvoření nového souboru                                                                         |
| `message`     | `string`                          | —       | Prompt popisující obrazovky, které se mají vygenerovat                                                                                      |
| `attachments` | `AttachmentRequestData[]` (max 5) | `[]`    | Dříve nahraná příloha — obrázky, PDF nebo soubory kódu. Vždy nejdřív nahrajte přes `upload-attachment`; nevkládejte obsah souboru do zprávy |
| `designs`     | `DesignRequestData[]`             | `[]`    | Designové reference                                                                                                                         |

**Výstup** — `{ fileId, screenIds }`. Předejte každou `screenId` do `get-screen-image` k zobrazení výsledků.

```json theme={"system"}
{
  "fileId": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
  "screenIds": ["3f9e6eb6-5525-4383-9375-67e0bd762dbe"]
}
```

***

### `regenerate-design`

Znovu vytvořte stávající obrazovky od nuly nebo s variantou stylu. Vyžaduje alespoň jednu `screenId` v `targets`. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).

**Vstup**

| Parametr           | Typ                                                         | Výchozí | Popis                                      |
| ------------------ | ----------------------------------------------------------- | ------- | ------------------------------------------ |
| `fileId`           | `uuid`                                                      | —       | Cílový soubor                              |
| `message`          | `string`                                                    | —       | Text promptu                               |
| `targets`          | `uuid[]` (min 1)                                            | —       | screenIds obrazovek k regeneraci           |
| `operationVariant` | `"different_layout" \| "different_style" \| "from_scratch"` | —       | Volitelná varianta stylu                   |
| `designs`          | `DesignRequestData[]`                                       | `[]`    | Designové reference (vyřešeny automaticky) |

**Výstup** — `{ fileId, screenIds }`. Předejte každou `screenId` do `get-screen-image` k zobrazení výsledků.

***

### `expand-design`

Přidejte navazující obrazovky k existujícímu návrhu. Vyžaduje alespoň jednu `screenId` v `targets` a povinné `operationVariant`. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).

**Vstup**

| Parametr           | Typ                                                                                                                                                            | Výchozí | Popis                                                           |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | --------------------------------------------------------------- |
| `fileId`           | `uuid`                                                                                                                                                         | —       | Cílový soubor                                                   |
| `message`          | `string`                                                                                                                                                       | —       | Text promptu                                                    |
| `targets`          | `uuid[]` (min 1)                                                                                                                                               | —       | screenIds obrazovek, ze kterých se má rozšířit                  |
| `operationVariant` | `"next_screen" \| "error_state" \| "empty_state" \| "web_version" \| "mobile_version" \| "tablet_version" \| "mobile_ios_version" \| "mobile_android_version"` | —       | **Povinné** — typ navazující obrazovky, která se má vygenerovat |
| `designs`          | `DesignRequestData[]`                                                                                                                                          | `[]`    | Designové reference (vyřešeny automaticky)                      |

**Výstup** — `{ fileId, screenIds }`. Předejte každou `screenId` do `get-screen-image` k zobrazení výsledků.

***

### `edit-design`

Upravujte stávající obrazovky pomocí promptu. Vyžaduje alespoň jednu `screenId` v `targets`. Blokuje, dokud se generování nedokončí nebo nevypršel časový limit (180 sekund).

**Vstup**

| Parametr           | Typ                                              | Výchozí | Popis                                                                 |
| ------------------ | ------------------------------------------------ | ------- | --------------------------------------------------------------------- |
| `fileId`           | `uuid`                                           | —       | Cílový soubor                                                         |
| `message`          | `string`                                         | —       | Pokyny popisující úpravy, které se mají provést                       |
| `targets`          | `uuid[]` (min 1)                                 | —       | screenIds obrazovek k úpravě                                          |
| `operationVariant` | `"dark_theme" \| "light_theme" \| "make_pretty"` | —       | Volitelná zkratka stylu                                               |
| `attachments`      | `AttachmentRequestData[]` (max 5)                | `[]`    | Dříve nahrané přílohy. Vždy nejdřív nahrajte přes `upload-attachment` |
| `designs`          | `DesignRequestData[]`                            | `[]`    | Designové reference (vyřešeny automaticky)                            |

**Výstup** — `{ fileId, screenIds }`. Předejte každou `screenId` do `get-screen-image` k zobrazení výsledků.

***

### `upload-attachment`

Nahrajte soubor, který se má používat jako příloha v `create-new-design` nebo `edit-design`. Vrací `{ id, path, type, mimeType }` — předejte tento objekt přímo do pole `attachments`.

Dva režimy:

**Režim 1 — Obrazovka podle ID**

Předejte `screenId` a `fileId`. Server načte stav obrazovky z databáze a vykreslí ji jako obrázek.

| Parametr   | Typ    | Popis                                 |
| ---------- | ------ | ------------------------------------- |
| `fileId`   | `uuid` | Soubor obsahující obrazovku (povinné) |
| `screenId` | `uuid` | Obrazovka k vykreslení                |

**Režim 2 — Externí soubor**

Předejte obsah souboru přímo. Binární soubory musí být kódovány v base64; textové soubory (včetně zdrojového kódu) jsou předávány jako prostý řetězec UTF-8.

| Parametr   | Typ                                                                                                     | Popis                                                                         |
| ---------- | ------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `fileData` | `string`                                                                                                | Obsah souboru — base64 pro binární, řetězec UTF-8 pro text                    |
| `fileName` | `string`                                                                                                | Původní název souboru                                                         |
| `mimeType` | `"image/jpeg" \| "image/png" \| "image/webp" \| "application/pdf" \| "text/plain" \| "text/javascript"` | Typ MIME. Použijte `text/javascript` pro soubory `.jsx`, `.tsx`, `.js`, `.ts` |

Maximální velikost souboru: **3 MB**. Pro velké obrázky preferujte `image/jpeg` nad `image/png`.

**Výstup**

```json theme={"system"}
{
  "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "path": "attachments/a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "type": "image",
  "mimeType": "image/jpeg"
}
```

`type` je `"image"` pro nahrávání obrázků/PDF a `"document"` pro textové/kódové soubory.

***

## Nástroje chatu

### `get-chat-history`

Získejte historii chatových zpráv pro soubor.

**Vstup**

| Parametr | Typ    | Popis      |
| -------- | ------ | ---------- |
| `fileId` | `uuid` | ID souboru |

**Výstup** — Objekt JSON s polem `messages`. Každá zpráva má `type` (`"request"` nebo `"response"`), `author` (`"human"` nebo `"ai"`) a `content_type` (`"text"`, `"summary"` nebo `"followup"`).

```json theme={"system"}
{
  "messages": [
    {
      "id": "453f593d-2380-425b-ba29-127db08d6a8e",
      "chat_id": "146d0f19-497e-450c-ba53-3de15f6bd70b",
      "type": "request",
      "status": "success",
      "content": "Generate a simple mobile login screen with email and password fields",
      "author": "human",
      "content_type": "text",
      "sequence": 1,
      "request_message_id": null,
      "targets": [],
      "attachments": []
    },
    {
      "id": "d860186b-82d5-4bd1-8e8e-8ba5377a14bf",
      "chat_id": "146d0f19-497e-450c-ba53-3de15f6bd70b",
      "type": "response",
      "status": "success",
      "content": "Generated a mobile login screen with email and password input fields, sign in button, remember me checkbox, forgot password link, social login options (Apple/Google), and sign up link.",
      "author": "ai",
      "content_type": "summary",
      "sequence": 7,
      "request_message_id": "453f593d-2380-425b-ba29-127db08d6a8e",
      "targets": [{ "target_id": "3f9e6eb6-5525-4383-9375-67e0bd762dbe" }],
      "attachments": []
    }
  ]
}
```

***

## Nástroje pro návrh

### `get-design-guidelines`

Získejte designové pokyny uložené pro soubor.

**Vstup**

| Parametr     | Typ      | Výchozí  | Popis          |
| ------------ | -------- | -------- | -------------- |
| `resourceId` | `uuid`   | —        | ID souboru     |
| `linkedTo`   | `"file"` | `"file"` | Typ prostředku |

**Výstup**

```json theme={"system"}
{
  "guidelines": "## Colors\n\nPrimary: #6366F1\nBackground: #FFFFFF\n\n## Typography\n\nFont: Inter",
  "linkedTo": "file"
}
```

`guidelines` je `null`, pokud nebyly nastaveny žádné pokyny.

***

### `update-design-guidelines`

Nastavte nebo nahraďte designové pokyny pro soubor. Pokyny se předávají jako prostý textový řetězec ve formátu `design.md` od Google — nepředávejte objekt nebo JSON.

Server provádí měkkou validaci a může vrátit část `Warnings:` v odpovědi s výčtem problémů (neznámé klíče, ne-hexadecimální barvy), které byly přijaty, ale mohou být ignorovány AI. Surfujte tyto chyby uživateli.

**Vstup**

| Parametr           | Typ              | Výchozí  | Popis                                                                    |
| ------------------ | ---------------- | -------- | ------------------------------------------------------------------------ |
| `resourceId`       | `uuid`           | —        | ID souboru                                                               |
| `designGuidelines` | `string` (min 1) | —        | Obsah pokynů v prostém textu. Musí být prostý řetězec — ne kódovaný JSON |
| `linkedTo`         | `"file"`         | `"file"` | Typ prostředku                                                           |

**Pravidla ověřování**

* Předmluva musí být otevřena a uzavřena správně
* Řádky předmluvy musí být platný YAML v blokové formě
* Tělo Markdown nesmí obsahovat duplicitní nadpisy oddílů `##`

**Výstup** — `"Designové pokyny byly úspěšně aktualizovány"`, volitelně následovány oddílem `Warnings:`.

***

### `delete-design-guidelines`

Vymažte designové pokyny pro soubor.

**Vstup**

| Parametr     | Typ      | Výchozí  | Popis          |
| ------------ | -------- | -------- | -------------- |
| `resourceId` | `uuid`   | —        | ID souboru     |
| `linkedTo`   | `"file"` | `"file"` | Typ prostředku |

**Výstup** — `"Designové pokyny byly úspěšně odstraněny"`

***

## Nástroje Figmy

### `import-figma`

Importujte rámeček z Figmy do souboru Flowstep jako editovatelné prvky na jeho plátně. Opětovný import stejného rámečku ho aktualizuje na místě. Organizace souboru musí mít nejdřív připojenou Figmu v nastavení Flowstepu.

**Vstup**

| Parametr   | Typ      | Popis                                                                                                                                                                                                                                   |
| ---------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `figmaUrl` | `string` | Odkaz na konkrétní rámeček Figmy. V Figmě klikněte na rámeček pravým tlačítkem a vyberte **Copy link to selection**. Odkaz na stránku importuje všechny rámečky na nejvyšší úrovni na dané stránce (limitováno na 20 rámečků přes MCP). |
| `fileId`   | `uuid`   | Soubor Flowstep, do kterého se má rámeček importovat                                                                                                                                                                                    |

**Výstup** — `{ fileId, screenId }`. `screenId` je ID importovaného prvku obrazovky — předejte ho na `get-screen-image` a zobrazte si výsledek. Pokud odkaz na stránku importuje více rámečků, `screenId` je `null` a místo toho se vrací `frameCount`.

```json theme={"system"}
{
  "fileId": "5c2170f0-5b09-4a5a-ba7a-4d5c2cfb07e0",
  "screenId": "3f9e6eb6-5525-4383-9375-67e0bd762dbe"
}
```

***

## Nástroje pro fakturaci

### `get-plan-details`

Získejte plán aktuálního uživatele, stav předplatného a zbývající kvótu. Nevyžaduje vstup.

**Výstup**

```json theme={"system"}
{
  "plan": {
    "name": "Starter",
    "code": "starter",
    "type": "paid"
  },
  "subscription": {
    "isPaid": true,
    "isTrial": false,
    "startDate": "2025-01-01T00:00:00Z",
    "endDate": null,
    "trialDaysRemaining": null
  },
  "limits": {
    "messages": {
      "daily": { "max": 50, "warn": 40 },
      "monthly": { "max": 500, "warn": 400 },
      "unlimited": false
    }
  },
  "usage": {
    "messages": { "daily": 12, "monthly": 87 }
  },
  "remaining": {
    "messages": { "daily": 38, "monthly": 413 }
  }
}
```

Limity se liší podle tarifu. Zavolejte tento nástroj před dávkou generování, abyste zkontrolovali dostupnou kvótu.
