تخطَّ إلى المحتوى

أدوات MCP

يستضيف cc_server سجل أدوات MCP واحدًا (JSON-RPC 2.0)، يُقدَّم على منفذ الخادم الرئيسي (الافتراضي 9030) عند POST /mcp وGET /sse، بإصدار البروتوكول 2024-11-05. يصل كل عميل إلى السجل نفسه: تطبيق سطح المكتب، وبناء الويب، وعملاء MCP الخارجيون، وبيئة تشغيل الوكيل المضمّنة. يمكن جسر خوادم MCP الخارجية إلى السجل نفسه طبقةً ديناميكية.

المقياس العدد
الأدوات التي يسجّلها cc_server 110
من packages/cc_mcp 108
من packages/cc_mcp_client (اكتشاف الأدوات) 2
المسجَّلة في السجل الأساسي (server_mcp_registry.dart) 63
المسجَّلة بعد الإقلاع حين تصعد خدماتها (cc_server_runtime.dart) 47
من أدوات السجل الأساسي البالغ عددها 63، ما يُشترط له مستودع مخطط شفرة 5

لا تُسجَّل أدوات مخطط الشفرة الخمس إلا حين يمرّر المضيف مستودع مخطط شفرة إلى buildServerMcpRegistry. يمرّر cc_server واحدًا دائمًا، فتعمل الأدوات الـ110 كلها في الثنائي المُشحَن.

يُعلَن السجل كاملًا في tools/list بلا بوابة اكتشاف. تعديلات التذاكر أدوات منمَّطة.

مطلوب في كل أداة تلمس بيانات على نطاق مساحة العمل. غياب workspace_id أو عدم صلاحيته يعيد خطأً صريحًا، والقيمة التي لا تطابق مساحة عمل الكيان المستهدف تُرفض بدل أن تُتجاهل بصمت. احذفه في الأدوات العالمية فعلًا: list_workspaces وأدوات موجز الأخبار الست (list_feeds وlist_articles وget_article وset_article_read وset_article_saved وrefresh_feeds)، فهي تسير على قائمة موجزات مالك الخادم الخاصة بكل مستخدم. تأخذ أدوات الاكتشاف (search_tool_bm25 وlist_my_tools) المعامل اختياريًا حتى تصنّف قابلية الاستدعاء حسب وضع المحادثة. حين يُرسَل الوكيل من الخادم، تُفرَض مساحة العمل من جهة الخادم، فلا يبلغ مساحة عمل أخرى بتمرير معرّف غريب.

تأتي كلتاهما من cc_mcp_client لا من cc_mcp، وتستشيران حارس الوضع حتى تُبلغا عما يُستدعى في وضع المحادثة الحالي.

الأداة الوصف
search_tool_bm25 ابحث في فهرس الأدوات بكلمة مفتاحية؛ يعيد الأدوات المطابقة ومخططات وسائطها وهل كل منها قابلة للاستدعاء الآن
list_my_tools اسرد الأدوات القابلة للاستدعاء الآن في هذه المحادثة، مرشَّحة بوضعها

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

الأداة الوصف
list_agents اسرد الوكلاء المسجَّلين في مساحة عمل

مراسلة الأقران بين الوكلاء والتفويض

قسم بعنوان “مراسلة الأقران بين الوكلاء والتفويض”

يتحدث الوكلاء بعضهم إلى بعض عبر المساحات (دائمة، وظاهرة في الكشف). ask_agent طلب وردّ بمهلة إلزامية، وdelegate_task محروس من جهة الخادم بسقف عمق وكشف دورات وغلاف ميزانية وسقف استقلالية.

الأداة الوصف
send_to_agent أرسل رسالة في اتجاه واحد إلى وكيل آخر، تُوجَّه بـ to_agent_id أو بـ to_agent_name المطابق تمامًا
ask_agent اسأل وكيلًا آخر وانتظر ردّه، أو تنقضي المهلة
delegate_task فوّض مهمة إلى وكيل آخر تذكرةً ابنة متتبَّعة
consult_agent أضف الاختصاصي الأوفق مطابقةً بالمهارات إلى المساحة، وأرسِله بموجز مركّز
todo_read اقرأ قائمة المهام المحفوظة لهذه المحادثة

يمر كل تثبيت وتحديث ببوابة فحص مغلقة عند الفشل قبل أن يصل أي محتوى مهارة إلى القرص أو إلى مطالبة وكيل.

الأداة الوصف
list_skills اسرد معرّفات المهارات المتاحة في مساحة عمل
create_skill أنشئ مهارة جديدة من محتوى markdown
install_skill ثبّت مجلد المهارة كاملًا من مستودع GitHub عند مرجع مثبَّت
update_skill حدّث مهارة GitHub مثبَّتة إلى مرجع جديد، مع إعادة الفحص وإعادة تثبيت المرجع
list_skill_updates اسرد المهارات التي يتوفر لها إصدار أحدث
verify_skills تحقق من المهارات المقفلة مقابل تجزئات محتواها على القرص
pin_skill اكتب تجزئة مهارة موجودة على القرص في skills-lock.json

أدوات الخطة وكتيب التشغيل والمُخرَجات

قسم بعنوان “أدوات الخطة وكتيب التشغيل والمُخرَجات”
الأداة الوصف
submit_plan عقد إخراج وضع التخطيط: أصدِر PlanDocument منمَّطًا يُفتح في Plan Studio
create_playbook احفظ خطة قالبًا مسمّى ذا إصدارات، فيه مواضع {{param}} ذات نوع
run_playbook أنشئ من كتيب تشغيل بقيم المعاملات خطةً يوافق عليها المشغّل
publish_artifact انشر قائمة مرتَّبة من كتل منمَّطة (markdown، وجدول، ومخطط، وmermaid، وشفرة، وJSON) تُعرَض في العميل عرضًا أصليًا
revise_artifact استبدل محتوى مُخرَج منشور
list_artifacts اسرد مُخرَجات مساحة العمل
get_artifact اقرأ مُخرَجًا واحدًا
complete_goal أعلن أن الهدف الدائم النشط لهذه المحادثة (المبدوء بـ /goal أو /loop) قد تحقّق
الأداة الوصف
list_workspaces اسرد كل مساحات العمل بمعرّفاتها وأسمائها (عالمية؛ بلا workspace_id)
الأداة الوصف
list_repos اسرد المستودعات المسجَّلة في مساحة عمل. يتلقّى مستدعو الوكيل مسارات شجرة العمل المعزولة بالنسخ عند الكتابة الخاصة بمحادثتهم، لا السحوبات الأصلية أبدًا
الأداة الوصف
list_spaces اسرد مساحات المراسلة في مساحة عمل
get_messages اجلب الرسائل من مساحة
send_message أرسل رسالة إلى مساحة باسم وكيل مُرسِل مسمّى
get_space_notes اقرأ وثيقة التسليم المشتركة لمساحة
update_space_notes استبدل وثيقة التسليم المشتركة لمساحة
todo_write استبدل قائمة مهام هذه المحادثة في استدعاء واحد (مرّر القائمة كاملة)
الأداة الوصف
start_ai_review ابدأ المراجعة بالذكاء الاصطناعي لطلب سحب: احسب مناطق المراجعة، ووزّع المراجعين الاختصاصيين في مساحة الطلب، واكتب الاستعراض الموجّه، ثم أنهِ
add_review_node أضف نتيجة مراجعة منظَّمة (ملف، وسطر، وأولوية P0–P3) إلى مساحة مراجعة
confirm_review_node أكّد نتيجة زميل؛ ولا يستطيع المؤلف تأكيد نتيجته بنفسه
resolve_review_node علّم نتيجة مُصلحة بعد إجراء التغيير فعلًا؛ وينشر أثرًا في مساحة المراجعة
dismiss_review_node أسقط نتيجة لا تنطبق؛ ويسجّل واقعة كتم حتى يكف المراجعون عن إعادة تعليمها
request_peer_review اطلب من وكيل مراجعة آخر نظرة ثانية على نتيجة
dispatch_reviewers أرسِل وكلاء المراجعة المطابقين إلى مساحة مراجعة، بالتوازي
submit_reviewer_verdict انشر حكم Ship أو Hold أو Block لكل مراجع، مع درجة الثقة وشرح
finalize_review احسب إجماع كل عقدة وحكم طلب السحب، وأغلق المراجعة
set_cohort_summary عيّن ملخص مجموعة مراجعة بلغة عادية
add_review_diagram أرفق بمجموعة مخططًا منظَّمًا متحقَّقًا على مخطط الشفرة (sequence أو entityRelation أو stateMachine)
publish_review_to_github انشر المراجعة المُنهية على GitHub تعليقاتٍ سطرية مع متن ملخص
الأداة الوصف
search_memory ابحث في الحقائق والسياسات (بالكلمات المفتاحية، أو دلاليًا، أو هجينًا — والهجين هو الافتراضي)
propose_fact خزّن حقيقة markdown قصيرة في نطاق
supersede_fact علّم حقيقة مستبدَلة بأخرى
propose_policy خزّن قاعدة معيارية في نطاق (يتطلب ذلك إذن كتابة عليه)
supersede_policy أوقف سياسة — يعلّمها غير نشطة مع الإبقاء عليها للتدقيق
list_policies اسرد السياسات النشطة، مع تصفية اختيارية بالنطاق
list_memory_domains اسرد نطاقات ذاكرة مساحة العمل مع عددي الحقائق والسياسات
record_observation سجّل ملاحظة خامًا في الذاكرة العاملة للوكيل
get_my_notes اقرأ مسودة الذاكرة العاملة للوكيل المستدعي
update_my_notes حدّث مسودة الذاكرة العاملة للوكيل المستدعي
remember أضف ملاحظة إلى الطبقة الساخنة للوكيل في هذه الجلسة (محصورة بمهلة انتهاء وبعدد)
consolidate_memory أجرِ تمرير دمج («نوم»): أخلِ العناصر الساخنة المنتهية، وأدرج الدائمة منها في حقائق طويلة الأمد
harmonize_memory وفّق المعتقدات بين الوكلاء (SHMR) وعلّم التناقضات
list_memory_conflicts اسرد التناقضات المكتشَفة وكيف حُلّ كل منها
الأداة الوصف
create_goal أنشئ هدفًا تنظيميًا (على مستوى الشركة أو الفريق أو الوكيل أو المهمة)
list_goals اسرد الأهداف مع المستوى والحالة والتقدّم المجمَّع
update_goal_progress عيّن تقدّم هدف
create_approval افتح موافقة مجلس لإجراء محكوم (الخروج من الخطة، أو الدمج، أو الإصدار، أو التوظيف، أو مخصّص)
list_approvals اسرد الموافقات، مع تصفية اختيارية بالحالة
decide_approval سجّل قرارًا: موافقة، أو رفض، أو طلب تنقيح، أو إعادة إرسال
comment_approval علّق على موافقة مجلس
exit_plan_mode افتح موافقة plan_exit (واستهلكها بعد الموافقة)، فاقلب المحادثة خارج وضع التخطيط
agent_heartbeat أبلغ عن الحياة (حي، أو خامل، أو عالق)؛ والصمت يقلب صحة التشغيل إلى مفقود حديثًا ثم إلى غير متصل
list_runtime_health اسرد صحة تشغيل كل وكيل
list_agent_presence اسرد حضور كل وكيل (الصحة، ودورة الحياة، وعدد الجاري والمنتظر، والسعة)
get_org_chart اقرأ شجرة التبعية، والرئيس التنفيذي في الجذر، متداخلة حسب reports_to
create_work_product أنشئ منتج عمل دائمًا مربوطًا بتذكرة
save_work_product_revision احفظ مراجعة جديدة؛ مرّر base_revision_id ليُرفض الطلب عند تحرير متزامن
list_work_products اسرد منتجات العمل، مع تصفية اختيارية على تذكرة واحدة
get_work_product اقرأ منتج عمل مع سجل مراجعاته
create_runtime_profile عرّف ملف تشغيل قابلًا لإعادة الاستخدام (عائلة البروتوكول، وأمر سطر الأوامر، ووسائط إطلاق ثابتة)
list_runtime_profiles اسرد ملفات التشغيل في مساحة العمل

تُسجَّل فقط حين يوفّر المضيف مستودع مخطط شفرة. يغطي الفهرس مجموعة القواعد النحوية المُشحَنة (Dart وJS/TS وPHP وPython وRust وZig وC/C++ وGo وJava وRuby وC# وSwift وKotlin وR وAssembly وMATLAB وAda)، ورموز أي لغة أخرى غير موجودة.

الأداة الوصف
search_code ابحث في الرموز المفهرسة بالاسم والتوقيع وتعليق التوثيق (هجين من BM25 والدلالي)
code_symbol ابحث عن الرموز بالاسم المطابق تمامًا؛ ويعيد file:line والتوقيع
code_callers اسرد الرموز التي تستدعي رمزًا أو تعتمد عليه (الحواف الواردة)
code_callees اسرد الرموز التي يستدعيها رمز أو يعتمد عليها (الحواف الصادرة)
code_impact احسب نصف قطر التأثير المتعدي لرمز، حتى عمق معيّن
الأداة الوصف
create_ticket أنشئ تذكرة لدى المزوّد المُهيَّأ
get_ticket اجلب تذكرة واحدة بالمعرّف
list_tickets اسرد التذاكر، مع تصفية اختيارية بالحالة أو بالمُسنَد إليه
update_ticket حدّث الحالة أو العنوان أو الوصف أو الأولوية أو التسميات (تقبل الحالة أسماءً بديلة مثل in_progress / completed)
assign_ticket أسند تذكرة إلى وكيل و/أو فريق
reassign_ticket أعد إسناد تذكرة إلى وكيل آخر
add_ticket_collaborator ادعُ وكيلًا للتعاون على تذكرة (يُضاف إلى مساحتها)
comment_on_ticket علّق على تذكرة
close_ticket أغلق تذكرة (يعلّمها منجزة) مع مُخرَج اختياري
fail_ticket علّم تذكرة فاشلة مع رسالة خطأ
delegate_ticket فوّض تذكرة إلى وكيل، مع إنشاء تذكرة متتبَّعة
ticket_pr_link اربط تذكرة بطلب سحب أو فك الربط، بمعرّف عقدة طلب السحب (action: link | unlink)
ticket_relation أضف علاقة بين تذكرتين أو أزلها — blocked_by وblocking وrelated_to وduplicate_of وduplicated_by وsub_issue_of وparent_of (action: add | remove)
list_ticket_relations اسرد أصل التذكرة وتذاكرها الفرعية وروابط اعتمادها
الأداة الوصف
record_team_activity سجّل بند نشاط لقائد فريق على تذكرة
preview_trigger جرّب تجريبيًا أي تشغيلات خط أنابيب سيبدأها حدث افتراضي، من غير أن يُثبِت شيئًا
submit_output سلّم حمولة المُخرَج المنظَّم لتشغيل خط الأنابيب الحالي للمستدعي؛ وتُتحقَّق مقابل مخطط المُخرَج المُعلَن للتشغيل
الأداة الوصف
propose_orchestration أصدِر خطة تنسيق منظَّمة لعدة وكلاء لموافقة واحدة مقدَّمة؛ تتحقق وتعيد أي مخالفات
الأداة الوصف
list_feeds اسرد موجزات RSS/Atom المسجَّلة
list_articles اسرد المقالات، مع تصفية اختيارية بالموجز أو غير المقروء أو المحفوظ
get_article اجلب مقالًا واحدًا
set_article_read علّم مقالًا مقروءًا أو غير مقروء
set_article_saved احفظ مقالًا أو ألغِ حفظه
refresh_feeds أعد جلب كل موجز مُفعَّل الآن

أدوات الحاوية المعزولة (المنصة)

قسم بعنوان “أدوات الحاوية المعزولة (المنصة)”

قُد آلات يمكن التخلص منها — متصفحًا محصورًا أو سطح مكتب Linux، أو محاكي Android، أو محاكي iOS — من داخل تشغيل. تُسجَّل بعد الإقلاع بلا شرط: هل تستطيع الآلة أن تُقلع فعلًا سؤال سبر تجيب عنه الأدوات في كل استدعاء. تعيد الاستدعاءات المتكررة في محادثة واحدة استخدام آلة واحدة، وتعود لقطات الشاشة محتوى صورة بميزانية صورة واحدة لكل نتيجة، ويُسيَّج محتوى الصفحة أو الواجهة المستخرَج بوصفه بيانات غير موثوقة. تعلن أدوات الاستخدام الأربع وrig_close صنف الأثر enclosureControl (وتعلن أدوات الاستخدام أيضًا networkEgress وprocessSpawn؛ ويعلن mobile_use وios_use أيضًا packageInstall)، فترفضها أوضاع القراءة فقط. لا يعلن rig_list شيئًا — فهو يقرأ حالة مساحة العمل فقط. مفردات الأفعال الكاملة لكل سطح في مرجع المنصات.

الأداة الوصف
computer_use قُد سطح مكتب Linux في آلة افتراضية محصورة: تحريك، ونقر، وسحب، وتمرير، وكتابة، وتغيير حجم، وحافظة، ولقطة شاشة
browser_use قُد Chromium أو Firefox أو WebKit بلا واجهة (engine): تنقّل، ونقر، وملء، واستخراج (إمكانية الوصول/DOM/وحدة التحكم)، وحافظة، ولقطة شاشة
mobile_use قُد Android عبر ADB: فحص وإدخال، ولقطات شاشة، وتثبيت التطبيقات وبدؤها وإيقافها وإعادة ضبطها وإزالتها، وروابط عميقة وأوامر جهاز على شكل argv
ios_use قُد محاكي iOS عبر WebDriverAgent/CoreSimulator: فحص وإدخال، ولقطات شاشة، وتثبيت التطبيقات وبدؤها وإيقافها وإزالتها، وروابط عميقة وعمليات محاكٍ على شكل argv
rig_list اسرد منصات مساحة العمل مع السطح والحالة وحجم العرض والمتحكّم
rig_close دمّر المنصة وتخلَّ عن حالة الآلة التي تملكها

لا أدوات MCP للتقويم ولا للاجتماعات. لا يستطيع الوكلاء قراءة تقويمك، ولا اجتماعاتك، ولا النسخ النصي، ولا بنود العمل، ولا القرارات. الخلاصة التي تنتج بنود العمل والقرارات تعمل خطَّ أنابيب meeting_summary المضمّن، لا أداةً يستطيع وكيل استدعاءها.

يُفرَض التقييد مرتين انطلاقًا من جدول واحد (ModeToolPolicy): مرة في موزّع MCP لمحوّل Claude Code، ومرة في سجل الإطار المضمّن. يعيد الاستدعاء المحجوب السبب.

الوضع سطح الأدوات
chat كل أداة مسجَّلة؛ بلا قائمة سماح
plan قائمة سماح منتقاة. بلا كتابة في شجرة العمل وبلا أفعال تذاكر create / assign / delegate، لكن الذاكرة والمُخرَجات وقوائم المهام وsubmit_plan وexit_plan_mode وأفعال إكمال التذكرة على التذكرة المُرسَلة مسموحة
review قائمة سماح منتقاة: المشاركة في المراجعة، والتواصل، وجالبات السياق للقراءة فقط، ومجموعة أفعال التذاكر كاملة ومنها create_ticket وassign_ticket
orchestrate قائمة سماح منتقاة: أدوات البحث والقراءة إضافة إلى propose_orchestration وcreate_playbook وrun_playbook. يقع التوظيف والتفكيك وإكمال التذكرة حتميًا بعد الموافقة، ولا يحدث شيء من ذلك في منتصف التشغيل

مسموح في كل وضع بصرف النظر عن قائمة السماح:

المجموعة الأدوات
الذاكرة والمُخرَجات search_memory، propose_fact، propose_policy، supersede_fact، supersede_policy، record_observation، update_my_notes، get_my_notes، list_memory_domains، list_policies، publish_artifact، revise_artifact، list_artifacts، get_artifact
مخطط الشفرة search_code، code_symbol، code_callers، code_callees، code_impact
آليات التشغيل search_tool_bm25، list_my_tools، todo_write، todo_read

وجود الأداة في قائمة السماح لا يجعلها قابلة للاستدعاء، والعكس قائم أيضًا: قدرة سؤال المشغّل أداة في الإطار (ask_user)، فلا تظهر في فهرس MCP هذا أصلًا.

قد تعلن أداة requiresApproval. يبني الموزّع عندئذ ApprovalPayload ويعرضه عبر ConfirmationPort قبل أن تعمل الأداة، ويوصل cc_server ذلك المنفذ، فالبوابة حيّة.

الأدوات المسجَّلة التي تعلنه: create_ticket، update_ticket، assign_ticket، reassign_ticket، close_ticket، ticket_relation، create_goal، update_goal_progress، create_approval، decide_approval، comment_approval، create_work_product، save_work_product_revision، create_runtime_profile، install_skill، update_skill.

وعلى استقلال، تحكم ضوابط الإجراء الموحَّدة أي أداة تعلن مجموعة ActionClass غير فارغة. يُرفض قرار prompt إن لم يكن هناك معتمِد متصل. انظر الضوابط.

ليست كل قدرة في المنتج في متناول وكيل. هذه بلا أداة أصلًا، فالاسم الذي ربما رأيته مشارًا إليه في موضع آخر يعيد “unknown tool”:

القدرة أين تعيش بدل ذلك
توظيف وكيل أو فصله أو تحريره واجهة الوكلاء. لا توجد أداة hire_agent / fire_agent / update_agent
إنشاء مساحة عمل workspace.upsert عبر RPC، وهو يبذر الملكية ويختمها
المشاريع (إنشاء / سرد / تحديث / إيداع) واجهة التذاكر. المشاريع سطح للمشغّل — انظر المشاريع
سؤال المشغّل سؤالًا حاجبًا أداة الإطار ask_user، لا MCP. تعرض نموذجًا في المحادثة وتنتظر الجواب
تشخيص كل وكيل لا شيء. لا doctor — انظر تشخيص وكيل
التقويم والاجتماعات RPC لعملاء البشر فقط (انظر أعلاه)