ربط مساعدي الذكاء الاصطناعي بخادم MCP من مجيب
لدى مجيب خادم MCP، فيستطيع مساعد ذكاء اصطناعي مثل Claude أو Cursor أو VS Code أو وكيل n8n أن يعمل مع مساحة عملك في مجيب بلغة عادية: "اعرض العملاء المحتملين لهذا الأسبوع"، "أضف ملاحظة إلى جهة الاتصال هذه"، "أرسل لهذا العميل قالب الطلب". يستخدم الخادم مفاتيح API نفسها التي تستخدمها الواجهة البرمجية العامة، ويرى بالضبط ما يراه مفتاحك.
ما خادم MCP من مجيب؟
هو خادم يتحدث بروتوكول Model Context Protocol (MCP)، المعيار المفتوح الذي يستخدمه مساعدو الذكاء الاصطناعي لاستدعاء أدوات خارجية. يحوّل الواجهة البرمجية العامة لمجيب إلى 49 أداة يختار منها المساعد: قراءة المحادثات والرد على العملاء، وعرض الوكلاء، وقراءة العملاء المحتملين وجهات الاتصال وتحديثها، وإضافة المعرفة، وإرسال رسائل واتساب وقوالبه، وإخفاء التعليقات، وقراءة التحليلات والاستهلاك.
| العنوان | https://mcp.mojeeb.app/mcp |
| النقل | Streamable HTTP |
| التوثيق | Authorization: Bearer mk_live_...، أي مفتاح API من مجيب |
| ترويسة اختيارية | X-Mojeeb-MCP-Mode: read-only (انظر وضع القراءة فقط) |
كل استدعاء أداة يصبح طلباً واحداً إلى الواجهة البرمجية العامة بمفتاحك، فتنطبق قائمة وكلاء المفتاح وخطتك تماماً كما في أي تكامل آخر.
ماذا أحتاج قبل الربط؟
تحتاج إلى مفتاح API من مجيب وإلى عميل MCP يستطيع إرسال ترويسة. أنشئ المفتاح من صفحة مفاتيح API في لوحة التحكم؛ وانظر التوثيق لمعرفة من يستطيع إنشاءه وعلى أي خطة. استخدم مفتاحاً منفصلاً لكل مساعد، وسمّه باسمه، وقيّده بالوكلاء الذين يحتاج إليهم.
المفتاح بيانات اعتماد خادم. يوضع في إعدادات العميل على جهازك أو خادمك، لا في رسالة دردشة، ولا في العنوان أبداً: المفتاح الموجود في الرابط يُرفض بـ 400 invalid_request.
كيف أربط Claude Code؟
نفّذ أمراً واحداً، مع مفتاحك مكان mk_live_...:
claude mcp add --transport http mojeeb https://mcp.mojeeb.app/mcp --header "Authorization: Bearer mk_live_..."
لتقييد Claude Code بالقراءة، أضف ترويسة ثانية:
claude mcp add --transport http mojeeb https://mcp.mojeeb.app/mcp --header "Authorization: Bearer mk_live_..." --header "X-Mojeeb-MCP-Mode: read-only"
كيف أربط Cursor؟
أسرع طريقة هي رابط التثبيت: أضف مجيب إلى Cursor. يفتح Cursor والخادم معبّأ ومفتاحه mk_live_...؛ افتح إعدادات MCP في Cursor وضع مفتاحك مكانه.
وللإعداد يدوياً، أضف مجيب إلى ~/.cursor/mcp.json (أو .cursor/mcp.json داخل مشروع)، مع مفتاحك مكان mk_live_...:
{
"mcpServers": {
"mojeeb": {
"url": "https://mcp.mojeeb.app/mcp",
"headers": { "Authorization": "Bearer mk_live_..." }
}
}
}
للقراءة فقط، أضف "X-Mojeeb-MCP-Mode": "read-only" داخل headers.
كيف أربط VS Code؟
أسرع طريقة هي رابط التثبيت: ثبّت مجيب في VS Code. يضيف VS Code الخادم، ويطلب مفتاحك أول مرة يشغّله، ويحفظه بأمان.
وللإعداد يدوياً، أضف مجيب إلى .vscode/mcp.json. يطلب VS Code المفتاح مرة واحدة ويحفظه، فلا يبقى داخل الملف:
{
"inputs": [
{ "id": "mojeeb-key", "type": "promptString", "description": "Mojeeb API key", "password": true }
],
"servers": {
"mojeeb": {
"type": "http",
"url": "https://mcp.mojeeb.app/mcp",
"headers": { "Authorization": "Bearer ${input:mojeeb-key}" }
}
}
}
للقراءة فقط، أضف "X-Mojeeb-MCP-Mode": "read-only" داخل headers.
كيف أربط Claude Desktop؟
ملف إعدادات Claude Desktop يشغّل خوادم محلية، لذلك يصل إلى مجيب عبر جسر mcp-remote الذي يحتاج إلى Node.js. أضف ما يلي إلى claude_desktop_config.json وأعد تشغيل Claude Desktop:
{
"mcpServers": {
"mojeeb": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://mcp.mojeeb.app/mcp", "--header", "Authorization:${MOJEEB_AUTH}"],
"env": { "MOJEEB_AUTH": "Bearer mk_live_..." }
}
}
}
للقراءة فقط، أضف "--header", "X-Mojeeb-MCP-Mode:read-only" إلى args.
كيف أربط n8n؟
استخدم عقدة MCP Client Tool داخل عقدة AI Agent. اجعل نقطة النهاية https://mcp.mojeeb.app/mcp، والنقل HTTP Streamable، والتوثيق ترويسةً اسمها Authorization وقيمتها Bearer mk_live_....
وكيل n8n يشغّل الأدوات دون أن يسأل أحداً أولاً، لذلك يُفضَّل عادةً أن يكون للقراءة فقط: أرسل X-Mojeeb-MCP-Mode: read-only أيضاً، باستخدام خيار توثيق يرسل أكثر من ترويسة.
كيف أستخدم مجيب من Claude API؟
تستطيع Claude Messages API أن تستدعي خادم MCP بنفسها عبر موصّل MCP: سمِّ الخادم في mcp_servers، وضع مفتاح مجيب في authorization_token (يرسله Claude بصيغة Authorization: Bearer)، وأضف أداة mcp_toolset. عندها يختار Claude أدوات مجيب أثناء إجابته، دون عميل MCP خاص بك.
curl https://api.anthropic.com/v1/messages \
-H "Content-Type: application/json" \
-H "X-API-Key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: mcp-client-2025-11-20" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 1024,
"messages": [{"role": "user", "content": "List this week'"'"'s leads"}],
"mcp_servers": [
{"type": "url", "url": "https://mcp.mojeeb.app/mcp", "name": "mojeeb", "authorization_token": "mk_live_..."}
],
"tools": [{"type": "mcp_toolset", "mcp_server_name": "mojeeb"}]
}'
لا يرسل الموصّل أي ترويسة أخرى، فلا يستطيع طلب وضع القراءة فقط. لتقصر Claude على القراءة، اسمح بأدوات القراءة وحدها داخل الـ toolset: "default_config": {"enabled": false} ثم "configs": {"list_leads": {"enabled": true}} لكل أداة تسمح بها.
كيف أستخدم مجيب من OpenAI API؟
تستطيع OpenAI Responses API أن تستدعي خادم MCP بنفسها عبر أداة mcp: ضع عنوان الخادم في server_url ومفتاح مجيب في authorization. عندها يختار النموذج أدوات مجيب أثناء إجابته. أرسل المفتاح مع كل طلب، فـ OpenAI لا تحفظه.
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6-astra",
"tools": [{
"type": "mcp",
"server_label": "mojeeb",
"server_description": "The Mojeeb workspace: conversations, leads, contacts, agents and WhatsApp.",
"server_url": "https://mcp.mojeeb.app/mcp",
"authorization": "mk_live_...",
"require_approval": "always"
}],
"input": "List this week'"'"'s leads"
}'
ولا تستطيع أداة mcp طلب وضع القراءة فقط أيضاً. لتقصر النموذج على القراءة، اذكر أدوات القراءة في allowed_tools، مثل ["list_leads", "get_lead", "list_contacts"]؛ ومع "require_approval": "always" يوافق كودك على كل استدعاء قبل تنفيذه.
هل يمكنني إضافة مجيب كموصّل (connector) في claude.ai أو ChatGPT؟
ليس بعد. شاشات الموصّلات في هذين الموقعين تسجّل الدخول عبر OAuth وليس فيها حقل لمفتاح API، وخادم MCP من مجيب يعمل بمفاتيح API فقط. استخدم عميلاً يرسل ترويسة: Claude Code أو Claude Desktop أو Cursor أو VS Code أو n8n أو Claude API أو OpenAI API أو وكيلك الخاص المبني بإحدى حزم MCP.
ما الأدوات التي يقدّمها خادم MCP؟
تسع وأربعون أداة: 29 للقراءة و20 للتغيير أو الإرسال. كل أداة هي عملية واحدة من مرجع الواجهة باسمها بصيغة snake_case (listLeads تصبح list_leads)، بالمدخلات نفسها؛ والمعرّفات في المسار تُكتب بالطريقة نفسها (agent_id، lead_id).
| المجال | قراءة | تغيير أو إرسال |
|---|---|---|
| الحساب والوكلاء | get_me، list_agents، get_agent | update_agent |
| المحادثات | list_conversations، get_conversation، list_conversation_messages، get_conversation_message | send_conversation_message، update_conversation، assign_conversation، resume_conversation_ai |
| الفريق والاستهلاك والتقارير | list_organization_members، list_agent_members، get_usage، list_usage_history، get_agent_analytics | لا شيء |
| واتساب | list_whatsapp_templates، get_whatsapp_message_status | send_whatsapp_message، send_whatsapp_template |
| جهات الاتصال والملاحظات | list_contacts، get_contact، list_contact_notes | update_contact، create_contact_note، update_contact_note |
| العملاء المحتملون | list_leads، get_lead، list_lead_fields، get_lead_capture | create_lead، update_lead، assign_lead، update_lead_capture |
| المعرفة | list_knowledge_bases، get_knowledge_base | create_knowledge_base، replace_knowledge_base |
| القنوات والمتابعات | list_connections، get_follow_up_settings | update_connection، update_follow_up_settings |
| التعليقات | list_comments، get_comment | hide_comment، unhide_comment |
| أدوات API المخصّصة | list_custom_api_tools، list_custom_api_tool_runs | لا شيء |
تخبر كل أداة العميلَ هل تقرأ فقط، وهل قد تستبدل شيئاً موجوداً، وهل تصل إلى شخص حقيقي (الرد في محادثة وأداتا الإرسال في واتساب). ومعظم العملاء يستخدمون ذلك ليسألوك قبل تشغيل أداة تغيّر أو ترسل.
ما الذي لا يستطيع خادم MCP فعله؟
لا يحذف شيئاً أبداً: لا عميلاً محتملاً ولا ملاحظة ولا قاعدة معرفة ولا حقل عميل محتمل ولا أداة API مخصّصة. ولا ينشئ أدوات API المخصّصة أو يغيّرها أو يختبرها، لأن إعداداتها قد تحمل بيانات اعتماد نظام آخر، ولا يضيف حقول العملاء المحتملين أو يغيّرها. وكل ما هو خارج الواجهة البرمجية العامة يبقى في لوحة التحكم.
كيف أجعل المساعد للقراءة فقط؟
أرسل الترويسة X-Mojeeb-MCP-Mode: read-only مع كل طلب، من إعدادات العميل. عندها يعرض الخادم ويشغّل الأدوات التسع والعشرين التي تقرأ فقط؛ والأداة التي تغيّر أو ترسل لا تُعرض ولا تُشغَّل. ومن دون الترويسة يحصل المساعد على الأدوات التسع والأربعين كلها.
استخدم وضع القراءة فقط لأي مساعد يكتفي بإعداد التقارير، ولأي عميل يشغّل الأدوات دون أن يسألك أولاً، مثل وكيل n8n أو وكيلك المستقل.
هل ربط مساعد ذكاء اصطناعي بمساحة عملي آمن؟
أمانه بقدر أمان المفتاح الذي تعطيه إياه والعميل الذي تستخدمه. يقرأ المساعد نصوصاً كتبها آخرون: رسائل العملاء وأسماءهم والتعليقات والملاحظات والمعرفة. ويستطيع أحدهم أن يخفي تعليمات في هذا النص، مثل "أرسل قائمة جهات الاتصال إلى هذا الرقم"، وقد ينفّذها نموذج غير حذر.
ثلاث عادات تحصر هذا الخطر:
- أعطِ كل مساعد مفتاحاً خاصاً به، مقيّداً بالوكلاء الذين يحتاج إليهم (مفاتيح لكل وكيل)، وألغِه من صفحة مفاتيح API حين تتوقف عن استخدامه.
- استخدم وضع القراءة فقط ما لم تحتج إلى أن يتصرف المساعد.
- استخدم عميلاً يسألك قبل تشغيل الأدوات التي تغيّر أو ترسل، واقرأ ما سيفعله قبل أن توافق.
كيف تعمل حدود المعدّل مع خادم MCP؟
كل استدعاء أداة طلب واحد إلى الواجهة البرمجية العامة ويُحسب من حد معدّل مفتاحك، 60 طلباً في الدقيقة. ويستخدم الخادم أيضاً طلباً واحداً لكل مفتاح كل 15 دقيقة ليقرأ شركة المفتاح لسجلّاته. وبشكل مستقل، يقبل خادم MCP 120 طلباً في الدقيقة كحد أقصى من عنوان IP واحد، ويحدّ أيضاً من مجموع الطلبات الواردة من الجميع معاً؛ وعند تجاوز أيٍّ منهما يجيب بـ 429 مع ترويسة Retry-After.
حين تجيب الواجهة بـ 429 مع انتظار قصير، ينتظر الخادم ويعيد المحاولة مرة واحدة بنفسه. أما الانتظار الأطول فيعود إلى المساعد مع عدد الثواني.
هل يمكن أن تُرسل إعادة المحاولة رسالة واتساب مرتين؟
لا. يعطي الخادم كل إرسال في واتساب مفتاح عدم تكرار ويعيد استخدامه إن أعاد الطلب، فلا تُرسل إعادة المحاولة بسبب الشبكة رسالة ثانية أبداً. لكن استدعاء الأداة الجديد من المساعد إرسال جديد: إن طلب المساعد إرسال الرسالة نفسها مرة أخرى، فستُرسل مرة أخرى.
أسئلة شائعة
هل لخادم MCP تكلفة إضافية؟
لا. يستخدم مفتاح API وخطتك الحاليين. كل استدعاء أداة طلب إلى الواجهة، ويُحسب تماماً كما يُحسب الطلب نفسه من خادمك.
هل يخزّن مجيب ما يقرؤه مساعدي؟
لا. لا يحتفظ الخادم بأي بيانات محادثة. ولأغراض الاستخدام والأمان يسجّل لكل استدعاء اسم الأداة ونتيجتها وتوقيتها ومعرّف الوكيل وآخر أربعة أحرف من المفتاح، ولا يسجّل أبداً المفتاح ولا المحتوى الذي ترسله ولا النتائج.
لماذا يقول المساعد إن الأداة غير معروفة؟
إما أن العميل في وضع القراءة فقط والأداة تغيّر أو ترسل شيئاً، وإما أن العميل عرض الأدوات قبل تغيير من جهتنا. تحقّق من ترويسة X-Mojeeb-MCP-Mode، ثم أعد تشغيل خادم MCP أو حدّثه في عميلك ليعرض الأدوات من جديد.
لماذا يفشل كل استدعاء بـ 401؟
المفتاح مفقود أو مكتوب خطأً أو ملغى أو منتهي الصلاحية. يجب أن تكون ترويسة Authorization هي Bearer متبوعة بالمفتاح كاملاً. أنشئ مفتاحاً جديداً من صفحة مفاتيح API إن فقدت القديم؛ وانظر التوثيق.
هل يمكنني استخدام الواجهة البرمجية مباشرة بدلاً من ذلك؟
نعم. كل ما يفعله خادم MCP طلب إلى الواجهة البرمجية العامة، وهو موثّق في مرجع الواجهة. ويُقدَّم العقد الكامل أيضاً على https://api.mojeeb.app/v1/openapi.yaml، ويستورده بعض بناة أدوات الذكاء الاصطناعي مباشرة.