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

# استخدام الأدوات

> ما هي الأدوات، ولماذا لا تستدعي واحدة بنفسك أبدًا، وماذا تفعل حين تقول إحداها لا. مكتوب للناس، لا للمهندسين.

يسرد [مرجع الأدوات](/docs/docs/tools/image-generation) كل ما يستطيع هذا المشروع
فعله، بالشكل الذي تقرأه الذكاء الاصطناعي. وهذه الصفحة هي النسخة المخصّصة لك.

<Note>
  لا شيء هنا يطلب منك كتابة شيفرة أو كتابة JSON أو تعلّم واجهة برمجية. إن كنت
  قد طلبت من شخص «افتح سير عمل البورتريه لدي وارفع الخطوات إلى 30»، فأنت تعرف
  الواجهة أصلًا.
</Note>

## الأداة شيء يستطيع الوكيل فعله، لا شيء تكتبه أنت

وحده، لا يستطيع نموذج الدردشة إلا إنتاج نص. يستطيع وصف سير عمل؛ ولا يستطيع فتح
واحد.

**الأداة** إجراء محدّد ومسمّى نسلّمه للنموذج حتى يصل فعلًا إلى ComfyUI لديك —
تحميل ملف، وإدراج معالجة في قائمة الانتظار، وتثبيت حزمة عقد، والنظر إلى الصورة
التي خرجت. ولا يحق للنموذج اختراع هذه الإجراءات. يحصل على قائمة ثابتة، وكل
عنصر في القائمة يقول بالضبط ما يحتاجه.

**لا تختار أنت من تلك القائمة أبدًا.** تقول ما تريد، بالكلمات التي تأتي
طبيعيًا، ويختار الوكيل.

| تقول أنت                                      | يشغّل بهدوء                                                    |
| --------------------------------------------- | -------------------------------------------------------------- |
| «ماذا لدي محفوظًا؟»                           | `get_workflow` with `action: "list"`                           |
| «افتح ذلك الخاص بالبورتريه وأخبرني ماذا يفعل» | `get_workflow` with `action: "list"`, then `action: "analyze"` |
| «اصنع لي ثعلبًا أحمر في الثلج»                | `generate_image` (the `image` job)                             |
| «هل انتهى بعد؟»                               | `queue` (the `list` job)                                       |
| «فشل ذلك ولا أفهم السبب»                      | `get_history` (the `diagnose` job)                             |
| «نصف العقد حمراء»                             | `list_packs` (the `install_deps` job)                          |
| «نفدت مساحة القرص، ما الكبير؟»                | `list_local_models`                                            |

لاحظ الصف الثاني: جملة واحدة، أداتان، بترتيب لم يكن عليك معرفته. وهذا بيت القصيد
من الترتيب كله. لا يُتوقَّع منك أن تعرف أن إيجاد ملف وقراءة ملف عمليتان منفصلتان.

<Tip>
  يمكنك أن تكون مبهمًا كما تشاء. «شيء ما معطوب» بداية ممتازة تمامًا — سيبدأ
  الوكيل بـ `get_system_stats (action:"health")` ثم يضيّق. والدقة توصلك أسرع،
  لكنها ليست مطلوبة أبدًا.
</Tip>

### إذًا، ما فائدة كل هذا JSON في صفحات المرجع؟

تعرض كل صفحة أداة كتلة كهذه:

```json theme={null}
{
  "tool": "generate_image",
  "arguments": {
    "prompt": "a red fox in deep snow, golden hour, sharp focus",
    "steps": 30
  }
}
```

هذا محضر لما أرسله الوكيل، لا تعليمات لك. قلت «اصنع لي ثعلبًا أحمر في الثلج،
وضع قليلًا أكثر من التفصيل فيه»؛ وهذا ما خرج من الطرف الآخر.

يستحق أن تستطيع قراءة واحدة، لسببين: حين تريد التحقّق من أن الوكيل فهمك، وحين
يسير شيء على نحو خاطئ وتصفه لشخص آخر. ولا يستحق الحفظ عن ظهر قلب.

## تأتي الأدوات من مكانين

هناك سطحان، وهما موجودان لأنهما يجيبان عن أسئلة مختلفة.

<CardGroup cols={2}>
  <Card title="اللوحة الجانبية" icon="window-maximize">
    تعيش **داخل ComfyUI**، في تبويب الوكيل. أدواتها (`panel_*`) تعمل على المخطط
    الذي تنظر إليه الآن — لوحة الرسم الفعلية، بتغييراتك غير المحفوظة عليها.
  </Card>

  <Card title="عميل خارجي" icon="terminal">
    Claude Desktop، أو Claude Code، أو محرّر، أو هاتفك. أدواته تعمل على
    **الخادم**: ملفات على القرص، وقائمة انتظار المهام، والنماذج، وحزم العقد،
    وعملية ComfyUI نفسها.
  </Card>
</CardGroup>

الانقسام في الحقيقة عن كلمة «هذا». حين تقول «أضف ملف LoRA إلى **هذا**»، تعرف
اللوحة ما هو «هذا»، لأنها ترى شاشتك. أمّا عميل خارجي فلا يستطيع — يجب أن يُخبَر
باسم ملف.

لذا تتولّى اللوحة أشياء مثل:

* قراءة المخطط أمامك (`panel_graph_outline`)
* تشغيله، تمامًا كما لو ضغطت Queue Prompt بنفسك (`panel_run`)
* توصيل عقدة، وتغيير عنصر تحكّم، وإخبارك لماذا احمرّت عقدة (`panel_add_node`،
  `panel_set_widget`، `panel_get_errors`)
* تحميل سير عمل كامل على لوحة الرسم، أو حفظ ما هناك (`panel_load_workflow`،
  `panel_save_workflow`)

ويتولّى عميل خارجي أشياء مثل توليد صورة من الصفر، وإدارة النماذج وحزم العقد،
والعمل عبر الملفات المحفوظة، وإعادة تشغيل ComfyUI.

<Tip>
  **إن كنت جديدًا، استخدم اللوحة.** تثبيت واحد، وهي هناك بجانب مخططك، ولا تحتاج
  إلى تطبيق منفصل. راجع [دليل اللوحة](/docs/docs/ar/panel) لإعدادها. أضف عميلًا خارجيًا
  لاحقًا، حين تريد إشراك الوكيل في أشياء ليست لوحة رسم.
</Tip>

وليسا متنافسين — فاللوحة تتحدّث إلى الخادم نفسه في الأسفل، ويمكن لجلسة أن تستخدم
كليهما. شخص يحرّر مخططًا على سطح مكتبه بينما يقود هاتف الجلسة نفسها أمر مدعوم،
لا حيلة.

## أداة واحدة، عدّة مهام

ستلاحظ أن بعض الأدوات تأخذ `action`:

```json theme={null}
{ "tool": "workspace", "arguments": { "action": "get" } }
```

يبدو هذا مبهمًا وليس كذلك. `workspace` موضوع — *أي تثبيت ComfyUI نتحدّث عنه* —
و`action` تقول أي سؤال تطرحه عن ذلك الموضوع: اقرأه، أو غيّر الافتراضي، أو اسرد
ما هو متاح.

يُقرأ تمامًا كالكلام العادي، حيث الفعل والمفعول كلمتان منفصلتان:

| تقول أنت                               | Action        |
| -------------------------------------- | ------------- |
| «أي ComfyUI أستخدم؟»                   | `get`         |
| «استخدم دائمًا ذلك الذي على قرص D لدي» | `set_default` |
| «أي تثبيتات تستطيع رؤيتها؟»            | `list`        |

### لم يُحذف شيء

هذا الشكل جديد نوعًا ما، ويسهل قراءته على أنه اقتطاع للقدرة. وهو ليس كذلك،
والخلط يستحق صرفه مباشرة، لأنه ظهر فعلًا.

كان هناك أداة واحدة لكل سؤال — اسم منفصل لقراءة مساحة عمل، وآخر لضبطها، وآخر
لسردها. اختفت تلك الأسماء، وإن راقبت عدد الأدوات ستراه يهبط، بحدّة.

ما حدث فعلًا هو أن الأدوات ذات الصلة **دُمجت**، لا حُذفت:

| The old name                    | The same thing today                        |
| ------------------------------- | ------------------------------------------- |
| `get_workspace`                 | `workspace` with `action: "get"`            |
| `get_queue`                     | `queue` with `action: "list"`               |
| `apps_run_status`               | `apps` with `action: "run_status"`          |
| `install_workflow_dependencies` | `list_packs` with `action: "install_deps"`  |
| `list_workflows`                | `get_workflow` with `action: "list"`        |
| `analyze_workflow`              | `get_workflow` with `action: "analyze"`     |
| `validate_workflow`             | `create_workflow` with `action: "validate"` |

الشيفرة نفسها في الأسفل، والسلوك نفسه، والإجابات نفسها. تغيّرت اللافتة في الواجهة
فقط.

والسبب أن القائمة طالت بما يكفي لتؤذي. يجب تسليم الوصف الكامل لكل أداة إلى النموذج
قبل أن يستطيع الاختيار، وبعد حجم معيّن يتدهور الاختيار نفسه — فالنماذج الأصغر
خصوصًا تبدأ باختيار جار يبدو معقولًا بدل الصحيح. أدوات أقل وأوسع مع `action`
واضحة تصلح ذلك قياسًا. ويعني أيضًا أن النموذج ينفق انتباهه على طلبك بدل قراءة
كتالوج.

لا ينبغي أن تلاحظ أيًا من هذا. لم تكتب الاسم القديم أنت أيضًا؛ كنت تقول «أي
ComfyUI أنا عليه؟»، وما يزال ذلك يعمل.

<Note>
  إن مدّ دليل أقدم أو ذاكرة النموذج نفسه يده إلى اسم لم يعد موجودًا، تحصل على
  خطأ محدّد يسمّي البديل بدل «unknown tool» فارغ — مثلًا: *removed in 0.49.0.
  Call workspace (action:"get") instead.* ويستطيع الوكيل عادة تصحيح نفسه وإعادة
  المحاولة دون أن تفعل شيئًا.
</Note>

## طلب شيء مختلف

تسرد كل صفحة أداة معاملات — `max_chars`، `limit`، `depth`، `fields`. وسؤال عادل
أين يُفترَض أن تكتبها، والإجابة الصادقة: في أي مكان. لا يوجد مربع إعدادات لـ
`max_chars`، لأنه ليس إعدادًا. إنه وسيط يملؤه **الوكيل**، من جديد، في كل مرة
يستدعي الأداة.

وهذا لا يخرجك من الأمر. إنه يغيّر شكل التحكّم:

<Note>
  لا تضبط معاملًا. تطلب واحدًا — في الجملة نفسها التي كنت ستكتبها على أي حال.
</Note>

### طريقتان للطلب

كلاهما يعمل. يفشلان على نحو مختلف، وهذا السبب الوحيد لمعرفة الاثنين.

|          | يبدو كـ                                                         | امدد يدك إليه حين                                            |
| -------- | --------------------------------------------------------------- | ------------------------------------------------------------ |
| **عادي** | «اقرأ العقدة 42 بالتفصيل — تلك العقدة فقط، لا المخطط كله.»      | ابدأ دائمًا من هنا. هذا ما يكتبه الناس فعلًا، وعادة ما يعمل. |
| **صريح** | «استخدم `panel_query_graph` مع `ids` \[42] و`max_chars` 20000.» | أخطأ النموذج مرة أصلًا وتريد ألا تترك له مجالًا.             |

تسمية الأداة والوسيط ليست الشكل *الصحيح* — إنها الشكل *القسري*. أبقها لإعادة
المحاولة.

### عندما تُقطع الإجابة

تُسقَف القراءات الطويلة حتى لا يبتلع مخطط هائل المحادثة كلها. ويمكن لسقفين
مختلفين أن يوقفا القراءة نفسها — عدد العقد المسرودة (`limit`) وميزانية الأحرف
(`max_chars`) — ورفع الذي لم يكن المشكلة لا يغيّر شيئًا، وهذا يُقرأ تمامًا كما لو
أن إعادة المحاولة فشلت.

لا يُتوقَّع منك أن تعرف أيهما. على ملف محفوظ، **تسمّي الملاحظة الذراع الذي أُطلق
وتستبعد الآخر**، بالحرف:

> … truncated at 40 of 300 by `limit`=40 — raise `limit` up to 200, or narrow with `types`/`where`/`ids`/`depth`. `max_chars` is not the constraint here.

وحين تكون الذراع أصلًا عند سقفها تقول ذلك بدل أن ترسلك لرفعها مجددًا، لأنه لم
يتبقَّ شيء لرفعه.

<Note>
  على لوحة الرسم الحيّة (`panel_query_graph`) تُنفَّذ القراءة نفسها بنسخة اللوحة
  الخاصة من هذا المحرّك، التي لم تلحق بعد بتلك الصياغة. إن سمّت ملاحظة هناك وسيطًا
  ورفعه لم يغيّر شيئًا، جرّب الآخر قبل أن تستنتج أن الأداة معطوبة.
</Note>

يُفترَض أن يقرأ الوكيل ملاحظته ويعيد المحاولة وحده. وحين لا يفعل، تكون أنت
الاحتياطي، وهذه هي الجملة:

> قُطع ذلك — اقرأ الملاحظة وأعد الاستعلام نفسه، رافعًا الحد الذي تسمّيه.

### أين تقع الجدران

هذه الأرقام للأداتين اللتين تقرآن مخططًا بميزانية — `panel_query_graph` (لوحة
الرسم الحيّة) و`get_workflow` مع `action: "query"` (ملف محفوظ):

| الوسيط               | الافتراضي | أكثر ما يمكنك طلبه |
| -------------------- | --------- | ------------------ |
| `max_chars`          | 12000     | 60000              |
| `limit` (عقد مسرودة) | 40        | 200                |

على هاتين الأداتين، يُرفَض الطلب بعد سقف كوسيط غير صالح بدل أن يُقرَّب بهدوء إلى
الأسفل، فيعلم الوكيل فورًا ويستطيع تصحيح نفسه. والأرقام ليست عامة أيضًا: تأخذ
عدّة أدوات أخرى `max_chars` وتضع سقفها الخاص، المذكور في وصف تلك الأداة.

### النطاق يتفوّق على الميزانية

رفع السقف هو الشيء الثاني الذي تجرّبه، لا الأول. على سير عمل من 600 عقدة، تشتري
ميزانية أكبر في الغالب المزيد من العقد الخاطئة، ودفن الإجابة بين مئات غير ذات
صلة يفسد الرد حتى حين تتسع تقنيًا.

ضيّق أولًا، بالكلمات التي تأتي طبيعيًا:

| تقول أنت                        | ما الذي يضيّقه إلى        |
| ------------------------------- | ------------------------- |
| «انظر فقط إلى العقدتين 42 و43.» | تلك المعرّفات فقط         |
| «ما الذي يغذّي العيّنة؟»        | الجانب الصاعد لعقدة واحدة |
| «…قفزتان فقط إلى الخلف.»        | مسافة محدودة من هناك      |
| «كم من كل نوع عقدة هنا؟»        | أعداد بدل سرد             |

ثم، إن ظلّت مقطوعة، وسّع.

## عندما يقول لا

رفض أداة ليس عادة خطأً. فمعظم الرفض حارس أُطلق لأن الاستدعاء كان سيفعل شيئًا لم
تطلبه.

### «رفض ولا أعرف السبب»

سترى نصًا بلغة واضحة بدل تتبّع مكدّس — شيئًا يسمّي ما لم يرد فعله وما تفعله بدل
ذلك. اقرأه على أن الوكيل حذر، لا عالق. رفض صادق شائع:

* **لا يستطيع تمييز أي سير عمل تقصد.** أكثر من تبويب مفتوح، أو ليس للمخطط هوية
  محفوظة بعد. احفظه، أو قل أيّهما.
* **كان سيستبدل شيئًا.** اطلب اسم ملف جديدًا فيمضي.
* **الشيء غير موجود فعلًا.** ملف نموذج، أو حزمة عقد، أو خادم قيد التشغيل.

إن قُرئ رفض كهذيان لا كحذر، فهذا يستحق الإبلاغ — اطلب من الوكيل تقديمه، فسيرفق
تفاصيل إعدادك نيابة عنك.

### «هذه اللوحة قديمة جدًا»

أشيع رفض له إصلاح حقيقي. يُقرأ تقريبًا هكذا:

> This ComfyUI-MCP panel is too old for *"…"* — update the ComfyUI-MCP panel, then reconnect.

اللوحة الجانبية وهذا الخادم قطعتان منفصلتان تُشحنان منفصلتين، فيمكن لإحداهما أن
تتأخّر عن الأخرى. وحين يطلب الخادم شيئًا لا تستطيع اللوحة المثبَّتة فعله بأمان،
يرفض بدل التخمين — فلوحة قديمة لا تستطيع تأكيد *أي* سير عمل تهبط عليه أمر قد
تطبّق تعديلك على التبويب الخطأ، فتُحبَس على القراءات حتى تُحدَّث.

الإصلاح ثلاث خطوات، و**الثالثة هي التي يتخطّاها الناس**:

<Steps>
  <Step title="حدّث اللوحة">
    اطلب من الوكيل تحديثها (`install_comfyui(action:'panel', panel_action:'update')`)، أو افعلها
    من ComfyUI-Manager، حيث تُدرَج باسم `comfyui-agent-panel`.
  </Step>

  <Step title="أعد تشغيل ComfyUI">
    التحديث لا يعيد تشغيل أي شيء وحده. اطلب من الوكيل، أو أعد تشغيله بنفسك.
  </Step>

  <Step title="حدّث تبويب متصفح ComfyUI تحديثًا قسريًا">
    **Ctrl+Shift+R** (**Cmd+Shift+R** على Mac). يخزّن متصفحك شيفرة اللوحة القديمة،
    وإعادة التشغيل وحدها لن تهزّها. تخطَّ هذه فيعود الرسالة نفسها فورًا، ولهذا يبدو
    أن التحديث فشل حين لم يفعل.
  </Step>
</Steps>

### «لا توجد لوحة متصلة»

مشكلة مختلفة، ورسالة متشابهة المظهر. تعني أن الوكيل الخارجي لا يجد تبويب متصفح
ComfyUI لديك. ويكاد يكون دائمًا واحدًا من:

* ComfyUI غير مفتوح في متصفح أصلًا — افتحه وانظر إلى تبويب الوكيل في الشريط الجانبي.
* أُعيد تشغيل ComfyUI للتو، أو أعدت تحميل التبويب. ذلك يسقط الاتصال. **أعد تحميل
  تبويب ComfyUI** فيعود فورًا.
* تبويب الوكيل مفتوح لكنه لم يتصل أبدًا. تلتصق اللوحة حين تختار مزوّدًا وتنقر
  **اتصال**، لا عند التحميل أبدًا، فتبويب مفتوح حديثًا لا يعرض شيئًا هو الحالة
  العادية لا عطلًا.
* اللوحة غير مثبَّتة بعد. راجع [دليل اللوحة](/docs/docs/ar/panel).

تقسّم الرسالة هذه إلى مجموعتين لك — تميّز «اتصل سابقًا وسقط» عن «لم يتصل شيء بعد».
ولا تذهب أبعد من ذلك، وتقول ذلك بدل اختيار سبب لا سبيل لها إلى رصده. وتبويب اتصل
سابقًا يثبت أن اللوحة مثبَّتة وكانت تعمل، فإعادة تحميل تبويب ComfyUI أول شيء تجرّبه
وعادة الشيء الوحيد؛ وإن لم يُعد التحميل إياها، عاملها كالمجموعة الثانية وانزل فحوصات
أعلاه.

## عندما لا يقول شيئًا

الفشل الأصعب هو الذي لا خطأ فيه على الإطلاق. لا يستدعي الوكيل أداة، ولا يرفض، ولا
يشكو. يكتفي بالكلام: يصف ما يحتويه سير عملك على الأرجح، أو يعرض كتابة سكربت لك.
يبدو مفيدًا، ولم ينظر إلى أي شيء أبدًا.

ثلاث حالات مختلفة تمامًا تنتج ذلك السلوك نفسه، ومن حيث تجلس لا يمكن تمييزها:

<CardGroup cols={3}>
  <Card title="غائبة" icon="circle-minus">
    لم يحصل عميلك على الأدوات أصلًا. ليست في القائمة التي يسلّمها للنموذج، فلا
    يوجد ما يُستدعى.
  </Card>

  <Card title="محجوبة" icon="hand">
    لدى عميلك الأدوات ولن يدع النموذج يشغّلها. يُوقَف الاستدعاء داخل عميلك.
  </Card>

  <Card title="لم تُطلب" icon="eye-slash">
    كل شيء يعمل. الشيء الذي أردته موجود تحت اسم لم يرد ذكره قط، فلم يمد أحد يده
    إليه.
  </Card>
</CardGroup>

تشير العلاجات إلى ثلاثة اتجاهات مختلفة، واثنان منها ضارّان فعلًا إن خمّنت خطأً:
إعادة تثبيت ما هو مثبَّت أصلًا، أو تخفيف أذونات لم تكن المشكلة. لذا فالخطوة الأولى
ليست إصلاح أي شيء. إنها معرفة أي حالة أنت فيها.

### سؤالان يفرّقان بينها

اسأل الوكيل، بكلمات واضحة:

<Steps>
  <Step title="اسأل عمّا يستطيع رؤيته">
    > ما الأدوات التي لديك من comfyui-mcp؟ اسرد الأسماء فقط.

    قائمة بعشرات الأسماء أمر طبيعي وصحي — هذا هو السطح المباشر، وهو الافتراضي منذ
    0.50.0.

    **ثلاثة أسماء** — `list_tools`، `describe_tool`، `call_tool` — *أيضًا* طبيعية
    وصحية. هذا هو [الوضع المضغوط](#إذا-كنت-تشغّل-نموذجًا-محليًا-صغيرًا)،
    الذي تحصل عليه بتمرير `--compact`، والذي ما تزال النماذج المحلية الصغيرة
    تختاره تلقائيًا. وبقية الكتالوج على بعد استدعاء `list_tools` واحد، فاسأله
    بتشغيل ذلك وسترى القائمة الحقيقية. ولا تعني أي إجابة أن شيئًا محجوب.

    **لا أسماء على الإطلاق**، أو «ليست لدي أي أدوات لـ ComfyUI»، تستبعد الحالة
    الثالثة ولا شيء غيرها. وهي **لا** تعني غائبة. يمكن لسياسة أذونات أن تحجب
    الأدوات عن القائمة التي يُعرَض للنموذج، فخادم مثبَّت ومتصل ويعمل ينتج هذه
    الإجابة بالضبط. والغائبة والمحجوبة لا يمكن تمييزهما في هذه الخطوة، وهذا هو
    الفرع الذي كلّف مستخدمًا أيامًا — لكونه واثقًا أنه التوصيل.

    فحص واحد يضيّق، وهو ليس شيئًا يستطيع الوكيل رؤيته: **افتح قائمة خوادم MCP
    الخاصة بعميلك** — المكان الذي يعرض أي خوادم اتصل بها، وهي قائمة مختلفة عن
    الأدوات التي يسلّمها للنموذج.

    * **comfyui-mcp ليس هناك، أو يظهر فاشلًا** → **غائبة**. مشكلة توصيل من جانب
      العميل، لا عطل لوحة أو خادم. وتنقسم مجددًا إلى اثنتين — لم يُوصَل قط، أو
      مضيف لا يستطيع حملها أصلًا — والقائمة
      [أدناه](#من-أين-تأتي-كل-إجابة-عادةً) تفرّق بينهما.
    * **موجود ومتصل، وما يزال النموذج لا يسرد شيئًا** → وصلت الأدوات إلى عميلك.
      وأين توقّفت بعد ذلك ما يزال مفتوحًا: قد تُحجَب عن النموذج بقاعدة أذونات، أو
      ربما فشل النموذج ببساطة أو رفض سردها، وهذا يبدو متطابقًا من هنا. **لا** تبدأ
      بتخفيف الأذونات على هذا وحده.

      إن أظهرت قائمة الخوادم تلك أيضًا **أي أدوات أخذتها من comfyui-mcp**، فهذا
      يحسمه: أدوات مسرودة هناك لا لدى النموذج تعني أن النموذج هو المشكلة، لا
      أذوناتك؛ ولا شيء مسرود هناك يعني أنها تُصفَّى قبل أن يراها النموذج. وإن لم
      يعرض عميلك ذلك — وكثير لا يفعل — فلا شيء في متناولك يميّز الاثنين هنا،
      والخطوة 2 فرصة أفضل، لأن الرفض يعود بكلمات.
  </Step>

  <Step title="اطلب منه أن يجرّب، وأن يبلّغ حرفيًا">
    > الآن استدعِ تلك التي تستخدمها للشيء الذي لا يعمل، والصق بالضبط ما يعود —
    > بما في ذلك أي خطأ. لا تلتف حوله.

    تفصيلان في تلك الجملة يقومان بالعمل.

    **الأداة التي تستخدمها للشيء الذي لا يعمل**، تحديدًا. فقواعد الأذونات تُكتب
    عادة لكل أداة، فنجاح أداة مختلفة لا يثبت شيئًا عن تلك التي تهتم بها — وهذا
    بالضبط كيف يختبئ حجب. إن كانت لوحة الرسم هي ما لا يُقرأ، يجب أن يكون الاختبار
    قراءة لوحة رسم.

    **لا تلتف حوله.** نمط الفشل كله وكيل يلتف بهدوء حول عائق بدل تسميته، وإن تُرك
    لنفسه سيفعل ذلك مجددًا.

    * **نتيجة حقيقية** — تلك الأداة تعمل. أنت في الحالة الثالثة.
    * **«رُفض ذلك» / «غير مسموح» / «أحتاج إلى إذن»** — **محجوبة**، داخل عميلك.
      وهذا قاطع: سأل الوكيل ورُفض.
    * **«ليست لدي تلك الأداة»** — غائبة *أو* محجوبة، ما تزال. أداة محجوبة وأداة
      ناقصة تبدوان متطابقتين من مقعد النموذج، فلا تتصرف على هذا وحده: أعده إلى
      قائمة خوادم الخطوة 1، وإن لم تُظهر تلك القائمة أدوات لكل خادم أيضًا، فلا شيء
      تصل إليه يفرّق الاثنين والخطوة الصادقة التالية هي السؤال في متتبّع المشكلات
      بدل البدء بتغيير الإعدادات.
    * **المزيد من النثر، وما يزال لا استدعاء** — اسأل بصراحة: *«هل استدعيت أداة؟
      إن لم تفعل، لماذا؟»* ووكيل يراوغ مرتين يعمل عادة حول شيء لم يذكره.
  </Step>
</Steps>

### ما نستطيع رؤيته من هنا، وما لا نستطيع

<Warning>
  حين يرفض عميلك استدعاء أداة، لا يغادر ذلك الاستدعاء عميلك أبدًا. لا يصل شيء إلى
  هذا الخادم، فلا يظهر شيء في سجله ولا يُنتَج خطأ في أي مكان نصل إليه. لا نستطيع
  كشف حجب، ولن نتظاهر بذلك: أي صفحة أو رسالة تدّعي إخبارك «حجب عميلك هذا» ستكون
  تخمينًا.
</Warning>

الواقعة نفسها تقطع الاتجاه الآخر، وهذا الجزء الذي يضلل الناس: سجل صامت ليس دليلًا
على أنه لم يُحاوَل شيء. فالغائبة والمحجوبة ولم-تُطلب كلها تبدو صمتًا من هنا.

ولهذا فإن السؤالين أعلاه هما التشخيص الحقيقي. يعملان لأنهما يسألان المشارك الوحيد
الذي *كان* في الغرفة — وكيلك — أن يقول ما جرّبه، ويرفضان خيار الالتفاف حول الإجابة.

### من أين تأتي كل إجابة عادةً

**محجوبة — قواعد أذونات عميلك نفسه.** في Claude Code ذلك هو كتلة `permissions`
في `settings.json` (`~/.claude/settings.json`، أو `.claude/settings.json` الخاص
بالمشروع)؛ وتظهر أدوات MCP هناك بأسمائها ذات النطاق، `mcp__comfyui__<tool>`.
وقائمة `allow` صارمة لا تذكرها أبدًا توقف كل استدعاء قبل إرساله. وهذه الحالة التي
كلّفت مستخدمًا عدّة أيام: بدت الأدوات كأنها تعمل، بالضبط لأن الأخطاء التي كان
يطاردها لم يكن ممكنًا أن تظهر.

**غائبة، وقابلة للإصلاح — لم يُوصَل قط.** يتحدّث العميل MCP لكنه لم يُخبَر عن هذا
الخادم، أو أُخبر والمدخل خاطئ. وهذه الشائعة وهي تعديل إعدادات؛ راجع
[البدء السريع](/docs/docs/ar/quickstart) للمدخل الذي يتوقّعه عميلك.

**غائبة، وغير قابلة للإصلاح — مضيف بلا عميل MCP أصلًا.** بعض الوكلاء لا تتحدّث
MCP، ولا يغيّر أي قدر من الإعداد ذلك. `pi` واحد منها: لديه أدوات صدفة ومحرّر مدمجة
خاصة به ولا عميل MCP، فلا يمكن تسليمه أدواتنا مهما ثُبِّت غيره. وتقول اللوحة ذلك
صراحة حين تختاره — *«ليس لدى pi أدوات ComfyUI (لا يوجد MCP)»*. وذلك السطر هو
الإجابة، لا عَرَضًا لتشخيصه؛ والإصلاح اختيار خلفية مختلفة.

**إمّا — شيء يجلس في الوسط.** بوابة أو وكيل أو موجّه يحمل حركة MCP لديك قد يمرّر
جزءًا فقط من السطح. إن اختلف الكتالوج وعمّا يعمل فعلًا، اشتبه في الوسط.

### إن تبيّن أنها الحالة الثالثة

عندها لم يكن شيء معطوبًا ولم يُخطئ أحد في الإعداد: كانت قدرة موجودة ولم يكن لديك
سبيل لمعرفة ذلك. وهذا فشلنا لا فشلك، ويستحق إخبارنا — اطلب من الوكيل تقديمه
فسيرفق إعدادك نيابة عنك. ميزة لا يستطيع أحد إيجادها هي، من حيث تجلس، ميزة لم
نشحنها.

## إذا كنت تشغّل نموذجًا محليًا صغيرًا

تسليم القائمة كلها لنموذج يكلّف كثيرًا من القراءة قبل أن يقول كلمة. وعلى نموذج
مستضاف كبير هذا مقبول. وعلى نموذج صغير يعمل على جهازك غالبًا ما يكون الفرق بين
العمل وعدمه.

لذا فافتراضيًا يحصل الوكيل على **ثلاث** أدوات بدل المجموعة الكاملة: واحدة لتصفّح
الكتالوج، وواحدة للنظر في أداة واحدة بالتفصيل، وواحدة لتشغيلها. يجلب ما يحتاجه،
حين يحتاجه، بدل قراءة كل شيء مقدمًا.

لا تحتاج إلى فعل أي شيء للحصول على هذا — إنه الافتراضي. والضوابط موجودة إن أردتها:

```bash theme={null}
# force the small three-tool mode
npx -y comfyui-mcp --compact

# or hand the model everything at once
npx -y comfyui-mcp --full
```

ويمكن ضبط أي منهما أيضًا بـ `COMFYUI_MCP_TOOL_MODE=compact` أو
`COMFYUI_MCP_TOOL_MODE=full`.

المقايضة جولتان إضافيتان قبل أول إجراء حقيقي، مقابل نموذج يبقى لديه متسع للتفكير.
وعادة ما تكون النماذج الكبيرة أسعد مع `--full`. راجع [النماذج المحلية](/docs/docs/ar/local-llms)
لمعرفة أي النماذج تتحمّل أي وضع.

## إلى أين بعد ذلك

<CardGroup cols={2}>
  <Card title="البدء السريع" icon="rocket" href="/docs/docs/ar/quickstart">
    ثبّته وولّد أول صورة لك.
  </Card>

  <Card title="اللوحة الجانبية" icon="window-maximize" href="/docs/docs/ar/panel">
    وكيل ComfyUI الداخلي، وما يستطيع فعله بلوحة رسمك.
  </Card>

  <Card title="مرجع الأدوات" icon="book" href="/docs/docs/tools/image-generation">
    كل أداة، مع أمثلة عملية لما يبدو عليه استدعاء حقيقي.
  </Card>

  <Card title="حل المشكلات" icon="wrench" href="/docs/docs/ar/troubleshooting">
    حين لا يكون رفضًا وشيء معطوب فعلًا.
  </Card>
</CardGroup>
