خادم Kanban MCP لـ ChatGPT وClaude وCursor وCodex
بقلم Andrei Finogeev، مؤسس Weft ·
Weft لوحة كانبان مستضافة — Backlog وTodo وDoing وDone، مع سبرنتات اختيارية — وخادم MCP الخاص بها على https://letsweft.com/api/mcp. أضف هذا العنوان إلى عميل الذكاء الاصطناعي لديك وسجّل الدخول مرة واحدة عبر OAuth؛ لا شيء تثبّته أو تشغّله محليًا. ومن بعدها يقرأ المساعد اللوحة، وينشئ البطاقات وينقلها، ويحجز البطاقة قبل العمل عليها كي لا يأخذ وكيلان البطاقة نفسها أبدًا، ويبلّغ بالتقدّم، ويسألك حين يكون القرار لك، ويغلق البطاقة مع ما فعله. مجاني حتى 50 مهمة و200 استدعاء ذكاء اصطناعي شهريًا.
https://letsweft.com/api/mcpStreamable HTTP · OAuth، أو رمز وصول شخصي · 32 أداة
أضفه إلى عميل الذكاء الاصطناعي لديك
ChatGPT
افتح Weft في ChatGPT — أو اضبطه يدويًا:
- 1افتح Plugins في الشريط الجانبي لـ ChatGPT — أو Settings ← Plugins.
- 2ابحث عن «Weft» وافتح الإدراج.
- 3اضغط «Connect» وراجع ما يستطيع Weft الوصول إليه.
- 4سجّل الدخول بحسابك في Weft داخل النافذة المنبثقة.
أشِر إلى الإضافة بـ @ في أي محادثة: «@Weft ما الموجود على لوحتي؟» — أو اختر Weft من قائمة +. وإن تخطيت الإعداد، يعرض ChatGPT ربطها في مكانها.
Claude Desktop
- 1افتح Claude Desktop ← Settings ← Connectors.
- 2اضغط «Add custom connector».
- 3الصق رابط Weft MCP أدناه واحفظ.
- 4أتمّ OAuth في نافذة المتصفح التي تُفتح.
ابدأ محادثة جديدة واسأل: «ما الموجود على لوحتي في Weft؟» فيجلب Claude حالة لوحتك عبر موصّل Weft.
Claude Code
claude mcp add --transport http weft https://letsweft.com/api/mcpشغّل `claude` في أي مشروع، ثم اسأل: «ما الموجود على لوحتي؟» وتُفتح نافذة متصفح لإتمام OAuth في المرة الأولى.
Cursor
أضِف إلى Cursor — أو اضبطه يدويًا:
{
"mcpServers": {
"weft": {
"url": "https://letsweft.com/api/mcp"
}
}
}افتح Cursor ← Settings ← MCP. يُفترض أن يظهر خادم «weft» بمؤشر أخضر بعد إتمامك OAuth.
Codex CLI
[mcp_servers.weft]
url = "https://letsweft.com/api/mcp"نفّذ `codex mcp login weft` وسجّل الدخول في المتصفح، ثم شغّل `codex` واسأل: «ما الموجود على لوحتي؟». يعرض `/mcp` الخادم المتصل وأدواته.
VS Code
ثبّت إضافة Weft — أو اضبطه يدويًا:
{
"servers": {
"weft": {
"type": "http",
"url": "https://letsweft.com/api/mcp"
}
}
}افتح المحادثة، اضبط الوضع على Agent واسأل: «ما الموجود على لوحي؟». في المرة الأولى تفتح نافذة متصفّح لإتمام OAuth. ويُفترض أن يظهر weft في «MCP: List Servers» بحالة Running.
Windsurf
- 1افتح Windsurf ← Settings ← Cascade ← MCP servers.
- 2اضغط «Add server» واختر Remote (HTTP).
- 3الصق رابط Weft MCP أدناه واحفظ.
- 4أتمّ OAuth في نافذة المتصفح التي تُفتح.
افتح Cascade واسأل: «ما الموجود على لوحتي؟» ويَسِم Cascade الردود التي استعملت خادم Weft.
Gemini CLI
gemini extensions install https://github.com/AndreiFinogeev/weft-gemini-extensionشغّل `gemini` واسأل: «ما الموجود على لوحتي في weft؟» ويفتح المتصفح لإتمام OAuth في أول استعمال. ويُفترض أن يُظهر `gemini extensions list` الامتداد «weft».
مبني للوكلاء، لا لك وحدك
حجز، لا تصادم
تضع start_task عقد إيجار على البطاقة قبل أن يعمل عليها وكيل. والوكيل الثاني الذي يطلب عملًا يحصل على بطاقة أخرى، والبطاقة التي صمت وكيلها تُعرض من جديد حين ينتهي العقد.
التقدّم والإيصالات
تُبقي report_progress الحجز قائمًا أثناء عمل الوكيل؛ وتغلق complete_task البطاقة مع ما أُنجز وما لم يُنجز، وروابط يمكنك التحقق منها.
الأسئلة تنتظرك
تضع request_input سؤالًا مع خيارات في صندوق الوارد لديك — على الويب وعلى هاتفك — بدل أن تترك الوكيل يخمّن في أمر لا يقرّره سواك.
انتباهك يحدّد الإيقاع
حين يتراكم عمل منجز كثير بانتظار مراجعتك، يتوقف الوكلاء عن بدء بطاقات جديدة. هذا هو حدّ كانبان للعمل الجاري، مطبَّقًا عليك.
أنت تقرّر ما يُسمح لكل ذكاء اصطناعي بفعله
امنح كل مساعد متصل وصولًا كاملًا أو كتابة أو قراءة فقط، وافصله بنقرة واحدة. والبطاقات المحذوفة تذهب إلى سلة المهملات، لا إلى الزوال مباشرة.


الأدوات الـ 32
تعلن كل أداة ما إذا كانت تقرأ فقط، أو تكتب، أو تزيل شيئًا، فيعرف عميلك متى عليه أن يسألك أولًا.
| الأداة | ما تفعله | النوع |
|---|---|---|
| search | بحث بالكلمات المفتاحية في المهام والسبرنتات والقرارات وملاحظات الذاكرة. يعيد حتى 50 نتيجة مرتّبة {id, title, url}، ومعرّفاتها المسبوقة بالنوع تُمرَّر إلى fetch. | قراءة |
| fetch | استرجاع المحتوى الكامل لنتيجة بحث واحدة — العنوان، والتمثيل النصي، وurl المصدر، والبيانات الوصفية المنظّمة. يأخذ المعرّف المسبوق الذي تعيده search. | قراءة |
| initialize_board | إنشاء الأعمدة الافتراضية Backlog وTodo وDoing وDone على لوحتك في Weft إن لم تكن موجودة — الإعداد باستدعاء واحد قبل أن يدير وكيل ذكاء اصطناعي المهام. متساوية الأثر عند التكرار. | كتابة |
| get_board_state | إعادة ملخص موجز للوحة Scrumban الخاصة بالمستخدم: الأعمدة، والسبرنت النشط، وDoing، والمهام المتأخرة، وما أُغلق مؤخرًا، بحجم أصغر بنحو 30 مرة من لقطة كاملة. | قراءة |
| list_columns | سرد كل أعمدة اللوحة بالترتيب — المعرّف والاسم والموضع لكل منها، فيعرف الوكيل بالضبط إلى أين يمكن أن تنتقل المهمة. | قراءة |
| list_tasks | إعادة مهام المستخدم المصادَق عليه، مع تصفية اختيارية حسب العمود أو السبرنت أو المشروع (الاسم أو المعرّف) أو المنشئ (إنسان أم ذكاء اصطناعي) أو المكلَّف (المنفّذ). | قراءة |
| create_task | إنشاء مهمة جديدة على لوحة المستخدم. تذهب إلى Backlog إن لم يُحدَّد عمود. والأولوية الافتراضية متوسطة. تُستخدم حين يطلب المستخدم إضافة مهمة. | كتابة |
| bulk_create_tasks | إنشاء ما يصل إلى 1000 مهمة في استدعاء ذرّي واحد — استيراد ملفات تصدير Linear/Jira/Notion/Trello أو أي قائمة من 3 مهام فأكثر، باستهلاك استدعاء ذكاء اصطناعي واحد فقط من الحصة. | كتابة |
| update_task | تعديل حقول مهمة موجودة. لا يتغير إلا ما تمرّره من حقول؛ وتُحفظ الحقول المحذوفة من الطلب — باستثناء واحد: يُرفض مسح requiresReview من قِبل وكيل، ويُسقط الرفض التعديل كله معه. | كتابة |
| move_task | نقل مهمة إلى عمود وموضع مختلفين. النقل إلى عمود semantic='doing' يبدأ تتبّع زمن الدورة؛ والنقل إلى semantic='done' يسجّل وقت الإنجاز. | كتابة |
| start_task | يستدعيها الذكاء الاصطناعي لحظة بدئه تنفيذ مهمة — فتنتقل البطاقة إلى Doing ليراها المستخدم وكل عميل متصل آخر قيد التنفيذ (ولا يلتقطها مرتين). تبدأ تتبّع زمن الدورة؛ والمهمة غير المسندة يحجزها الوكيل المستدعي (ولا يُتجاوز أبدًا مكلَّف موجود). لا حاجة إلى معرّف عمود. | كتابة |
| report_progress | قل إنك ما زلت تعمل. حجز المهمة ينتهي إن صمت العميل، وهذه الأداة تجدّده. ودون نبض تُعامَل المهمة الطويلة كأنها متروكة وتُعرض على غيرك — عن قصد، لأن الوكيل الذي يموت أثناء التشغيل لا يبلّغ بشيء، فالصمت هو الإشارة الوحيدة المتاحة للوحة. | كتابة |
| request_input | اسأل الشخص عن أمر لا يقرّره سواه، وانتظر دون أن تفقد حجز المهمة. إن كان أمام عميله، يظهر نموذج هناك ويعود الجواب داخل الاستدعاء نفسه — ويواصل الوكيل في السياق نفسه، وبالحجز نفسه. وإن كان غائبًا، يعود الاستدعاء معلّقًا وينتظر السؤال في قائمته؛ ويصل الجواب إلى الوكيل عند start_task أو get_my_work التالية. للأمور التي لا رجعة فيها والملتبسة حقًا، لا لسؤال "هل أتابع؟" — فكل سؤال يستهلك ميزانية الانتباه نفسها التي تحدّ العمل الجديد. | كتابة |
| submit_answer | تعيد ما قاله الشخص ردًّا على سؤال طرحه الوكيل، وتسلّم العمل من جديد بالـ runId والعقد نفسيهما، فيستمر في المحاولة نفسها بدل أن يبدأ محاولة من الصفر. ويُوسَم الجواب بأنه منقول، لا بأنه تصرّف الشخص بنفسه — فالجواب الذي يحمله وكيل والنقرة التي يقوم بها إنسان نوعان مختلفان من الأدلة، واللوحة تفصل بينهما. وإن كان السؤال قد أُجيب عنه في تطبيق Weft، يُعاد ذلك الجواب بدل خطأ: فالمهم أن يواصل الوكيل بالجواب الصحيح. | كتابة |
| get_my_work | اسأل عمّا تفعله تاليًا بدل قراءة اللوحة كلها والتخمين. تعيد المهام المسندة إلى هذا العميل، وما ينتظر الإنسان أصلًا، وما إذا كان في قائمة الانتباه متّسع. وتذكر أيضًا ما هو متأخر وما يستحق أو يبدأ خلال الأسبوع، فيعلم الوكيل بالموعد النهائي دون أن يسأل. وحين تمتلئ القائمة تكون الخطوة المفيدة هي المساعدة في تفريغها، لا بدء شيء جديد — وهذه الأداة تقول ذلك قبل اختيار مهمة. | قراءة |
| complete_task | يستدعيها الذكاء الاصطناعي حين يكتمل العمل فعلًا — فتنتقل البطاقة إلى Done مع تسجيل وقت الإنجاز، وتُلحق النتيجة الاختيارية (ما أُنجز، وأين توجد النتيجة) بالبطاقة كملاحظة "Outcome (AI, date)". لا حاجة إلى معرّف عمود. والعمل الموسوم بأنه يحتاجك لا ينتقل إلى Done: بل يذهب إلى قائمتك مع الإيصال مرفقًا، وإن قال الوكيل ما سيفعله بعد ذلك، فإن القبول يوافق على تلك الخطوة بالضبط ويعيدها إلى الوكيل. وإن كانت المهمة تحمل خطة تحقق، ينفّذ الخادم فحوصها هنا مباشرة — جلب العنوان، والبحث عن الاقتباس، ومقارنة البصمة: الخطة executable/state_delta التي تنجح كل فحوصها المانعة تُغلق موثَّقة من الخادم؛ والفحص المانع الفاشل يُبقي البطاقة خارج Done ويُري الوكيل ما لاحظه الخادم. | كتابة |
| record_decision | أداة واحدة، واستخدامان، وجدول سجل واحد. (1) نقل حكم أصدرته في المحادثة بشأن عمل منجز ينتظرك — موافَق عليه، أعِده، أسقِطه، لاحقًا — فتُزال البطاقة من قائمة المراجعة؛ ويُحفظ المدخل على أنه منقول لا على أنه تصرّفك في التطبيق، ويُبقى هذا الفرق ظاهرًا عن قصد. (2) تسجيل قرار مستقل يستحق التذكّر — 'اخترنا Neon بدل Supabase'، أو درس مستفاد — كسجل MADR-lite غير قابل للتغيير مع الخيارات التي وُزنت والشرط الذي يُعاد النظر عنده. السجلات لا تُحرَّر أبدًا: قرار جديد مع supersedesId يحلّ محل القديم، ويبقى القديم مقروءًا بما قاله يوم اتُّخذ. وهذه السجلات هي ما تقدّمه get_context لكل وكيل في الأسبوع التالي. | كتابة |
| get_context | القرارات والدروس الحية في مساحة العمل، مضغوطة ضمن ميزانية رموز، الأحدث أولًا — ما ينبغي أن يقرأه الوكيل قبل بدء أي شيء غير بسيط. مستمدّة من القرارات المسجّلة لا مكتوبة كمستند، فلا يمكن أن تتقادم: القرار المُستبدَل يسقط لحظة تسجيل بديله، وكل سطر يحمل تاريخه. حدّد نطاقها بمشروع أو مهمة لتضييقها؛ والأسطر التي لا تتسع لها الميزانية تُعدّ، ولا تُخفى بصمت أبدًا. | قراءة |
| get_task_history | ما الذي حدث لمهمة، لا حقولها الحالية فحسب. ثلاثة أوضاع: 'summary' (الافتراضي، ≤500 رمز — البطاقة، وآخر إيصال لها، والأعداد)، و'decisions' (كل قرار سُجّل بشأنها، بما في ذلك الأحكام وأسبابها — سبب إعادة العمل يبقى هنا بعد أن يكتب قبول لاحق فوق البطاقة)، و'full' (السجل الخام، محدود بـ 100 حدث ويقول ذلك). موجودة لأن سجل التدقيق كثير التفاصيل بحيث لا يُقرأ مباشرة، وصف المهمة لا يحمل سوى آخر حكم. | قراءة |
| trash_task | نقل مهمة إلى سلة المهملات في لوحتك على Weft. قابلة للاسترجاع مدة 30 يومًا عبر restore_task، وبعدها تحذفها مهمة مجدولة نهائيًا. | إزالة |
| restore_task | استرجاع مهمة من سلة المهملات خلال 30 يومًا من نقلها إليها. تعود المهمة إلى اللوحة حيث كانت، سليمة تمامًا — فلا يخسر المؤسس المنفرد عملًا بسبب حذف عَرَضي. | كتابة |
| archive_done_tasks | تفريغ عمود Done: كل مهمة فيه تغادر اللوحة إلى الأرشيف — وتبقى قابلة للعثور عليها عبر search/fetch وظاهرة في سجل سبرنتها، ولا تُحذف أبدًا. إنهاء سبرنت يؤرشف مهامه المنجزة تلقائيًا؛ وهذه الأداة تعالج البقية. تأخذ العمود كله في استدعاء واحد، بلا عدد وبلا طريق للعودة من واجهة MCP — فـ restore_task تسترجع من سلة المهملات، لا من الأرشيف — ولهذا وُسمت بأنها مدمِّرة: ينبغي للعميل أن يؤكد مع المستخدم قبل استدعائها. | إزالة |
| list_projects | سرد مشاريع اللوحة — سياقات خفيفة (شركة ناشئة، عميل، شخصي) يمكن أن تنتمي إليها المهمة. تستثني المشاريع المؤرشفة ما لم يُضبط includeArchived. | قراءة |
| create_project | إنشاء سياق مشروع. الاسم فريد في كل لوحة؛ واللون يُختار افتراضيًا من لوحة ألوان متناوبة؛ وurl هو موقع المشروع الذي تظهر أيقونته على بطاقات المهام. | كتابة |
| update_project | إعادة تسمية مشروع، أو تغيير لونه أو url موقعه، أو أرشفته/إلغاء أرشفته. المشاريع المؤرشفة تختفي من قوائم الاختيار؛ وتحتفظ مهامها بالارتباط. | كتابة |
| list_sprints | سرد كل السبرنتات (المخططة والنشطة والمكتملة والمؤرشفة) للمستخدم، كي يراجع المؤسس المنفرد أو الوكيل سجل السبرنتات والحالة الراهنة دون فتح التطبيق. | قراءة |
| get_active_sprint | إعادة السبرنت النشط حاليًا، أو null إن لم يكن هناك سبرنت جارٍ — كي يتحقق المؤسس المنفرد أو الوكيل من الهدف الحالي دون فتح التطبيق. | قراءة |
| create_sprint | إنشاء سبرنت جديد بحالة "planned" للوحتك في Weft، جاهز للجدولة بهدف وتواريخ. استخدم start_sprint منفصلة حين تكون جاهزًا لبدء العمل. | كتابة |
| start_sprint | نقل سبرنت مخطط إلى الحالة النشطة. يمكن أن يكون سبرنت واحد فقط نشطًا في كل مرة، في كل الخطط — فإن كان سبرنت آخر جاريًا، يفشل الاستدعاء ويذكر اسمه؛ أنهِ ذلك السبرنت أولًا، ثم أعد المحاولة. | كتابة |
| complete_sprint | إنهاء السبرنت النشط. تُؤرشف مهامه المنجزة في سجل السبرنت — خارج عمود Done في اللوحة، وتبقى قابلة للبحث وظاهرة في صفحة السبرنت. والمهام غير المنجزة تبقى على اللوحة، مرتبطة بالسبرنت. لا يمكن التراجع عنها عبر MCP — ينبغي للعملاء التأكيد حين تكون النية ملتبسة. | إزالة |
| add_task_to_sprint | إسناد مهمة موجودة إلى سبرنت كي تظهر في نطاق ذلك السبرنت ومخطط الإنجاز (burndown) الخاص به. متساوية الأثر عند التكرار — استدعاؤها مرتين لا يُحدث أثرًا إضافيًا، فإعادة المحاولة آمنة. | كتابة |
| remove_task_from_sprint | فصل مهمة عن سبرنتها الحالي دون حذفها — تبقى المهمة على اللوحة في عمودها، لكنها لم تعد ضمن نطاق ذلك السبرنت أو مخطط الإنجاز الخاص به. | كتابة |
أسئلة
ما هو خادم Kanban MCP؟
خادم MCP (Model Context Protocol) يعرض لوحة كانبان كأدوات يستطيع مساعد الذكاء الاصطناعي استدعاءها: سرد الأعمدة، وقراءة البطاقات، وإنشاء بطاقة، ونقلها إلى Doing أو Done. وخادم Weft مستضاف، فتضيف عنوانًا بدل تشغيل عملية على جهازك.
هل أحتاج إلى تثبيت أو تشغيل أي شيء؟
لا. أضف https://letsweft.com/api/mcp إلى عميل الذكاء الاصطناعي لديك وسجّل الدخول عبر OAuth. والعملاء الذين لا يدعمون OAuth يستخدمون رمز وصول شخصيًا من الإعدادات ← رموز الوصول.
هل هو مجاني؟
نعم، حتى 50 مهمة و200 استدعاء ذكاء اصطناعي شهريًا. وPro يزيل الحدود بسعر $7 لكل مقعد شهريًا، أو $60 لكل مقعد في السنة.
هل يعمل مع ChatGPT Free؟
نعم. Weft موجود في Plugin directory الخاص بـ ChatGPT ويعمل على كل خطط ChatGPT، بما فيها Free. وإضافة عنوان MCP خام في ChatGPT ميزة في Business وEnterprise وEdu، لكنك لا تحتاجها لـ Weft.
هل يمكن لوكيلين مشاركة لوحة واحدة؟
نعم — هذا هو الغرض من اللوحة. يحجز كل وكيل بطاقة بـ start_task قبل العمل عليها، فلا يلتقطان البطاقة نفسها، وتُظهر كل بطاقة ما إذا كان ذكاء اصطناعي أم شخص هو من أنشأها أو أنهاها.
كيف يختلف هذا عن خادم Kanban MCP محلي؟
خوادم Kanban MCP مفتوحة المصدر تعمل على جهازك وتخزّن اللوحة في ملف محلي أو قاعدة بيانات، فلا يراها إلا الوكلاء على ذلك الجهاز. أما Weft فلوحة مشتركة مستضافة: البطاقات نفسها في ChatGPT وClaude وCursor وCodex وتطبيق الويب وتطبيقي iOS وAndroid، لك ولفريقك.