ابزارهای MCP
cc_server یک رجیستری ابزار MCP (JSON-RPC 2.0) را میزبانی میکند که روی پورت اصلی سرور (پیشفرض 9030) در POST /mcp و GET /sse سرو میشود؛ نسخهٔ پروتکل 2024-11-05 است. هر کارخواه به همان رجیستری میرسد: برنامهٔ رومیزی، نسخهٔ وب، کارخواههای بیرونی MCP و زمان اجرای داخلی عامل. سرورهای بیرونی MCP را میتوان بهصورت یک لایهٔ پویا به همان رجیستری پل زد.
اندازهٔ رجیستری
بخش با عنوان “اندازهٔ رجیستری”| سنجه | شمار |
|---|---|
ابزارهای ثبتشده توسط cc_server |
۱۱۰ |
از packages/cc_mcp |
۱۰۸ |
از packages/cc_mcp_client (کشف ابزار) |
۲ |
ثبتشده در رجیستری پایه (server_mcp_registry.dart) |
۶۳ |
ثبتشده پس از بوت، همزمان با بالا آمدن سرویسهایشان (cc_server_runtime.dart) |
۴۷ |
| از ۶۳ ابزار رجیستری پایه، مشروط به یک مخزن گراف کد | ۵ |
پنج ابزار گراف کد تنها زمانی ثبت میشوند که میزبان یک مخزن گراف کد به buildServerMcpRegistry بدهد. cc_server همیشه یکی میفرستد، پس هر ۱۱۰ ابزار در باینری عرضهشده زندهاند.
رجیستری کامل در tools/list اعلام میشود، بدون هیچ دروازهگذاری کشف. ویرایشهای تیکت ابزارهایی نوعدارند.
پارامترهای مشترک
بخش با عنوان “پارامترهای مشترک”workspace_id
بخش با عنوان “workspace_id”روی هر ابزاری که به دادهٔ محدود به فضای کاری دست میزند الزامی است. 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 |
فهرستکردن slugهای مهارت موجود در یک فضای کاری |
create_skill |
ساختن مهارتی تازه از محتوای markdown |
install_skill |
نصب کل پوشهٔ یک مهارت از یک مخزن GitHub روی یک ref پینشده |
update_skill |
بهروزرسانی یک مهارت GitHub نصبشده به یک ref تازه، با اسکن و پین دوباره |
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 |
فهرستکردن مخزنهای ثبتشده در یک فضای کاری. فراخوانهای عامل مسیرهای worktree جدا و کپیهنگامنوشتنِ گفتگوی خود را میگیرند، هرگز چکاوتهای اصلی را |
ابزارهای پیامرسانی
بخش با عنوان “ابزارهای پیامرسانی”| ابزار | توضیح |
|---|---|
list_spaces |
فهرستکردن فضاهای پیامرسانی یک فضای کاری |
get_messages |
واکشی پیامها از یک فضا |
send_message |
ارسال پیامی به یک فضا بهعنوان عاملی فرستنده با نام مشخص |
get_space_notes |
خواندن سند تحویل مشترک یک فضا |
update_space_notes |
جایگزینی سند تحویل مشترک یک فضا |
todo_write |
جایگزینی چکلیست کارهای این گفتگو در یک فراخوانی (فهرست کامل را بفرستید) |
ابزارهای بازبینی
بخش با عنوان “ابزارهای بازبینی”| ابزار | توضیح |
|---|---|
start_ai_review |
آغاز بازبینی هوش مصنوعی برای یک PR: محاسبهٔ حوزههای بازبینی، پخش بازبینهای متخصص در فضای PR، نوشتن مرور گامبهگام و نهاییسازی |
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 |
محاسبهٔ اجماع بهازای هر گره و حکم بهازای هر PR و بستن بازبینی |
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 |
افزودن یک یادداشت به حافظهٔ کاری داغ عامل برای این نشست (محدود با TTL و شمار) |
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 |
تعریف یک نمایهٔ اجرای بازاستفادهپذیر (خانوادهٔ پروتکل، فرمان CLI، آرگومانهای راهاندازی ثابت) |
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 |
پیوند یا لغو پیوند یک تیکت و یک pull request بر پایهٔ شناسهٔ گرهٔ PR (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 — را از درون یک اجرا برانید. پس از بوت و بدون قید و شرط ثبت
میشوند: اینکه ماشینی واقعاً میتواند بوت شود، پرسشی کاوشی است که ابزارها در هر
فراخوانی پاسخ میدهند. فراخوانیهای تکراری در یک گفتگو یک ماشین را دوباره به کار
میگیرند؛ نماگرفتها بهصورت محتوای تصویری با بودجهٔ یک تصویر در هر نتیجه برمیگردند و
محتوای صفحه/رابط کاربری استخراجشده بهعنوان دادهٔ نامطمئن حصار میشود. چهار ابزار
use بههمراه rig_close کلاس کنش
enclosureControl را اعلام میکنند
(ابزارهای use همچنین networkEgress و processSpawn را اعلام میکنند؛ mobile_use و
ios_use هم packageInstall را)، پس حالتهای فقطخواندنی آنها را رد میکنند. rig_list
هیچکدام را اعلام نمیکند — تنها وضعیت فضای کاری را میخواند. واژگان کامل فعلها بهازای هر سطح در
مرجع ریگها آمده است.
| ابزار | توضیح |
|---|---|
computer_use |
راندن یک میزکار Linux در یک VM محفظهای: جابهجایی، کلیک، کشیدن، پیمایش، تایپ، تغییر اندازه، بریدهدان، نماگرفت |
browser_use |
راندن یک Chromium، Firefox یا WebKit بیسر (engine): پیمایش، کلیک، پرکردن، استخراج (a11y/DOM/کنسول)، بریدهدان، نماگرفت |
mobile_use |
راندن Android روی ADB: بررسی/ورود، نماگرفت، نصب/شروع/توقف/بازنشانی/حذف برنامهها، پیوندهای عمیق و فرمانهای دستگاه بهشکل argv |
ios_use |
راندن شبیهساز iOS از طریق WebDriverAgent/CoreSimulator: بررسی/ورود، نماگرفت، نصب/شروع/توقف/حذف برنامهها، پیوندهای عمیق و فرایندهای شبیهساز بهشکل argv |
rig_list |
فهرستکردن ریگهای یک فضای کاری با سطح، وضعیت، اندازهٔ نمایشگر و کنترلکننده |
rig_close |
نابودکردن یک ریگ و دور انداختن وضعیت ماشین تحت مالکیت آن |
چیزهایی که از طریق MCP عرضه نمیشوند
بخش با عنوان “چیزهایی که از طریق MCP عرضه نمیشوند”تقویم و جلسهها هیچ ابزار MCPای ندارند. عاملها نمیتوانند تقویم، جلسهها، رونوشتها، آیتمهای کنشی یا تصمیمهای شما را بخوانند. خلاصهای که آیتمهای کنشی و تصمیمها را تولید میکند، بهصورت پایپلاین توکار meeting_summary اجرا میشود، نه بهصورت ابزاری که یک عامل بتواند فراخوانی کند.
دروازهگذاری ابزار بر پایهٔ حالت
بخش با عنوان “دروازهگذاری ابزار بر پایهٔ حالت”دروازهگذاری دو بار از یک جدول (ModeToolPolicy) اعمال میشود: یکبار در اعزامکنندهٔ MCP برای آداپتور Claude Code و یکبار در رجیستری هارنس داخلی. یک فراخوان مسدودشده دلیل را برمیگرداند.
| حالت | سطح ابزار |
|---|---|
chat |
هر ابزار ثبتشده؛ بدون فهرست مجاز |
plan |
یک فهرست مجاز دستچینشده. بدون نوشتن در worktree و بدون افعال تیکتی 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 تنها برای کارخواههای انسانی (بالا را ببینید) |