Lewati ke konten

Alat MCP

cc_server menghosting satu registri alat MCP (JSON-RPC 2.0), yang dilayani pada port server utama (bawaan 9030) di POST /mcp dan GET /sse, versi protokol 2024-11-05. Setiap klien menjangkau registri yang sama: desktop, build web, klien MCP eksternal, dan runtime agen bawaan. Server MCP eksternal dapat dijembatani ke registri yang sama sebagai lapisan dinamis.

Ukuran Jumlah
Alat yang didaftarkan oleh cc_server 110
Dari packages/cc_mcp 108
Dari packages/cc_mcp_client (penemuan alat) 2
Didaftarkan di registri dasar (server_mcp_registry.dart) 63
Didaftarkan pasca-boot saat layanannya menyala (cc_server_runtime.dart) 47
Dari 63 milik registri dasar, bergantung pada repo graf kode 5

Kelima alat graf kode itu didaftarkan hanya ketika host meneruskan repo graf kode ke buildServerMcpRegistry. cc_server selalu meneruskannya, sehingga seluruh 110-nya aktif di biner yang dikirim.

Registri lengkapnya diumumkan di tools/list tanpa gerbang penemuan. Penyuntingan tiket adalah alat bertipe.

Wajib pada setiap alat yang menyentuh data bercakupan ruang kerja. workspace_id yang hilang atau tidak valid mengembalikan galat eksplisit dan nilai yang tidak cocok dengan ruang kerja entitas sasaran akan ditolak alih-alih diabaikan diam-diam. Hilangkan pada alat yang benar-benar global: list_workspaces dan keenam alat umpan berita (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds), yang mengikuti daftar feed per pengguna milik pemilik server. Alat penemuan (search_tool_bm25, list_my_tools) menerimanya secara opsional agar dapat mengklasifikasikan kelayakan pemanggilan berdasarkan mode percakapan. Saat agen dikirim oleh server, ruang kerja dipaksakan di sisi server, sehingga agen tidak dapat menjangkau ruang kerja lain dengan memberikan id asing.

Keduanya berasal dari cc_mcp_client, bukan cc_mcp, dan keduanya mengonsultasikan penjaga mode sehingga melaporkan apa yang dapat dipanggil pada mode percakapan saat ini.

Alat Deskripsi
search_tool_bm25 Telusuri katalog alat berdasarkan kata kunci; mengembalikan alat yang cocok, skema argumennya, dan apakah masing-masing dapat dipanggil saat ini juga
list_my_tools Tampilkan daftar alat yang dapat dipanggil saat ini dalam percakapan ini, difilter berdasarkan modenya

Alat penemuan ketiga, search_tools, hanya ada di dalam harness bawaan dan bukan bagian dari registri MCP ini. Alat itu memberi peringkat pada permukaan alat milik run itu sendiri dan, tidak seperti search_tool_bm25, memuat skema dari apa yang ditemukannya sehingga agen dapat memanggil kecocokan itu pada gilirannya berikutnya. Agen di harness sebaiknya memilihnya; klien MCP memiliki search_tool_bm25.

Alat Deskripsi
list_agents Tampilkan daftar agen yang terdaftar di sebuah ruang kerja

Agen saling berbicara melalui space (tahan lama, terlihat di daftar anggota). ask_agent bersifat permintaan/balasan dengan timeout wajib; delegate_task dijaga di sisi server oleh batas kedalaman, deteksi siklus, selubung anggaran, dan plafon otonomi.

Alat Deskripsi
send_to_agent Kirim pesan satu arah ke agen lain, dialamatkan dengan to_agent_id atau to_agent_name yang persis
ask_agent Ajukan pertanyaan ke agen lain dan tunggu balasannya, atau habis waktu
delegate_task Delegasikan tugas ke agen lain sebagai tiket anak yang dilacak
consult_agent Tambahkan spesialis yang paling cocok berdasarkan skill ke space dan kirimkan dengan pengarahan yang terfokus
todo_read Baca daftar tugas percakapan ini yang tersimpan

Setiap instalasi dan pembaruan melewati gerbang pemindaian fail-closed sebelum konten skill mana pun mencapai disk atau prompt agen.

Alat Deskripsi
list_skills Tampilkan daftar slug skill yang tersedia di sebuah ruang kerja
create_skill Buat skill baru dari konten markdown
install_skill Pasang seluruh direktori skill dari repo GitHub pada ref yang dipatok
update_skill Perbarui skill GitHub yang terpasang ke ref baru, memindai ulang dan mematok ulang
list_skill_updates Tampilkan daftar skill yang memiliki versi lebih baru
verify_skills Verifikasi skill yang terkunci terhadap hash kontennya di disk
pin_skill Hash skill yang ada di disk ke dalam skills-lock.json
Alat Deskripsi
submit_plan Kontrak keluaran mode rencana: pancarkan PlanDocument bertipe yang terbuka di Plan Studio
create_playbook Simpan rencana sebagai templat bernama dan berversi dengan placeholder {{param}} bertipe
run_playbook Buat instance playbook dengan nilai parameter, menghasilkan rencana yang disetujui operator
publish_artifact Publikasikan daftar blok bertipe yang berurutan (markdown, tabel, bagan, mermaid, kode, JSON) yang dirender secara native di klien
revise_artifact Ganti konten artefak yang telah dipublikasikan
list_artifacts Tampilkan daftar artefak ruang kerja
get_artifact Baca satu artefak
complete_goal Nyatakan tujuan tahan lama aktif percakapan (dimulai dengan /goal atau /loop) telah tercapai
Alat Deskripsi
list_workspaces Tampilkan daftar semua ruang kerja beserta id dan namanya (global; tanpa workspace_id)
Alat Deskripsi
list_repos Tampilkan daftar repo yang terdaftar di sebuah ruang kerja. Agen pemanggil menerima jalur worktree copy-on-write terisolasi milik percakapannya, tidak pernah checkout aslinya
Alat Deskripsi
list_spaces Tampilkan daftar space pesan di sebuah ruang kerja
get_messages Ambil pesan dari sebuah space
send_message Kirim pesan ke sebuah space sebagai agen pengirim yang bernama
get_space_notes Baca dokumen serah-terima bersama milik sebuah space
update_space_notes Ganti dokumen serah-terima bersama milik sebuah space
todo_write Ganti daftar tugas percakapan ini dalam satu panggilan (berikan daftar lengkapnya)
Alat Deskripsi
start_ai_review Mulai tinjauan AI untuk sebuah PR: hitung area tinjauan, sebarkan peninjau spesialis ke space PR, susun penelusuran terpandu, dan finalisasi
add_review_node Tambahkan temuan tinjauan terstruktur (berkas, baris, prioritas P0–P3) ke sebuah space tinjauan
confirm_review_node Konfirmasi temuan rekan; penulisnya tidak dapat mengonfirmasi sendiri
resolve_review_node Tandai temuan sudah diperbaiki setelah benar-benar melakukan perubahan; memposting jejak ke space tinjauan
dismiss_review_node Tolak temuan yang tidak berlaku; mencatat fakta penekanan agar peninjau berhenti menandainya lagi
request_peer_review Minta agen peninjau lain untuk meninjau ulang sebuah temuan
dispatch_reviewers Kirim agen peninjau yang cocok ke sebuah space tinjauan, secara bersamaan
submit_reviewer_verdict Posting putusan ship/hold/block per peninjau beserta keyakinan dan penjelasannya
finalize_review Hitung konsensus per node dan putusan per PR lalu tutup tinjauan
set_cohort_summary Tetapkan ringkasan berbahasa sederhana sebuah kohort tinjauan
add_review_diagram Lampirkan diagram terstruktur yang diverifikasi graf (sequence, entityRelation, stateMachine) ke sebuah kohort
publish_review_to_github Publikasikan tinjauan yang telah difinalisasi ke GitHub sebagai komentar inline plus badan ringkasan
Alat Deskripsi
search_memory Telusuri fakta dan kebijakan (kata kunci, semantik, atau hibrida — hibrida adalah bawaannya)
propose_fact Simpan fakta markdown pendek di sebuah domain
supersede_fact Tandai sebuah fakta digantikan oleh fakta lain
propose_policy Simpan aturan normatif di sebuah domain (memerlukan izin tulis padanya)
supersede_policy Pensiunkan sebuah kebijakan — menandainya tidak aktif tetapi tetap menyimpannya untuk audit
list_policies Tampilkan daftar kebijakan aktif, dapat difilter berdasarkan domain
list_memory_domains Tampilkan daftar domain memori ruang kerja beserta jumlah fakta dan kebijakannya
record_observation Catat observasi mentah ke memori kerja agen
get_my_notes Baca ruang coretan memori kerja agen pemanggil
update_my_notes Perbarui ruang coretan memori kerja agen pemanggil
remember Tambahkan catatan ke memori kerja panas agen untuk sesi ini (dibatasi TTL dan jumlah)
consolidate_memory Jalankan proses konsolidasi (“tidur”): keluarkan item panas yang kedaluwarsa, gulirkan yang tahan lama menjadi fakta jangka panjang
harmonize_memory Jalankan harmonisasi keyakinan antar agen (SHMR) dan tandai kontradiksi
list_memory_conflicts Tampilkan daftar kontradiksi yang terdeteksi dan bagaimana masing-masing diselesaikan
Alat Deskripsi
create_goal Buat tujuan organisasi (tingkat perusahaan, tim, agen, atau tugas)
list_goals Tampilkan daftar tujuan beserta tingkat, status, dan progres agregatnya
update_goal_progress Tetapkan progres sebuah tujuan
create_approval Buka persetujuan dewan untuk tindakan yang diatur (keluar dari rencana, merge, rilis, rekrutmen, kustom)
list_approvals Tampilkan daftar persetujuan, dapat difilter berdasarkan status
decide_approval Catat keputusan: setujui, tolak, minta revisi, atau kirim ulang
comment_approval Komentari persetujuan dewan
exit_plan_mode Buka (dan, setelah disetujui, pakai) persetujuan plan_exit, mengalihkan percakapan keluar dari mode rencana
agent_heartbeat Laporkan kelayakan hidup (hidup, menganggur, macet); berdiam diri mengalihkan kesehatan runtime menjadi recently-lost, lalu offline
list_runtime_health Tampilkan daftar kesehatan runtime setiap agen
list_agent_presence Tampilkan daftar kehadiran setiap agen (kesehatan, siklus hidup, jumlah yang berjalan dan dalam antrean, kapasitas)
get_org_chart Baca pohon pelaporan, CEO di akar, bersarang berdasarkan reports_to
create_work_product Buat hasil kerja tahan lama yang dilampirkan ke sebuah tiket
save_work_product_revision Simpan revisi baru; berikan base_revision_id agar ditolak saat ada penyuntingan bersamaan
list_work_products Tampilkan daftar hasil kerja, dapat difilter ke satu tiket
get_work_product Baca hasil kerja beserta riwayat revisinya
create_runtime_profile Definisikan profil runtime yang dapat dipakai ulang (keluarga protokol, perintah CLI, argumen peluncuran tetap)
list_runtime_profiles Tampilkan daftar profil runtime ruang kerja

Didaftarkan hanya saat host menyediakan repo graf kode. Indeksnya mencakup kumpulan grammar yang dikirim (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); simbol dalam bahasa lain tidak ada.

Alat Deskripsi
search_code Telusuri simbol yang terindeks berdasarkan nama, tanda tangan, dan komentar dokumentasi (hibrida BM25 + semantik)
code_symbol Cari simbol berdasarkan nama persis; mengembalikan file:line dan tanda tangannya
code_callers Tampilkan daftar simbol yang memanggil atau bergantung pada sebuah simbol (tepi masuk)
code_callees Tampilkan daftar simbol yang dipanggil atau diandalkan oleh sebuah simbol (tepi keluar)
code_impact Hitung radius dampak transitif sebuah simbol, hingga kedalaman tertentu
Alat Deskripsi
create_ticket Buat tiket pada penyedia yang dikonfigurasi
get_ticket Ambil satu tiket berdasarkan id
list_tickets Tampilkan daftar tiket, dapat difilter berdasarkan status atau penerima tugas
update_ticket Perbarui status, judul, deskripsi, prioritas, atau label (status menerima alias seperti in_progress / completed)
assign_ticket Tetapkan tiket ke agen dan/atau tim
reassign_ticket Tetapkan ulang tiket ke agen lain
add_ticket_collaborator Undang agen untuk berkolaborasi pada sebuah tiket (ditambahkan ke space-nya)
comment_on_ticket Komentari sebuah tiket
close_ticket Tutup tiket (menandainya selesai) dengan keluaran opsional
fail_ticket Tandai tiket gagal dengan pesan galat
delegate_ticket Delegasikan tiket ke agen, membuat tiket yang dilacak
ticket_pr_link Tautkan atau lepas tautan tiket dan pull request berdasarkan id node PR (action: link | unlink)
ticket_relation Tambahkan atau hapus relasi antara dua tiket — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations Tampilkan daftar induk, sub-issue, dan tautan dependensi sebuah tiket
Alat Deskripsi
record_team_activity Catat entri aktivitas pemimpin tim terhadap sebuah tiket
preview_trigger Uji kering pipeline mana yang akan dijalankan oleh peristiwa hipotetis, tanpa melakukan commit apa pun
submit_output Kirim muatan keluaran terstruktur untuk eksekusi pipeline pemanggil saat ini; divalidasi terhadap skema keluaran yang dideklarasikan run tersebut
Alat Deskripsi
propose_orchestration Pancarkan rencana orkestrasi multi-agen terstruktur untuk satu persetujuan di muka; memvalidasi dan mengembalikan pelanggaran apa pun
Alat Deskripsi
list_feeds Tampilkan daftar feed RSS/Atom yang terdaftar
list_articles Tampilkan daftar artikel, dapat difilter berdasarkan feed, belum dibaca, atau disimpan
get_article Ambil satu artikel
set_article_read Tandai artikel sudah dibaca atau belum dibaca
set_article_saved Simpan atau batal menyimpan artikel
refresh_feeds Ambil ulang setiap feed yang aktif sekarang

Kendalikan mesin sekali pakai — browser atau desktop Linux yang terkurung, emulator Android, atau Simulator iOS — dari dalam sebuah run. Didaftarkan pasca-boot, tanpa syarat: apakah sebuah mesin benar-benar dapat boot adalah pertanyaan probe yang dijawab alat tersebut per panggilan. Panggilan berulang dalam satu percakapan memakai ulang satu mesin; tangkapan layar dikembalikan sebagai konten gambar dengan anggaran satu gambar per hasil, dan konten halaman/UI yang diekstrak dipagari sebagai data tidak tepercaya. Keempat alat *_use plus rig_close mendeklarasikan kelas tindakan enclosureControl (keempat alat itu juga mendeklarasikan networkEgress dan processSpawn; mobile_use dan ios_use juga mendeklarasikan packageInstall), sehingga mode hanya-baca menolaknya. rig_list tidak mendeklarasikan apa pun — ia hanya membaca status ruang kerja. Kosakata verba lengkap per permukaan ada di referensi rigs.

Alat Deskripsi
computer_use Kendalikan desktop Linux di VM terkurung: gerakkan, klik, seret, gulir, ketik, ubah ukuran, papan klip, tangkapan layar
browser_use Kendalikan Chromium, Firefox, atau WebKit headless (engine): navigasi, klik, isi, ekstrak (a11y/DOM/konsol), papan klip, tangkapan layar
mobile_use Kendalikan Android melalui ADB: periksa/masukkan, tangkapan layar, pasang/mulai/hentikan/atur ulang/copot pemasangan aplikasi, deep link, dan perintah perangkat berbentuk argv
ios_use Kendalikan Simulator iOS melalui WebDriverAgent/CoreSimulator: periksa/masukkan, tangkapan layar, pasang/mulai/hentikan/copot pemasangan aplikasi, deep link, dan proses simulator berbentuk argv
rig_list Tampilkan daftar rig sebuah ruang kerja beserta permukaan, status, ukuran layar, dan pengendalinya
rig_close Hancurkan rig dan buang status mesin yang dimilikinya

Kalender dan rapat tidak memiliki alat MCP. Agen tidak dapat membaca kalender, rapat, transkrip, item tindakan, atau keputusan Anda. Ringkasan yang menghasilkan item tindakan dan keputusan berjalan sebagai pipeline meeting_summary bawaan, bukan sebagai alat yang dapat dipanggil agen.

Gerbang ditegakkan dua kali dari satu tabel (ModeToolPolicy): sekali di dispatcher MCP untuk adapter Claude Code dan sekali di registri harness bawaan. Panggilan yang diblokir mengembalikan alasannya.

Mode Permukaan alat
chat Setiap alat yang terdaftar; tanpa daftar izin
plan Daftar izin terkurasi. Tanpa penulisan worktree dan tanpa verba tiket create / assign / delegate, tetapi memori, artefak, todo, submit_plan, exit_plan_mode, dan verba penyelesaian tiket pada tiket yang dikirim diizinkan
review Daftar izin terkurasi: partisipasi tinjauan, komunikasi, pengambil konteks hanya-baca, dan seluruh rangkaian verba tiket termasuk create_ticket dan assign_ticket
orchestrate Daftar izin terkurasi: alat riset dan baca plus propose_orchestration, create_playbook, dan run_playbook. Perekrutan, dekomposisi, dan penyelesaian tiket terjadi secara deterministik setelah persetujuan, tidak pernah di tengah run

Diizinkan di setiap mode terlepas dari daftar izin:

Himpunan Alat
Memori dan artefak 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
Graf kode search_code, code_symbol, code_callers, code_callees, code_impact
Mekanika run search_tool_bm25, list_my_tools, todo_write, todo_read

Berada di daftar izin tidak membuat sebuah alat dapat dipanggil, dan sebaliknya juga berlaku: kemampuan bertanya ke operator adalah alat harness (ask_user), sehingga sama sekali tidak pernah muncul di katalog MCP ini.

Sebuah alat dapat mendeklarasikan requiresApproval. Dispatcher kemudian membangun ApprovalPayload dan menampilkannya melalui ConfirmationPort sebelum alat berjalan; cc_server menyambungkan port itu, sehingga gerbangnya aktif.

Alat terdaftar yang mendeklarasikannya: 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.

Secara independen, pagar pengaman tindakan terpadu menerapkan gerbang pada setiap alat yang mendeklarasikan himpunan ActionClass yang tidak kosong. Keputusan prompt tanpa pemberi persetujuan yang terhubung akan ditolak. Lihat Pagar pengaman.

Tidak setiap kemampuan dalam produk dapat dijangkau agen. Kemampuan ini tidak punya alat sama sekali, sehingga nama yang mungkin pernah Anda lihat dirujuk di tempat lain akan mengembalikan “unknown tool”:

Kemampuan Di mana ia berada sebagai gantinya
Merekrut, memberhentikan, atau menyunting agen UI agen. Tidak ada alat hire_agent / fire_agent / update_agent
Membuat ruang kerja workspace.upsert melalui RPC, yang menyemai dan menstempel kepemilikan
Proyek (buat / daftar / perbarui / arsipkan) UI tiket. Proyek adalah permukaan operator — lihat Proyek
Mengajukan pertanyaan yang memblokir ke operator Alat harness ask_user, bukan MCP. Alat ini merender formulir di dalam percakapan dan memblokir sampai ada jawaban
Diagnosis per agen Tidak ada. Tidak ada doctor — lihat Diagnosis agen
Kalender dan rapat RPC hanya untuk klien manusia (lihat di atas)