# الوكلاء وMCP

> شغّل mailctl من Claude Code أو أي عميل MCP، دون إعطاء الوكيل بيانات اعتماد.

يعمل mailctl مع وكيل ذكاء اصطناعي دون أن يسلّمه مزوّديك. يبقى الملف التنفيذي هو المحرّك: plan وapply وaudit وimport شيفرة Go حتمية لا تستهلك أي رموز. يقود الوكيل الملف التنفيذي عبر JSON ويشرح النتيجة. ولا يستدعي واجهة أي مزوّد بنفسه، ولا يرى أي بيانات اعتماد أبدًا.

## التثبيت في Claude Code

المستودع هو سوق الإضافات الخاص به:

```console
/plugin marketplace add zoolcoder/mailctl
/plugin install mailctl --marketplace zoolcoder/mailctl
```

تجلب الإضافة ست مهارات وخمسة أوامر مائلة ووكيل مراجعة للقراءة فقط وخطّاف حماية وتسجيل خادم MCP. يشغّل خادم MCP الملف التنفيذي `mailctl`، لذا ثبّته أولًا (راجع [التثبيت](install.html)) وشغّل `mailctl doctor` حتى تنجح كل الفحوص.

## المهارات والأوامر

 
| المهارة | ما تفعله |
| --- | --- |
| 
`mailctl-setup`

 | 

تثبّت mailctl، وتحفظ الرموز في سلسلة المفاتيح، وتشغّل `doctor` حتى ينجح.

 |
| 

`mail-setup`

 | 

تُدخل نطاقًا: استيراد، كتابة الإعداد، خطة، تطبيق بعد الموافقة، تدقيق.

 |
| 

`mail-audit`

 | 

تشغّل التدقيق وتشرح كل فحص فاشل مع السجل المحدد الذي يجب تغييره.

 |
| 

`mailbox-admin`

 | 

تضيف أو تحذف صندوق بريد أو اسمًا بديلًا أو بيانات اعتماد تطبيق. تخطّط دائمًا قبل التطبيق.

 |
| 

`deliverability-fix`

 | 

تُصلح إخفاقات SPF وDKIM وDMARC وMTA-STS وBIMI عبر الإعداد.

 |
| 

`provider-migrate`

 | 

تنقل نطاقًا بين المزوّدين بخطة على مراحل.

 |

الأوامر `/mail-setup` و`/mail-plan` و`/mail-audit` و`/mail-add` و`/mail-doctor` يحمّل كل منها مهارته. ويقرأ الوكيل `deliverability-reviewer` الخطة أو التدقيق وينبّه إلى التغييرات الخطرة، مثل تبديل MX أو `p=reject` أو الحذف، قبل أن تطبّق.

## خادم MCP

يقدّم `mailctl mcp` هذه الأدوات على الإدخال والإخراج القياسيين. يمكن لأي مضيف MCP استخدامها؛ وتسجّل الإضافة الخادم في Claude Code.

  
| الأداة | النوع | ملاحظات |
| --- | --- | --- |
| 
`doctor`

 | 

قراءة

 | 

سلامة التثبيت. تذكر مصدر كل بيانات اعتماد، لا قيمتها أبدًا.

 |
| 

`mail_domains`

 | 

قراءة

 | 

الإعداد بعد تحليله، مثل `domains -json`.

 |
| 

`mail_plan`

 | 

قراءة

 | 

الخطة بصيغة JSON، محفوظة تحت `$XDG_STATE_HOME/mailctl/plans/`. تعيد `plan_id`.

 |
| 

`mail_audit`

 | 

قراءة

 | 

DNS الحي وقابلية التسليم لكل نطاق، مثل `audit -json`.

 |
| 

`mail_import`

 | 

قراءة

 | 

كتلة إعداد من حالة المزوّد الحية.

 |
| 

`mail_apply`

 | 

كتابة

 | 

تطبّق الخطة صاحبة ذلك `plan_id`. ترفض عند الانحراف وعند أي حذف.

 |
| 

`mailbox_add`، `alias_add`

 | 

كتابة

 | 

تعدّل الإعداد فقط.

 |
| 

`mailbox_rm`، `alias_rm`

 | 

كتابة

 | 

تعدّل الإعداد فقط. تبقى الكائنات لدى المزوّد.

 |
| 

`apppass_create`

 | 

كتابة

 | 

تذهب بيانات الاعتماد إلى سلسلة المفاتيح؛ ويذكر الرد مكانها.

 |

تحمل كل أداة توصيفات MCP (`readOnlyHint` و`destructiveHint` و`idempotentHint`)، فيمكن للمضيف أن يسألك قبل كل كتابة. وتُقدَّم المهارات أيضًا كمطالبات MCP.

### ما لا يستطيع الوكيل فعله

-   **الحذف.** يمكن لـ `mail_plan` أن يعرض حذفًا أو استبدال DNS لتقرأه. لكن `mail_apply` يرفض أي خطة تحذف شيئًا، ولا تقبل أي أداة `-yes`. يذكر الخطأ أمر الطرفية، وتشغّله أنت بنفسك.
    
-   **تطبيق ما لم تره.** يأخذ `mail_apply` معرّف `plan_id` لا خيارات، ويخطّط من جديد قبل أن يكتب. وإن تغيّرت الحالة الحية منذ الخطة، يرفض.
    
-   **قراءة بيانات الاعتماد.** تذهب بيانات الاعتماد المولّدة إلى سلسلة المفاتيح، أو إلى ملف بصلاحيات `0600` تحت `$XDG_STATE_HOME/mailctl` حين لا توجد سلسلة مفاتيح. يذكر الرد مكانها، لا قيمتها أبدًا.
    

ويضيف خطّاف الإضافة حماية أخرى للوكلاء الذين يلجؤون إلى الصدفة بدلًا من ذلك: استدعاء Bash يشغّل `mailctl apply` مع خيار حذف أو استبدال، أو مع `-yes`، أو دون `-plan`، يجعل Claude Code يسألك أولًا.

## وكلاء آخرون

يحمل `adapters/` القواعد نفسها لوكلاء آخرين: `codex/AGENTS.md` و`cloud/AGENTS.md` و`cursor/mailctl.mdc` و`gemini/GEMINI.md` و`copilot/copilot-instructions.md`. انسخ ملف وكيلك إلى مشروعك وسجّل `mailctl mcp` كخادم MCP.

## النص غير الموثوق

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

## التقييمات

يشغّل `make evals` المجموعة الموجودة في `evals/` باستخدام `claude plugin eval`. ويتحقق من عرض الخطة قبل التطبيق، وعدم وصول أي بيانات اعتماد إلى الرد، وعدم إضافة حذف دون طلب، وتجاهل التعليمة المزروعة، وشرح فشل التدقيق مع السجل المحدد.
