# كيف تُطلق MCP Server رسميًا لمنتج SaaS خلال أسبوعين

> خطة عملية لأسبوعين لبناء MCP Server رسمي فوق واجهتك البرمجية: مواصفة الأدوات، وOAuth والصلاحيات، والاختبار مع Claude وChatGPT وCursor، ثم التسليم.

*2026-10-11T11:43:43Z*

في مكالمات المبيعات وتذاكر الدعم بدأ العملاء يسألون سؤالًا جديدًا: *«هل يعمل مع Claude؟»* وأحيانًا يكون السؤال عن ChatGPT أو Cursor، لكن الطلب واحد. يريد العميل أن يطلب من مساعده الذكي تنفيذ عمل حقيقي داخل منتجك، دون نسخ البيانات بين النوافذ.

الطريقة المعتمدة لذلك هي **MCP Server**. بروتوكول Model Context Protocol هو البروتوكول المفتوح الذي تستخدمه مساعدات الذكاء الاصطناعي لاكتشاف الأدوات في المنتجات الأخرى واستدعائها. وإذا كانت لديك واجهة برمجية (API) جيدة، فإن MCP Server رسميًا مشروع صغير ومحدد. في هذا المقال أشرح كيف أخطط لبنائه وأسلّمه في نحو أسبوعين، وما الذي يجب أن تقرره قبل كتابة أي كود.

## ما هو MCP Server بالنسبة لفريق SaaS؟

الـ MCP Server طبقة خفيفة تعمل **بجانب** منتجك وتتحدث مع واجهتك البرمجية الحالية. يعرض قائمة قصيرة من الأدوات (Tools)، لكل أداة اسم ووصف بلغة واضحة ومخطط مدخلات محدد. يقرأ المساعد هذه الأوصاف، ويختار الأداة المناسبة لطلب المستخدم، ثم يستدعيها.

ويترتب على ذلك ثلاثة أمور:

- **الـ Backend لا يتغير.** الخادم مجرد عميل لواجهتك البرمجية، مثل تطبيق الويب تمامًا.
- **لغة البرمجة لا تهم.** أبنيه عادةً بـ TypeScript أو Go، أو PHP لمنتجات Laravel، حسب ما يستطيع فريقك صيانته.
- **تصميم الأدوات أهم من حجم الكود.** معظم العمل هو تحديد ما يجب أن يستطيع المساعد فعله، ووصفه بطريقة تجعل النموذج يختار الأداة الصحيحة.

وهناك طريقتان شائعتان للتشغيل: **عن بُعد (Remote)**، أي نقطة اتصال HTTP مستضافة يتصل بها عملاؤك عبر OAuth، و**محليًا (Local)**، أي حزمة يشغّلها المستخدم على جهازه وتناسب النسخ المستضافة ذاتيًا. ومعظم منتجات SaaS تبدأ بالخيار الأول.

## لماذا يجب أن يكون «رسميًا»؟

إذا لم تُطلقه أنت، فقد يُطلقه غيرك. خوادم MCP المجتمعية للمنتجات المشهورة تظهر بسرعة، وغالبًا تطلب من المستخدم وضع مفتاح API بصلاحيات كاملة في ملف إعدادات. فيصبح عملاؤك يشغّلون كودًا غير موثوق ببيانات الإنتاج، وتصلك أنت تذاكر الدعم.

الخادم الرسمي يمنحك التحكم في ثلاثة أمور: الإجراءات المتاحة، وطريقة المصادقة، وكيفية تقديم منتجك للمساعد.

## خطة الأسبوعين

أسبوعان مدة واقعية عندما تكون الواجهة البرمجية موجودة وموثقة، ويركز الإصدار الأول على 10 إلى 20 إجراءً يطلبها المستخدمون فعلًا. هذا هو الترتيب الذي أتبعه.

### الخطوة صفر: مواصفة أدوات من صفحة واحدة (قبل أي التزام)

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

المواصفة الجيدة تجيب عن:

- ما الأشياء الخمسة التي سيطلبها المستخدم من المساعد في اليوم الأول؟
- أيها قراءة فقط، وأيها يغيّر البيانات؟
- أي الإجراءات خطرة أو مكلفة وتحتاج تحذيرًا واضحًا؟
- ماذا يحتاج المساعد كي *يجد* الأشياء (بحث، فلاتر، معرّفات)؟

### الأيام 1 إلى 3: تصميم الأدوات والهيكل الأساسي

نحوّل المواصفة إلى تعريفات أدوات. القائمة قصيرة والأسماء واضحة. **لا تنسخ كل endpoint.** المساعد يعمل أفضل مع `find_customer` و`create_invoice` منه مع أربعين endpoint تختلف في حقل واحد.

اكتب الأوصاف كأنها تعليمات للنموذج: متى يستخدم الأداة، وماذا تُرجع، ومتى *لا* يستخدمها. ومن تجربتي، هذا هو الجزء الذي يغيّر أداء الخادم أكثر من أي شيء آخر.

في خوادمي، تعيش الأدوات في **سجل (Registry)** واحد تقرأ منه طبقة البروتوكول. إضافة أداة لاحقًا تعني إضافة سطر واحد، دون المساس بطبقة النقل أو المصادقة. هكذا بُني الـ MCP الخاص بمتتبع المشكلات في fadymondy.com، وهذا ما يجعل الخادم سهل التوسع بعد التسليم.

### الأيام 4 إلى 7: المصادقة والصلاحيات

هنا يستحق الخادم الرسمي اسمه.

- **OAuth للخوادم البعيدة.** مواصفة التفويض في MCP مبنية على OAuth 2.1. في نقطة اتصال MCP الخاصة بـ [ذكرى (Zekra)](https://zekra.dev/ar/docs/mcp) نفذت التدفق كاملًا: PKCE (S256)، والتسجيل الديناميكي للعملاء، وموافقة لكل «عقل» (brain)، مع إعادة التحقق من العضوية الحالية في كل استدعاء.
- **مفاتيح API محددة الصلاحيات كبديل.** في [محرّك (Moharrik)](https://moharrik.com) تكون المفاتيح للقراءة فقط افتراضيًا، وتنتهي صلاحيتها بعد 90 يومًا.
- **فصل القراءة عن الكتابة.** علّم أدوات القراءة بأنها للقراءة فقط (تدعم MCP العلامتين `readOnlyHint` و`destructiveHint`). في ذكرى، سمحت هذه العلامات لوكلاء البرمجة بالذكاء الاصطناعي وغيرهم من عملاء MCP بتشغيل أدوات الاسترجاع والعرض دون طلب موافقة، بينما تبقى عمليات الكتابة بحاجة إلى إذن.
- **اجعل أفعال الوكيل قابلة للتتبع.** عندما يكتب المساعد بيانات، سجّل أن الكاتب وكيل. في متتبع المشكلات عندي، التعليقات التي تُنشأ عبر MCP تُحفظ بقيمة `author_kind = 'agent'`، فيستطيع الإنسان دائمًا تمييزها.

### الأيام 8 إلى 10: الاختبار مع مساعدات حقيقية

اختبارات الوحدات وحدها لا تكفي. اربط الخادم بـ Claude وChatGPT وCursor، وشغّل الطلبات المكتوبة في المواصفة. وراقب:

- اختيار المساعد للأداة الخطأ (أصلح الوصف، لا النموذج)؛
- أدوات تُرجع بيانات أكثر من اللازم (قسّم النتائج واختصرها؛ السياق ليس مجانيًا)؛
- رسائل خطأ غامضة (أرجع رسائل يستطيع المساعد التصرف بناءً عليها، مثل: «العميل غير موجود، جرّب search_customers»).

### الأيام 11 إلى 14: التوثيق والنشر والتسليم

- **أدلة إعداد** لكل مساعد: صفحة لكل واحد بالإعدادات الدقيقة.
- **صفحة صلاحيات** تشرح بلغة بسيطة ما تسمح به كل صلاحية. في محرّك تُولَّد هذه الصفحة من سجل الأدوات نفسه، فلا تنفصل عن الكود أبدًا.
- **النشر** في أدلة MCP الرئيسية، ليجد المستخدمون الخادم الرسمي.
- **التسليم:** المستودع، وملاحظات النشر، وجولة قصيرة. والكود يصدر باسمك وترخيصك.

## ما الذي يتجاوز الأسبوعين؟

كن صريحًا في النطاق من البداية. هذه الأمور تضيف وقتًا عادةً:

- عدم وجود واجهة برمجية عامة، أو واجهة لا تنفذ ما يطلبه المستخدمون؛
- صلاحيات متعددة المستأجرين (multi-tenant) معقدة وغير ممثلة في الواجهة؛
- مهام طويلة تحتاج تقارير تقدّم أو webhooks؛
- حزمة مستضافة ذاتيًا *ونقطة اتصال بعيدة* معًا في الإصدار الأول.

لا شيء من ذلك يوقف المشروع، لكن مكانه المواصفة، كي تبقى الخطة والسعر ثابتين.

## قائمة تحقق قبل البدء

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

## دليل عملي، لا وعود

أبني خوادم MCP لمنتجاتي، وهي تعمل في بيئة الإنتاج:

- **[Orchestra MCP](/ar/projects/orchestra-mcp)**: إطار عمل لبيئات تطوير تعتمد على الوكلاء، بمعمارية مضيف للإضافات.
- **[ذكرى (Zekra)](/ar/projects/cabrain)**: ذاكرة مشتركة لوكلاء الذكاء الاصطناعي، عبر نقطة اتصال MCP بعيدة مع OAuth 2.1.
- **[محرّك (Moharrik)](https://moharrik.com)**: نظام CRM مع صندوق وارد وواتساب، يُدار بالكامل عبر MCP.
- **[نسق (Nasaq UI)](https://mcp.nasaqui.com)**: نظام تصميم مفتوح المصدر، وله MCP Server خاص به.

إذا أردت الشيء نفسه لمنتجك، اطّلع على [خدمة تطوير MCP Server](/ar/services/mcp-server-development). تبدأ الخدمة بمواصفة الأدوات المجانية من صفحة واحدة. وإذا كان منتجك مبنيًا على Laravel أو Filament وتحتاج أكثر من طبقة MCP، فهناك أيضًا [تطوير Laravel وFilament بعلامتك التجارية (White-label)](/ar/services/white-label-laravel-filament).

[اطلب مواصفة الأدوات المجانية](/ar/contact).

---

Source: https://fadymondy.com/ar/blog/ship-official-mcp-server-for-saas-in-2-weeks
