وثائق

Coroid كخادم MCP

قم بالاتصال بـ Hermes أو Codex أو Claude Code أو أي عميل MCP آخر، واعمل مع Coroid عبر الأدوات المنظمة.

Coroid يوفر خادم بروتوكول سياق النماذج (MCP) عن بُعد. يمكن لأي مساعد أو وكيل خارجي، مثل Hermes أو Codex أو Claude Code، استخدامه للعمل مع Coroid عبر سجل الأدوات المنظمة نفسه الذي يستخدمه مساعد الدردشة.

قم بالتكوين تحت إعدادات → اتصالات → Coroid MCP server، والذي يشمل نظرة عامة، إعداد العميل، رموز الوصول، عمليات الموافقة و سياسات الأتمتة.

نقطة الاتصال

يعمل خادم MCP على بوابة API، في هذا العنوان:

https://api.coroid.ai/mcp

النقل يتم عبر بروتوكول Streamable HTTP غير المبني على الحالة. قم بالمصادقة باستخدام OAuth أو رمز وصول شخصي.

ما الذي تم تفعيله

يقوم Coroid بتفعيل قدرات MCP على مراحل، وذلك لكل منظمة دفعة واحدة.

القدرةعلى coroid.ai
تسجيل الدخول عبر OAuthمفعّل
قراءة الأدواتمفعّل
رموز الوصول الشخصيةمفعّل
أدوات إنشاء أو تغيير أو تشغيل أو تسليم المهاممفعّل
أدوات الإدارة، بما في ذلك إعدادات المنظمةلم يتم تفعيله بعد

طالما أن الميزة غير مفعلة، لن يرى العملاء أدواتها وترفض Coroid استدعاءاتها. تصف بقية هذه الصفحة المجموعة الكاملة من الأدوات.

ربط عميل

استخدم بروتوكول OAuth إذا كان عميلك يدعمه. ستوافق على الاتصال في متصفحك ويمكنك إلغاؤه في أي وقت. تظل رموز الوصول صالحة لمدة 15 دقيقة بينما تظل رموز التجديد صالحة لمدة 30 يومًا، ويستبدل كل تجديد رمز التجديد القديم.

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

Hermes

hermes mcp add coroid --url https://api.coroid.ai/mcp --auth oauth
hermes mcp login coroid
hermes mcp test coroid

بدلاً من ذلك، باستخدام رمز وصول:

hermes mcp add coroid --url https://api.coroid.ai/mcp --auth header

زود Hermes بالرمز عند طلبه إياه. احفظه في مستودع بيانات اعتماد Hermes بدلاً من ملف الإعدادات الخاص به.

Codex

codex mcp add coroid --url https://api.coroid.ai/mcp
codex mcp login coroid --scopes mcp.read,mcp.work.write,mcp.execute,mcp.delivery

بدلاً من ذلك، باستخدام رمز وصول:

export COROID_MCP_TOKEN="cmp_pat_…"
codex mcp add coroid --url https://api.coroid.ai/mcp --bearer-token-env-var COROID_MCP_TOKEN

Claude Code

claude mcp add --transport http --scope user coroid https://api.coroid.ai/mcp
/mcp

نفّذ الأمر الأول في محطة الطرفية. ثم اكتب الثاني في Claude Code، واختر Coroid وسجّل الدخول في متصفحك.

بدلاً من ذلك، باستخدام رمز وصول:

export COROID_MCP_TOKEN="cmp_pat_…"
claude mcp add --transport http --scope user --header "Authorization: Bearer $COROID_MCP_TOKEN" coroid https://api.coroid.ai/mcp

عملاء آخرون

يمكن لأي عميل يدعم خوادم MCP عن بُعد عبر بروتوكول HTTP القابل للتدفق أن يتصل. تنشر Coroid بيانات تعريف OAuth للنقطة النهائية وتدعم تسجيل العميل الديناميكي باستخدام بروتوكول PKCE. العميل الذي لا يستخدم OAuth يمكنه إرسال رمز وصول كرمز حامل في هذا الرأس: Authorization.

قبل أن يغير الوكيل أي شيء، اطلب منه سرد أدوات Coroid وقراءة هذا المصدر: coroid://context. يعرض ذلك الشخص الذي يتصرف نيابة عنه الوكيل، والنطاقات والمشاريع المتاحة له.

رموز الوصول

يتم إنشاء الرموز وإدارتها تحت رموز الوصول. ومثل أي بيانات اعتماد أخرى، يتم عرضها مرة واحدة ولن تُعاد بعد ذلك.

قم بإصدار رمز لكل عميل بدلاً من مشاركة رمز واحد. وبذلك، يكون إلغاء وصول عميل معين إجراءً محدودًا وليس عطلًا يؤثر على الجميع.

يعمل الرمز نيابةً عن الشخص الذي أنشأه، ولا يمكن إنشاؤه إلا من قبل شخص مسجل الدخول إلى البوابة. لكل رمز نطاقاته الخاصة، وينتهي صلاحيته بعد 30 أو 90 أو 365 يومًا، ويمكنه الوصول إلى جميع المشاريع أو فقط المشاريع التي تحددها. كما يمكن للمالك ربط سياسة أتمتة به. يبدأ كل رمز بنفس البادئة: cmp_pat_.

احتفظ برمز الوصول في بيئة العميل أو مستودع الاعتمادات. لا تضعه أبداً في مستودع أو موجه.

النطاقات والأدوار

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

نطاقما الذي يفتحهأدنى دور
mcp.readقراءة المشاريع، المهام، الخطط، دورات العمل، التقارير، التبعيات، السعة، تشغيل الوكلاء، مسارات المصنع، عمليات الترويج والإصداراتمراجع
mcp.work.writeإنشاء وتغيير المهام، الخطط، دورات العمل، التبعيات والتقاريرعضو
mcp.executeبدء العمل، إيقافه، إعادة محاولته، تعليقه، استئنافه وإلغاؤهعضو
mcp.deliveryالموافقة على الخطط، إغلاق دورات العمل، عمليات الترويج، التحقق من المسارات والإصداراتعضو
mcp.projects.adminإنشاء المشاريع وتحديثها وأرشفتها واستعادتها، بالإضافة إلى ترقيم الإصداراتمشرف
mcp.schedules.adminقراءة الجداول الزمنية وإنشاؤها وتحديثها وتشغيلها وحذفهامشرف
mcp.integrations.adminقراءة التكاملات واختبارها وتفعيلها أو إلغاء تفعيلها وحذفهامشرف
mcp.secrets.writeإنشاء تكاملات تحتوي على اعتماداتمالك
mcp.organization.adminالأعضاء، الدعوات، ملف تعريف المنظمة وإعدادات المنظمةمالك
mcp.billing.readمحجوز. لا تستخدمه أي أداة بعد—
mcp.billing.writeمحجوز. لا تستخدمه أي أداة بعدمالك

لا يمكن لمشرف أو مالك منح نطاق يكون أدنى دوره مشرفًا. ولا يمكن لمالك منح نطاق يكون أدنى دوره مالكًا.

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

أدوات

تعرض واجهة العميل فقط الأدوات التي تم تفعيلها والتي تسمح بها نطاقاتك ودورك. يوضح عمود الموافقة ما يحدث عند استدعاء أداة ما:

موافقةما الذي يحدث
لا شيءتُشغل الأداة فورًا
سياسةتنتظر المكالمة الموافقة، ما لم تغطيها سياسة أتمتة
دائمًاتنتظر المكالمة دائمًا موافقة المالك أو المشرف

قراءة

تحتاج هذه الأدوات إلى دور المراجع وهذا النطاق: mcp.read. ولا تحتاج أي منها إلى موافقة.

منطقةأدوات
مشاريعlist_projects، get_project، get_project_dependencies، list_project_branches
مهامlist_tasks، get_task، get_workflow_status، get_execution_status، check_task_can_start
خططlist_plans، get_plan، get_plan_progress، list_plan_tasks
دورات عملlist_sprints، get_sprint، get_sprint_status
تبعياتanalyze_dependencies، get_dependency_graph، get_global_dependency_graph، get_cross_project_blockers
تقاريرlist_reports، get_report، export_report، explain_report_execution، list_report_folders، list_report_subscriptions، list_report_templates
السعة والنشاطget_capacity_dashboard، get_queue_eta، get_mission_control_activity، get_global_execution_stats، get_global_execution_actions، list_global_execution_runs
تشغيل الوكلاءlist_agent_executions، get_agent_execution، get_agent_execution_state، get_execution_conversation، list_tool_executions
مسارات المصنع والعروض الترويجيةlist_factory_lanes، get_factory_lane، list_factory_lane_tasks، get_factory_lane_gate_context، list_promotions، get_promotion
سجل الكودexplain_code

للاطلاع على أدوات الإصدارات، اطلع على إصدارات عبر MCP.

إنشاء وتعديل العمل

تتطلب هذه الأدوات دور العضو ونطاق: mcp.work.write.

منطقةأدواتموافقة
مهامcreate_task، update_taskلا شيء
خططcreate_plan، update_planلا شيء
خططdelete_planدائماً
دورات عملcreate_sprint، plan_sprint، add_task_to_sprintلا شيء
دورات عملremove_task_from_sprintدائماً
تبعياتcreate_dependencyلا شيء
تقاريرcreate_report، update_report، create_report_folder، update_report_folder، create_report_subscription، update_report_subscriptionلا شيء
تقاريرbatch_update_reports، delete_report، delete_report_folder، delete_report_subscriptionدائماً

العمل الذي يتم إنشاؤه عبر MCP لا يمر بمرحلة التأهيل. طلب بحجم خطة يُرسل إلى أداة المهام يتحول إلى خطة مسودة بدلاً من مهمة. الخطط التي تُنشأ عبر MCP تبدأ كمسودات.

تشغيل العمل

تتطلب هذه الأدوات دور العضو ونطاق: mcp.execute.

منطقةأدواتموافقة
مهامstart_task_execution، retry_task_executionسياسة
مهامstop_task_executionدائماً
خططstart_planning_workflow، execute_plan، retry_plan_task_integrationسياسة
خططcancel_planدائماً
دورات عملstart_sprintسياسة
تقاريرpause_report، resume_report، cancel_report، retry_report_generationسياسة
مصنعstart_global_execution، pause_global_execution، resume_global_execution، pause_factory_lane، resume_factory_laneسياسة
مصنعcancel_global_execution، set_agent_execution_stateدائماً

تسليم

تتطلب هذه الأدوات دور العضو ونطاق: mcp.delivery. توجد أقسام خاصة بالإصدارات أدناه.

أدواتموافقة
approve_plan، close_sprint، create_promotion، approve_promotion، request_promotion_changes، validate_factory_laneسياسة
force_merge_promotionدائماً

إدارة

تغيّر هذه الأدوات طريقة إعداد المنظمة ومشاريعها.

أدواتنطاقأدنى صلاحيةمراجعة
create_project، update_project، restore_projectmcp.projects.adminمشرفلا شيء
archive_projectmcp.projects.adminمشرفدائماً
list_schedules، get_schedule، create_schedule، update_schedulemcp.schedules.adminمشرفلا شيء
trigger_schedulemcp.schedules.adminمشرفسياسة
delete_schedulemcp.schedules.adminمشرفدائماً
list_integrations، get_integrationmcp.integrations.adminمشرفلا شيء
test_integrationmcp.integrations.adminمشرفسياسة
set_integration_status، delete_integrationmcp.integrations.adminمشرفدائماً
create_integrationmcp.secrets.writeمالكدائماً
list_organization_members، list_organization_invitationsmcp.organization.adminمالكلا شيء
invite_organization_member، update_organization_member_role، remove_organization_member، revoke_organization_invitation، update_organizationmcp.organization.adminمالكدائماً

إعدادات المنظمة

يمكن لوكيل مثل Hermes أن يقوم بإعداد المنظمة من خلال لقطات شاشة أو ملفات أو وصف. يقرأ هذا الوكيل تنسيق إعدادات Coroid، ثم يكتب ما تم اكتشافه في حزمة، ويُعرض معاينة للحزمة قبل تطبيقها. تتطلب هذه الأدوات دور المالك والنطاق التالي: mcp.organization.admin.

أداةوظيفتهاعمليات الموافقة
describe_organization_settings_schemaتعيد تنسيق الإعدادات، بالإضافة إلى أقسامه وتلميحات التعيين الخاصة بهلا يوجد
export_organization_settingsتصدّر الإعدادات الحالية مع وضع قيم السر كأماكن احتفاظلا يوجد
preview_organization_settings_importتُظهر التغييرات التي ستطرأ على الحزمة دون تطبيقها فعليًالا يوجد
apply_organization_settings_importتطبق الحزمة، حيث يتم دمجها مع الإعدادات الحالية بشكل افتراضي أو استبدالهادائمًا

تحتوي الحزمة على أماكن احتفاظ بدلاً من قيم السر، وترفض Coroid أي حزمة تحتوي على سر. اطلع على تصدير واستيراد الإعدادات.

إصدارات عبر MCP

أدوات الإصدار هي نفسها التي يستخدمها مساعد الدردشة، وتمر عبر نفس Release API كما في البوابة:

أداةنطاقموافقة
list_releases، get_release، list_release_commits، preview_release، get_release_settings، list_release_pull_requestsmcp.readلا شيء
create_release، update_release، run_release_checks، draft_release_notesmcp.deliveryلا شيء
approve_release، request_release_deployment، bundle_release_pull_requestsmcp.deliveryدائمًا
update_release_versioningmcp.projects.adminلا شيء

create_release يقبل رمز التزام كامل، أو رمز تزام مختصر لالتزام حديث، أو latest، ويترك تحديد الإصدار لمصدر الإصدار الخاص بالمشروع ما لم تحدده أنت. get_release يُظهر، لكل بيئة، عمليات الفحص، آخر عملية نشر، الإصدار الذي أبلغت عنه خطوط الإنتاج، وما إذا كان Coroid قد تحقق من الإصدار الجاري. لا يمكن لرمز محدود لمشاريع معينة الوصول إلى إصدارات في مشاريع أخرى. ولا تزال قواعد الموافقة الخاصة بـ Release API سارية، لذا فإن الموافقة عبر MCP تعادل تمامًا الموافقة في البوابة.

list_release_pull_requests تُعيد طلبات السحب المفتوحة لمشروع ما بالترتيب الذي يقترحه Coroid، مع ذكر سبب استبعاد أي منها. bundle_release_pull_requests ينشئ إصدارًا منها: فرع إصدار تُدمج فيه طلبات السحب بالترتيب وطلب pull request للإصدار واحد. ويدفع فرعًا ويفتح pull request، لذا ينتظر دائمًا تدخل شخص. استبعد prNumbers لاستخدام اختيار Coroid.

عمليات الموافقة وسياسات الأتمتة

عمليات الموافقة هي قائمة انتظار للإجراءات التي تنتظر موافقة إنسان. سياسات الأتمتة تحدد ما يجب أن يوجد في تلك القائمة.

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

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

تسمح سياسة الأتمتة لرمز الوصول بتشغيل الأدوات المُصنفة ضمن فئة 'Policy' دون انتظار موافقة. يقتصر إنشاء السياسات وربطها بالرموز على المالكين فقط. تحدد السياسة الأدوات الدقيقة، ويمكن تقييدها على مشاريع معينة، كما تحدد عدد المكالمات التي يمكن تشغيلها في الساعة واليوم وفي نفس الوقت، بالإضافة إلى تاريخ انتهائها. إلغاء السياسة يعني إلغاء كل الرموز المرتبطة بها؛ أما الأدوات المصنفة ضمن فئة 'Always' فلا تخضع أبداً للسياسات.

لا يمكن لاتصال OAuth أن يحمل سياسة؛ فعبر بروتوكول OAuth، تنتظر كل أداة مصنفة ضمن فئة 'Policy' موافقة.

عمليات إعادة المحاولة والعمليات والموارد

كل أداة تُحدث تغييرًا ما تتطلب هذه المعلمة: idempotencyKey. استخدم مفتاحًا جديدًا لكل إجراء جديد، والمفتاح نفسه عند إعادة محاولة الإجراء. وبذلك تُرجع Coroid النتيجة الأولى بدلاً من تنفيذ الإجراء مرتين؛ أما استخدام مفتاح مكرر مع وسائط مختلفة فيتم رفضه.

كما تُرجع أي عملية تغيير نتيجة تسجل حالتها ونتائجها؛ وتعمل هذه الأدوات الأربع مع كل اتصال:

الأداةوظيفتها
get_operationتُرجع حالة العملية ونتائجها
wait_for_operationتنتظر حتى 25 ثانية لتغيير حالة العملية
cancel_operationتلغي عملية لم تبدأ بعد
get_approvalتُرجع حالة عملية الموافقة ونتائجها

كما يوفر الخادم هذه الموارد:

الموردمحتوياته
coroid://contextالهوية التي يعمل بها الاتصال، مع دوره ونطاقاته ومشاريعه
coroid://capabilitiesالأدوات التي يمكن لهذا الاتصال استخدامها
coroid://operations/{operationId}عملية واحدة
coroid://approvals/{approvalId}عملية موافقة واحدة

كما يقدم ثلاثة مطالبات: create_and_run_task، investigate_failure، prepare_release.

لكل أداة حدود محددة لكل دقيقة وساعة ويوم؛ وإذا تجاوزت المكالمة هذه الحدود، تفشل وتوضح المدة التي يجب الانتظارها قبل إعادة المحاولة.

ما لا يتم الكشف عنه عمدًا

سجل الأدوات خاضع للتنظيم، والاستثناءات مقصودة؛ فهو لا يوفر أيًا من هذه العناصر:

  • محاكي طرفية
  • وصول إلى Git
  • نظام الملفات
  • وصول مباشر إلى قاعدة البيانات
  • طلبات HTTP داخلية تعسفية
  • أدوات إدارة MCP الصادرة عن Coroid نفسها

ستحصل على القدرة على إدارة المهام — إنشاء المهام والخطط والمشاريع والإصدارات وفحصها — وليس بيئة تنفيذ عن بُعد. لا يمكن لعميل MCP استخدام Coroid لتشغيل أوامر تعسفية.

لأي غرض يُستخدم؟

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