> ## 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.

# MCP टूल्स संदर्भ

> सभी 20 Flowstep MCP टूल्स के लिए इनपुट स्कीमा, आउटपुट आकार, और उदाहरण।

सभी टूल्स एक `content` सरणी मिलाता है MCP सामग्री ब्लॉक। पाठ टूल्स `{ type: "text", text: "<json-string>" }` मिलाता है। छवि टूल्स `{ type: "image", data: "<base64>", mimeType: "image/png" }` मिलाता है। विफलता पर, `isError: true` सेट किया जाता है और पाठ ब्लॉक त्रुटि संदेश रखता है।

***

## फ़ाइल टूल्स

### `list-files`

वर्तमान उपयोगकर्ता के लिए Flowstep फ़ाइलें सूचीबद्ध करें।

**इनपुट**

| Parameter         | Type              | Default | Description                           |
| ----------------- | ----------------- | ------- | ------------------------------------- |
| `orderByCreation` | `boolean`         | `true`  | निर्माण तारीख के अनुसार क्रमबद्ध करें |
| `limit`           | `integer` (1–100) | `20`    | लौटाई जाने वाली फ़ाइलों की संख्या     |
| `offset`          | `integer` (≥0)    | `0`     | पेजिनेशन ऑफ़सेट                       |

**आउटपुट** — फ़ाइल ऑब्जेक्ट की JSON सरणी।

```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`

ID के अनुसार एक एकल फ़ाइल प्राप्त करें। फ़ाइल सामग्री जानबूझकर छोड़ दी जाती है — स्क्रीन का निरीक्षण करने के लिए `get-screen` या `get-screen-image` का उपयोग करें, और संलग्न दिशानिर्देशों को पुनः प्राप्त करने के लिए `get-design-guidelines` का उपयोग करें।

**इनपुट**

| Parameter | Type   | Description |
| --------- | ------ | ----------- |
| `id`      | `uuid` | फ़ाइल ID    |

**आउटपुट** — JSON फ़ाइल ऑब्जेक्ट।

```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`

एक नई Flowstep फ़ाइल बनाएं।

**इनपुट**

| Parameter | Type             | Description |
| --------- | ---------------- | ----------- |
| `title`   | `string` (min 1) | फ़ाइल नाम   |

**आउटपुट** — नई फ़ाइल के `id` के साथ JSON फ़ाइल ऑब्जेक्ट।

```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"
}
```

बाद की टूल कॉल में `fileId` के रूप में लौटाई गई `id` का उपयोग करें।

***

### `update-file`

किसी फ़ाइल का नाम बदलें।

**इनपुट**

| Parameter | Type             | Description |
| --------- | ---------------- | ----------- |
| `id`      | `uuid`           | फ़ाइल ID    |
| `name`    | `string` (min 1) | नया नाम     |

**आउटपुट** — `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`

किसी फ़ाइल को स्थायी रूप से हटाएं। आप जो `name` पास करते हैं वह हटाने से पहले फ़ाइल के वास्तविक नाम के विरुद्ध सत्यापित किया जाता है — यदि यह मेल नहीं खाता है, तो हटाना रद्द कर दिया जाता है। यह गलती से गलत फ़ाइल को हटाने से रोकता है।

**इनपुट**

| Parameter | Type     | Description                                                                              |
| --------- | -------- | ---------------------------------------------------------------------------------------- |
| `id`      | `uuid`   | फ़ाइल ID                                                                                 |
| `name`    | `string` | फ़ाइल का वर्तमान नाम — हटाने के लिए बिल्कुल मेल खाना चाहिए या हटाना रद्द कर दिया जाता है |

**आउटपुट** — `"File deleted successfully"`

<Warning>
  यह अपरिवर्तनीय है। फ़ाइल में सभी स्क्रीन हटा दी जाती हैं।
</Warning>

***

## स्क्रीन टूल्स

### `list-screens`

किसी फ़ाइल के लिए सभी जेनरेट की गई स्क्रीन सूचीबद्ध करें। लौटाई गई `screenId` मानों का उपयोग `get-screen`, `get-screen-image`, `upload-attachment` में स्क्रीन को संदर्भित करने के लिए करें, और `edit-design`, `regenerate-design`, या `expand-design` में `targets` के रूप में।

**इनपुट**

| Parameter | Type   | Description |
| --------- | ------ | ----------- |
| `fileId`  | `uuid` | फ़ाइल ID    |

**आउटपुट** — स्क्रीन सारांश की JSON सरणी।

```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` उपयोगकर्ता-असाइन किया गया स्क्रीन नाम है, या अनाम होने पर `null`।

***

### `get-screen`

किसी स्क्रीन के लिए JSX कोड प्राप्त करें, जिससे आप कोड को Flowstep के बाहर संपादित या उपयोग कर सकें। दृश्य पूर्वावलोकन के लिए `get-screen-image` का उपयोग करें।

**इनपुट**

| Parameter  | Type   | Description                                                                                   |
| ---------- | ------ | --------------------------------------------------------------------------------------------- |
| `fileId`   | `uuid` | फ़ाइल ID                                                                                      |
| `screenId` | `uuid` | `list-screens` द्वारा लौटाया गया `screenId` या डिज़ाइन टूल द्वारा लौटाया गया `screenIds` सरणी |

**आउटपुट** — कोड के रूप में स्क्रीन (JSX)। `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`

किसी Flowstep फ़ाइल में कच्चे JSX स्ट्रिंग से एक नई स्क्रीन जोड़ता है।

**इनपुट**

| Parameter    | Type     | Description                                                                        |
| ------------ | -------- | ---------------------------------------------------------------------------------- |
| `fileId`     | `uuid`   | फ़ाइल ID                                                                           |
| `jsxContent` | `string` | JSX फ़ाइल में एक स्क्रीन के रूप में जोड़ने के लिए                                  |
| `screenType` | `string` | यदि स्क्रीन प्रकार JSX की शुरुआत में टिप्पणी के रूप में परिभाषित नहीं है तो आवश्यक |

**ध्यान दें** - निम्नलिखित के समान एक टिप्पणी JSX की पहली पंक्ति के रूप में मौजूद होनी चाहिए क्योंकि इसका उपयोग स्क्रीन को सही तरीके से जोड़ने के लिए किया जाता है। `screenType`, `name`, और `screenId` सभी वैकल्पिक हैं — `screenId` का उपयोग (आंतरिक रूप से) यदि मौजूद है (जैसे कि `get-screen` आउटपुट से कॉपी किए गए JSX को पास करते समय) लेकिन अनिवार्य नहीं है। स्क्रीन नाम टिप्पणी के `name` फ़ील्ड से लिया जाता है ("`<name>` की कॉपी" के रूप में प्रदर्शित), या अनुपस्थित होने पर "Untitled"।

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

**आउटपुट** — नई जोड़ी गई स्क्रीन ID।

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

***

### `get-screen-image`

किसी स्क्रीन को PNG पर रेंडर करें और इसे इनलाइन छवि के रूप में लौटाएं। छवि सामग्री ब्लॉक का समर्थन करने वाले क्लाइंट की आवश्यकता है।

**इनपुट**

| Parameter  | Type   | Description                                                                                   |
| ---------- | ------ | --------------------------------------------------------------------------------------------- |
| `fileId`   | `uuid` | फ़ाइल ID                                                                                      |
| `screenId` | `uuid` | `list-screens` द्वारा लौटाया गया `screenId` या डिज़ाइन टूल द्वारा लौटाया गया `screenIds` सरणी |

**आउटपुट** — MCP छवि सामग्री ब्लॉक (`image/png`)।

***

## AI टूल्स

<Warning>
  `regenerate-design`, `expand-design`, और `edit-design` को डिज़ाइन संदर्भ की आवश्यकता है जो केवल `designs` सरणी के साथ मूल रूप से जेनरेट की गई स्क्रीन पर मौजूद है। डिज़ाइन संदर्भ के बिना जेनरेट की गई स्क्रीन एक त्रुटि लौटाएंगी। वर्कअराउंड: स्क्रीन को छवि में रेंडर करने के लिए `upload-attachment` का उपयोग करें, फिर वांछित परिवर्तनों का वर्णन करने वाले संदेश के साथ `create-new-design` को कॉल करें।
</Warning>

### `create-new-design`

पाठ प्रॉम्प्ट से एक या अधिक स्क्रीन डिज़ाइन जेनरेट करें। नई फ़ाइल को स्वचालित रूप से बनाने के लिए `fileId` छोड़ दें। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।

**इनपुट**

| Parameter     | Type                              | Default | Description                                                                                                                                                |
| ------------- | --------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fileId`      | `uuid`                            | —       | लक्ष्य फ़ाइल — नई फ़ाइल को स्वचालित रूप से बनाने के लिए छोड़ दें                                                                                           |
| `message`     | `string`                          | —       | जेनरेट करने के लिए स्क्रीन का वर्णन करने वाला प्रॉम्प्ट                                                                                                    |
| `attachments` | `AttachmentRequestData[]` (max 5) | `[]`    | पूर्व-अपलोड किए गए अटैचमेंट — छवियाँ, PDF या कोड फ़ाइलें। हमेशा पहले `upload-attachment` के माध्यम से अपलोड करें; संदेश में फ़ाइल सामग्री को इनलाइन न करें |
| `designs`     | `DesignRequestData[]`             | `[]`    | डिज़ाइन संदर्भ                                                                                                                                             |

**आउटपुट** — `{ fileId, screenIds }`। परिणाम देखने के लिए प्रत्येक `screenId` को `get-screen-image` को पास करें।

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

***

### `regenerate-design`

मौजूदा स्क्रीन को शुरुआत से या शैली भिन्नता के साथ फिर से करें। `targets` में कम से कम एक `screenId` की आवश्यकता है। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।

**इनपुट**

| Parameter          | Type                                                        | Default | Description                                  |
| ------------------ | ----------------------------------------------------------- | ------- | -------------------------------------------- |
| `fileId`           | `uuid`                                                      | —       | लक्ष्य फ़ाइल                                 |
| `message`          | `string`                                                    | —       | प्रॉम्प्ट पाठ                                |
| `targets`          | `uuid[]` (min 1)                                            | —       | पुनर्जेनरेट करने के लिए स्क्रीन की screenIds |
| `operationVariant` | `"different_layout" \| "different_style" \| "from_scratch"` | —       | वैकल्पिक शैली भिन्नता                        |
| `designs`          | `DesignRequestData[]`                                       | `[]`    | डिज़ाइन संदर्भ (स्वचालित रूप से हल किया गया) |

**आउटपुट** — `{ fileId, screenIds }`। परिणाम देखने के लिए प्रत्येक `screenId` को `get-screen-image` को पास करें।

***

### `expand-design`

किसी मौजूदा डिज़ाइन में follow-on स्क्रीन जोड़ें। `targets` में कम से कम एक `screenId` और एक अनिवार्य `operationVariant` की आवश्यकता है। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।

**इनपुट**

| Parameter          | Type                                                                                                                                                           | Default | Description                                                 |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----------------------------------------------------------- |
| `fileId`           | `uuid`                                                                                                                                                         | —       | लक्ष्य फ़ाइल                                                |
| `message`          | `string`                                                                                                                                                       | —       | प्रॉम्प्ट पाठ                                               |
| `targets`          | `uuid[]` (min 1)                                                                                                                                               | —       | जेनरेट करने के लिए स्क्रीन की screenIds                     |
| `operationVariant` | `"next_screen" \| "error_state" \| "empty_state" \| "web_version" \| "mobile_version" \| "tablet_version" \| "mobile_ios_version" \| "mobile_android_version"` | —       | **आवश्यक** — जेनरेट करने के लिए follow-on स्क्रीन का प्रकार |
| `designs`          | `DesignRequestData[]`                                                                                                                                          | `[]`    | डिज़ाइन संदर्भ (स्वचालित रूप से हल किया गया)                |

**आउटपुट** — `{ fileId, screenIds }`। परिणाम देखने के लिए प्रत्येक `screenId` को `get-screen-image` को पास करें।

***

### `edit-design`

मौजूदा स्क्रीन को प्रॉम्प्ट के माध्यम से संशोधित करें। `targets` में कम से कम एक `screenId` की आवश्यकता है। जेनरेशन पूरा होने या समय सीमा समाप्त होने तक ब्लॉक करता है (180 सेकंड)।

**इनपुट**

| Parameter          | Type                                             | Default | Description                                                                         |
| ------------------ | ------------------------------------------------ | ------- | ----------------------------------------------------------------------------------- |
| `fileId`           | `uuid`                                           | —       | लक्ष्य फ़ाइल                                                                        |
| `message`          | `string`                                         | —       | लागू करने के लिए संपादन का वर्णन करने वाली निर्देश                                  |
| `targets`          | `uuid[]` (min 1)                                 | —       | संपादित करने के लिए स्क्रीन की screenIds                                            |
| `operationVariant` | `"dark_theme" \| "light_theme" \| "make_pretty"` | —       | वैकल्पिक शैली शॉर्टकट                                                               |
| `attachments`      | `AttachmentRequestData[]` (max 5)                | `[]`    | पूर्व-अपलोड किए गए अटैचमेंट। हमेशा पहले `upload-attachment` के माध्यम से अपलोड करें |
| `designs`          | `DesignRequestData[]`                            | `[]`    | डिज़ाइन संदर्भ (स्वचालित रूप से हल किया गया)                                        |

**आउटपुट** — `{ fileId, screenIds }`। परिणाम देखने के लिए प्रत्येक `screenId` को `get-screen-image` को पास करें।

***

### `upload-attachment`

`create-new-design` या `edit-design` में उपयोग के लिए किसी फ़ाइल को अपलोड करें। `{ id, path, type, mimeType }` लौटाता है — इस ऑब्जेक्ट को सीधे `attachments` सरणी में पास करें।

दो मोड:

**मोड 1 — ID के अनुसार स्क्रीन**

`screenId` और `fileId` पास करें। सर्वर डेटाबेस से स्क्रीन स्थिति को प्राप्त करता है और इसे छवि के रूप में रेंडर करता है।

| Parameter  | Type   | Description                  |
| ---------- | ------ | ---------------------------- |
| `fileId`   | `uuid` | स्क्रीन युक्त फ़ाइल (आवश्यक) |
| `screenId` | `uuid` | रेंडर करने के लिए स्क्रीन    |

**मोड 2 — बाहरी फ़ाइल**

फ़ाइल सामग्री सीधे पास करें। बाइनरी फ़ाइलें base64-एन्कोडेड होनी चाहिए; पाठ फ़ाइलें (स्रोत कोड सहित) सादा UTF-8 स्ट्रिंग के रूप में पास की जाती हैं।

| Parameter  | Type                                                                                                    | Description                                                                              |
| ---------- | ------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------- |
| `fileData` | `string`                                                                                                | फ़ाइल सामग्री — बाइनरी के लिए base64, पाठ के लिए UTF-8 स्ट्रिंग                          |
| `fileName` | `string`                                                                                                | मूल फ़ाइल नाम                                                                            |
| `mimeType` | `"image/jpeg" \| "image/png" \| "image/webp" \| "application/pdf" \| "text/plain" \| "text/javascript"` | MIME प्रकार। `.jsx`, `.tsx`, `.js`, `.ts` फ़ाइलों के लिए `text/javascript` का उपयोग करें |

अधिकतम फ़ाइल आकार: **3 MB**। बड़ी छवियों के लिए `image/webp` से अधिक `image/jpeg` पसंद करें।

**आउटपुट**

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

`type` छवि/PDF अपलोड के लिए `"image"` है और पाठ/कोड फ़ाइलों के लिए `"document"`।

***

## चैट टूल्स

### `get-chat-history`

किसी फ़ाइल के लिए चैट संदेश इतिहास प्राप्त करें।

**इनपुट**

| Parameter | Type   | Description |
| --------- | ------ | ----------- |
| `fileId`  | `uuid` | फ़ाइल ID    |

**आउटपुट** — `messages` सरणी वाला JSON ऑब्जेक्ट। प्रत्येक संदेश के पास `type` (`"request"` या `"response"`), `author` (`"human"` या `"ai"`), और `content_type` (`"text"`, `"summary"`, या `"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": []
    }
  ]
}
```

***

## डिज़ाइन टूल्स

### `get-design-guidelines`

किसी फ़ाइल के लिए संग्रहीत डिज़ाइन दिशानिर्देश प्राप्त करें।

**इनपुट**

| Parameter    | Type     | Default  | Description   |
| ------------ | -------- | -------- | ------------- |
| `resourceId` | `uuid`   | —        | फ़ाइल ID      |
| `linkedTo`   | `"file"` | `"file"` | संसाधन प्रकार |

**आउटपुट**

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

`guidelines` `null` है यदि कोई दिशानिर्देश सेट नहीं किए गए हैं।

***

### `update-design-guidelines`

किसी फ़ाइल के लिए डिज़ाइन दिशानिर्देश सेट या बदलें। दिशानिर्देश Google के `design.md` प्रारूप में सादे पाठ स्ट्रिंग के रूप में पास किए जाते हैं — ऑब्जेक्ट या JSON पास न करें।

सर्वर सॉफ़्ट सत्यापन करता है और प्रतिक्रिया में समस्याओं (अज्ञात कुंजियाँ, गैर-हेक्स रंग) को सूचीबद्ध करते हुए एक `Warnings:` अनुभाग लौटा सकता है जो स्वीकार किए गए थे लेकिन AI द्वारा अनदेखा किए जा सकते हैं। उपयोगकर्ता को ये दिखाएं।

**इनपुट**

| Parameter          | Type             | Default  | Description                                                                        |
| ------------------ | ---------------- | -------- | ---------------------------------------------------------------------------------- |
| `resourceId`       | `uuid`           | —        | फ़ाइल ID                                                                           |
| `designGuidelines` | `string` (min 1) | —        | दिशानिर्देश की कच्ची पाठ सामग्री। एक सादे स्ट्रिंग होनी चाहिए — JSON-एन्कोडेड नहीं |
| `linkedTo`         | `"file"`         | `"file"` | संसाधन प्रकार                                                                      |

**सत्यापन नियम**

* Frontmatter को सही तरीके से खोला और बंद किया जाना चाहिए
* Frontmatter पंक्तियाँ वैध block-style YAML होनी चाहिए
* Markdown निकाय में डुप्लिकेट `##` अनुभाग headings नहीं होना चाहिए

**आउटपुट** — `"Design guidelines updated successfully"`, वैकल्पिक रूप से `Warnings:` अनुभाग द्वारा पीछा किया गया।

***

### `delete-design-guidelines`

किसी फ़ाइल के लिए डिज़ाइन दिशानिर्देश साफ़ करें।

**इनपुट**

| Parameter    | Type     | Default  | Description   |
| ------------ | -------- | -------- | ------------- |
| `resourceId` | `uuid`   | —        | फ़ाइल ID      |
| `linkedTo`   | `"file"` | `"file"` | संसाधन प्रकार |

**आउटपुट** — `"Design guidelines deleted successfully"`

***

## Figma टूल्स

### `import-figma`

Figma फ़्रेम को Flowstep फ़ाइल में संपादन योग्य तत्वों के रूप में अपने कैनवास में आयात करें। एक ही फ़्रेम को फिर से आयात करने से यह स्थान पर अपडेट हो जाता है। फ़ाइल के संगठन को Flowstep सेटिंग्स में Figma से जुड़ा होना चाहिए।

**इनपुट**

| Parameter  | Type     | Description                                                                                                                                                                                                   |
| ---------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `figmaUrl` | `string` | किसी विशिष्ट Figma फ़्रेम का लिंक। Figma में, फ़्रेम पर राइट-क्लिक करें और **Copy link to selection** चुनें। पूरे पृष्ठ का लिंक उस पृष्ठ पर सभी शीर्ष-स्तर फ़्रेम को आयात करता है (MCP पर 20 फ्रेम तक सीमित)। |
| `fileId`   | `uuid`   | Flowstep फ़ाइल जिसमें फ़्रेम को आयात करना है                                                                                                                                                                  |

**आउटपुट** — `{ fileId, screenId }`। `screenId` आयात की गई स्क्रीन तत्व की id है — परिणाम देखने के लिए इसे `get-screen-image` को पास करें। जब पृष्ठ URL कई फ़्रेम आयात करता है, तो `screenId` `null` है और `frameCount` इसके बजाय लौटाया जाता है।

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

***

## बिलिंग टूल्स

### `get-plan-details`

वर्तमान उपयोगकर्ता की योजना, सदस्यता स्थिति, और शेष कोटा प्राप्त करें। इनपुट नहीं लेता है।

**आउटपुट**

```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 }
  }
}
```

योजनाओं के अनुसार सीमाएँ भिन्न होती हैं। उपलब्ध कोटा जांचने के लिए जेनरेशन के बैच को शुरू करने से पहले इस टूल को कॉल करें।
