ข้ามไปยังเนื้อหา

เครื่องมือ 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) รับมันเป็นทางเลือก เพื่อให้จำแนกได้ว่าเรียกใช้ได้หรือไม่ตามโหมดการสนทนา เมื่อเซิร์ฟเวอร์สั่งงานเอเจนต์ เวิร์กสเปซจะถูกบังคับฝั่งเซิร์ฟเวอร์ เอเจนต์จึงเข้าถึงเวิร์กสเปซอื่นไม่ได้ด้วยการส่ง id แปลกปลอมเข้ามา

ทั้งสองตัวมาจาก 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, table, chart, mermaid, code, JSON) ซึ่งเรนเดอร์เนทีฟในไคลเอนต์
revise_artifact แทนที่เนื้อหาของอาร์ติแฟกต์ที่เผยแพร่แล้ว
list_artifacts แสดงอาร์ติแฟกต์ของเวิร์กสเปซ
get_artifact อ่านอาร์ติแฟกต์หนึ่งรายการ
complete_goal ประกาศว่าเป้าหมายถาวรที่ใช้งานอยู่ของบทสนทนา (เริ่มด้วย /goal หรือ /loop) บรรลุแล้ว
เครื่องมือ คำอธิบาย
list_workspaces แสดงเวิร์กสเปซทั้งหมดพร้อม id และชื่อ (ระดับโลก; ไม่มี workspace_id)
เครื่องมือ คำอธิบาย
list_repos แสดงรีโปที่ลงทะเบียนไว้ในเวิร์กสเปซ ผู้เรียกที่เป็นเอเจนต์จะได้รับเส้นทาง worktree แบบ copy-on-write ที่แยกออกจากกันของบทสนทนาของมัน ไม่ใช่เช็กเอาต์ต้นฉบับ
เครื่องมือ คำอธิบาย
list_spaces แสดงสเปซส่งข้อความในเวิร์กสเปซ
get_messages ดึงข้อความจากสเปซ
send_message ส่งข้อความไปยังสเปซในนามของเอเจนต์ผู้ส่งที่มีชื่อ
get_space_notes อ่านเอกสารส่งต่องานที่ใช้ร่วมกันของสเปซ
update_space_notes แทนที่เอกสารส่งต่องานที่ใช้ร่วมกันของสเปซ
todo_write แทนที่รายการสิ่งที่ต้องทำของบทสนทนานี้ในครั้งเดียว (ส่งรายการทั้งหมด)
เครื่องมือ คำอธิบาย
start_ai_review เริ่มรีวิวด้วย AI สำหรับ 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 ตั้งสรุปภาษาธรรมชาติของ cohort รีวิวหนึ่งอัน
add_review_diagram แนบแผนภาพที่มีโครงสร้างและผ่านการตรวจสอบด้วยกราฟ (sequence, entityRelation, stateMachine) เข้ากับ cohort
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 รันรอบการรวม (“sleep”): ลบรายการร้อนที่หมดอายุออก และม้วนรายการถาวรเข้าข้อเท็จจริงระยะยาว
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 อ่านต้นไม้การรายงาน โดยมี CEO อยู่ที่ราก ซ้อนกันตาม 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 ดึงตั๋วงานหนึ่งใบตาม id
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 node id (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 Simulator — จากภายในรัน ลงทะเบียนหลังบูต แบบไม่มีเงื่อนไข: ว่าเครื่องจะบูตได้จริงหรือไม่เป็นคำถามเชิงตรวจสอบที่ เครื่องมือตอบเป็นรายการเรียก การเรียกซ้ำ ๆ ในบทสนทนาเดียวกันใช้เครื่องเดิมร่วมกัน; สกรีนช็อตส่งกลับมาเป็นเนื้อหารูปภาพโดยมีงบหนึ่งภาพต่อผลลัพธ์ และ เนื้อหาหน้าเว็บ/UI ที่สกัดออกมาถูกกั้นไว้เป็นข้อมูลที่ไม่น่าเชื่อถือ เครื่องมือใช้งานสี่ตัวบวก rig_close ประกาศคลาสการกระทำ enclosureControl (เครื่องมือใช้งานยังประกาศ networkEgress และ processSpawn ด้วย; mobile_use และ ios_use ยังประกาศ packageInstall ด้วย) โหมดอ่านอย่างเดียวจึงปฏิเสธเครื่องมือเหล่านี้ rig_list ไม่ประกาศคลาสใดเลย — มันอ่านสถานะเวิร์กสเปซเท่านั้น คำศัพท์คำกริยาทั้งหมดต่อพื้นผิวอยู่ใน เอกสารอ้างอิงริก

เครื่องมือ คำอธิบาย
computer_use ขับเดสก์ท็อป Linux ใน VM ที่ปิดล้อม: เลื่อน คลิก ลาก เลื่อนดู พิมพ์ ปรับขนาด คลิปบอร์ด สกรีนช็อต
browser_use ขับ Chromium, Firefox หรือ WebKit แบบไม่มีหน้าจอ (engine): นำทาง คลิก กรอก สกัด (a11y/DOM/console) คลิปบอร์ด สกรีนช็อต
mobile_use ขับ Android ผ่าน ADB: ตรวจสอบ/ป้อนข้อมูล สกรีนช็อต ติดตั้ง/เริ่ม/หยุด/รีเซ็ต/ถอนการติดตั้งแอป deep link และคำสั่งอุปกรณ์รูป argv
ios_use ขับ iOS Simulator ผ่าน WebDriverAgent/CoreSimulator: ตรวจสอบ/ป้อนข้อมูล สกรีนช็อต ติดตั้ง/เริ่ม/หยุด/ถอนการติดตั้งแอป deep link และโปรเซสจำลองรูป argv
rig_list แสดงริกของเวิร์กสเปซพร้อมพื้นผิว สถานะ ขนาดจอ และตัวควบคุม
rig_close ทำลายริกและทิ้งสถานะเครื่องที่เป็นของมัน

ปฏิทินและการประชุมไม่มีเครื่องมือ 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”:

ความสามารถ ที่อยู่จริงของมัน
การจ้าง การไล่ออก หรือการแก้ไขเอเจนต์ UI ของเอเจนต์ ไม่มีเครื่องมือ hire_agent / fire_agent / update_agent
การสร้างเวิร์กสเปซ workspace.upsert ผ่าน RPC ซึ่งเพาะข้อมูลเริ่มต้นและประทับความเป็นเจ้าของ
โปรเจกต์ (สร้าง / แสดงรายการ / อัปเดต / ผูกไฟล์) UI ของตั๋วงาน โปรเจกต์เป็นพื้นผิวสำหรับโอเปอเรเตอร์ — ดูโปรเจกต์
การถามคำถามแบบบล็อกกับโอเปอเรเตอร์ เครื่องมือ ask_user ของ ฮาร์เนส ไม่ใช่ MCP มันเรนเดอร์ฟอร์มในบทสนทนาและบล็อกรอคำตอบ
การวินิจฉัยรายเอเจนต์ ไม่มีเลย ไม่มี doctor — ดูการวินิจฉัยเอเจนต์
ปฏิทินและการประชุม RPC สำหรับไคลเอนต์มนุษย์เท่านั้น (ดูด้านบน)