Alat MCP
cc_server mengehoskan satu daftar alat MCP (JSON-RPC 2.0), disajikan pada port pelayan utama (lalai 9030) di POST /mcp dan GET /sse, versi protokol 2024-11-05. Setiap klien mencapai daftar yang sama: desktop, binaan web, klien MCP luaran dan masa jalan ejen terbina. Pelayan MCP luaran boleh dijambatkan ke dalam daftar yang sama sebagai lapisan dinamik.
Saiz daftar
Bahagian bertajuk “Saiz daftar”| Ukuran | Kiraan |
|---|---|
Alat yang didaftarkan oleh cc_server |
110 |
Daripada packages/cc_mcp |
108 |
Daripada packages/cc_mcp_client (penemuan alat) |
2 |
Didaftarkan dalam daftar asas (server_mcp_registry.dart) |
63 |
Didaftarkan selepas boot apabila perkhidmatannya muncul (cc_server_runtime.dart) |
47 |
| Daripada 63 dalam daftar asas, bersyarat pada repositori graf kod | 5 |
Kelima-limanya alat graf kod didaftarkan hanya apabila hos menghantar repositori graf kod kepada buildServerMcpRegistry. cc_server sentiasa menghantar satu, jadi kesemua 110 itu hidup dalam binari yang dibundelkan.
Daftar penuh diiklankan dalam tools/list tanpa pengawalan penemuan. Suntingan tiket ialah alat bertaip.
Parameter biasa
Bahagian bertajuk “Parameter biasa”workspace_id
Bahagian bertajuk “workspace_id”Wajib pada setiap alat yang menyentuh data berskop ruang kerja. workspace_id yang hilang atau tidak sah mengembalikan ralat yang eksplisit dan nilai yang tidak sepadan dengan ruang kerja entiti sasaran ditolak dan bukannya diabaikan secara senyap. Abaikannya pada alat yang benar-benar global: list_workspaces dan enam alat suapan berita (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds), yang menaiki senarai suapan setiap pengguna milik pemilik pelayan. Alat penemuan (search_tool_bm25, list_my_tools) menerimanya secara pilihan supaya ia boleh mengelaskan kebolehpanggilan mengikut modus perbualan. Apabila ejen dihantar oleh pelayan, ruang kerja dipaksa di sisi pelayan, jadi ejen tidak boleh mencapai ruang kerja lain dengan menghantar id asing.
Penemuan alat
Bahagian bertajuk “Penemuan alat”Kedua-duanya datang daripada cc_mcp_client, bukan cc_mcp, dan kedua-duanya merujuk pengawal modus supaya ia melaporkan apa yang boleh dipanggil dalam modus perbualan semasa.
| Alat | Huraian |
|---|---|
search_tool_bm25 |
Cari katalog alat mengikut kata kunci; mengembalikan alat yang sepadan, skema argumennya dan sama ada setiap satu boleh dipanggil sekarang |
list_my_tools |
Senaraikan alat yang boleh dipanggil sekarang dalam perbualan ini, ditapis mengikut modusnya |
Alat penemuan ketiga, search_tools, wujud hanya di dalam harness terbina dan bukan sebahagian daripada daftar MCP ini. Ia menyusun kedudukan permukaan alat larian itu sendiri dan, tidak seperti search_tool_bm25, memuatkan skema apa yang ditemuinya supaya ejen boleh memanggil padanan pada giliran seterusnya. Ejen pada harness wajar mengutamakannya; klien MCP mempunyai search_tool_bm25.
Alat ejen
Bahagian bertajuk “Alat ejen”| Alat | Huraian |
|---|---|
list_agents |
Senaraikan ejen yang terdaftar dalam sesuatu ruang kerja |
Pemesejan rakan sebaya dan perwakilan ejen
Bahagian bertajuk “Pemesejan rakan sebaya dan perwakilan ejen”Ejen bercakap sesama sendiri melalui ruang (tahan lama, kelihatan dalam senarai nama). ask_agent ialah permintaan/balasan dengan tamat masa yang wajib; delegate_task dikawal di sisi pelayan oleh had kedalaman, pengesanan kitaran, sampul belanjawan dan siling autonomi.
| Alat | Huraian |
|---|---|
send_to_agent |
Hantar mesej sehala kepada ejen lain, dialamatkan melalui to_agent_id atau to_agent_name yang tepat |
ask_agent |
Tanyakan soalan kepada ejen lain dan tunggu balasannya, atau tamat masa |
delegate_task |
Wakilkan tugasan kepada ejen lain sebagai tiket anak yang dijejaki |
consult_agent |
Tambahkan pakar yang paling sepadan mengikut kemahiran ke ruang itu dan hantarkannya dengan taklimat yang berfokus |
todo_read |
Baca senarai semak tugasan yang dikekalkan bagi perbualan ini |
Alat kemahiran
Bahagian bertajuk “Alat kemahiran”Setiap pemasangan dan kemas kini melalui get imbasan yang gagal secara tertutup sebelum sebarang kandungan kemahiran sampai ke cakera atau prompt ejen.
| Alat | Huraian |
|---|---|
list_skills |
Senaraikan slug kemahiran yang tersedia dalam sesuatu ruang kerja |
create_skill |
Cipta kemahiran baharu daripada kandungan markdown |
install_skill |
Pasang keseluruhan direktori sesuatu kemahiran daripada repositori GitHub pada ref yang dipaku |
update_skill |
Kemas kini kemahiran GitHub yang dipasang kepada ref baharu, sambil mengimbas semula dan memaku semula |
list_skill_updates |
Senaraikan kemahiran yang mempunyai versi lebih baharu tersedia |
verify_skills |
Sahkan kemahiran yang dikunci terhadap cincangan kandungannya pada cakera |
pin_skill |
Cincang kemahiran sedia ada pada cakera ke dalam skills-lock.json |
Alat pelan, buku panduan dan artifak
Bahagian bertajuk “Alat pelan, buku panduan dan artifak”| Alat | Huraian |
|---|---|
submit_plan |
Kontrak output modus pelan: keluarkan PlanDocument bertaip yang terbuka dalam Plan Studio |
create_playbook |
Simpan pelan sebagai templat bernama dan berversi dengan pemegang tempat {{param}} bertaip |
run_playbook |
Instanskan buku panduan dengan nilai parameter, menghasilkan pelan yang diluluskan oleh pengendali |
publish_artifact |
Terbitkan senarai tersusun blok bertaip (markdown, jadual, carta, mermaid, kod, JSON) yang dirender secara asli dalam klien |
revise_artifact |
Gantikan kandungan artifak yang telah diterbitkan |
list_artifacts |
Senaraikan artifak ruang kerja |
get_artifact |
Baca satu artifak |
complete_goal |
Isytiharkan matlamat tahan lama aktif perbualan ini (yang dimulakan dengan /goal atau /loop) sebagai tercapai |
Alat ruang kerja
Bahagian bertajuk “Alat ruang kerja”| Alat | Huraian |
|---|---|
list_workspaces |
Senaraikan semua ruang kerja berserta id dan namanya (global; tiada workspace_id) |
Alat repo
Bahagian bertajuk “Alat repo”| Alat | Huraian |
|---|---|
list_repos |
Senaraikan repo yang terdaftar dalam sesuatu ruang kerja. Pemanggil ejen menerima laluan worktree salin-semasa-tulis terasing perbualannya, tidak pernah checkout asal |
Alat pemesejan
Bahagian bertajuk “Alat pemesejan”| Alat | Huraian |
|---|---|
list_spaces |
Senaraikan ruang pemesejan dalam sesuatu ruang kerja |
get_messages |
Ambil mesej daripada sesuatu ruang |
send_message |
Hantar mesej ke sesuatu ruang sebagai ejen pengirim yang bernama |
get_space_notes |
Baca dokumen serahan bersama sesuatu ruang |
update_space_notes |
Gantikan dokumen serahan bersama sesuatu ruang |
todo_write |
Gantikan senarai semak tugasan perbualan ini dalam satu panggilan (hantar senarai penuh) |
Alat semakan
Bahagian bertajuk “Alat semakan”| Alat | Huraian |
|---|---|
start_ai_review |
Mulakan semakan AI untuk sesuatu PR: kira kawasan semakan, sebarkan ejen penyemak pakar ke ruang PR, karang penerangan berpandu dan akhirkan |
add_review_node |
Tambah penemuan semakan berstruktur (fail, baris, keutamaan P0–P3) pada ruang semakan |
confirm_review_node |
Sahkan penemuan rakan sebaya; pengarang tidak boleh mengesahkan sendiri |
resolve_review_node |
Tandakan sesuatu penemuan sebagai diperbaiki selepas benar-benar membuat perubahan itu; menyiarkan jejak ke dalam ruang semakan |
dismiss_review_node |
Tolak penemuan yang tidak berkenaan; merekodkan fakta penindasan supaya penyemak berhenti menandakannya semula |
request_peer_review |
Minta ejen penyemak lain meneliti semula sesuatu penemuan |
dispatch_reviewers |
Hantar ejen penyemak yang dipadankan ke dalam ruang semakan, secara serentak |
submit_reviewer_verdict |
Siarkan keputusan ship/hold/block bagi setiap penyemak berserta keyakinan dan penjelasan |
finalize_review |
Kira konsensus bagi setiap nod dan keputusan bagi setiap PR, kemudian tutup semakan itu |
set_cohort_summary |
Tetapkan ringkasan bahasa mudah bagi sesuatu kohort semakan |
add_review_diagram |
Lampirkan gambar rajah berstruktur yang disahkan graf (sequence, entityRelation, stateMachine) pada sesuatu kohort |
publish_review_to_github |
Terbitkan semakan yang telah dimuktamadkan ke GitHub sebagai komen dalam baris berserta badan ringkasan |
Alat memori
Bahagian bertajuk “Alat memori”| Alat | Huraian |
|---|---|
search_memory |
Cari fakta dan polisi (kata kunci, semantik atau hibrid — hibrid ialah lalai) |
propose_fact |
Simpan fakta markdown pendek dalam sesuatu domain |
supersede_fact |
Tandakan sesuatu fakta sebagai digantikan oleh fakta lain |
propose_policy |
Simpan peraturan normatif dalam sesuatu domain (memerlukan keizinan menulis padanya) |
supersede_policy |
Persarakan sesuatu polisi — menandakannya tidak aktif sambil menyimpannya untuk audit |
list_policies |
Senaraikan polisi aktif, dengan penapisan pilihan mengikut domain |
list_memory_domains |
Senaraikan domain memori ruang kerja berserta kiraan fakta dan polisi |
record_observation |
Rekod pemerhatian mentah ke dalam memori kerja ejen |
get_my_notes |
Baca papan coretan memori kerja ejen pemanggil |
update_my_notes |
Kemas kini papan coretan memori kerja ejen pemanggil |
remember |
Tambah nota ke memori kerja panas ejen untuk sesi ini (dibatasi TTL dan kiraan) |
consolidate_memory |
Jalankan pas konsolidasi (“tidur”): buang item panas yang luput, gulungkan yang tahan lama menjadi fakta jangka panjang |
harmonize_memory |
Jalankan penyelarasan kepercayaan merentas ejen (SHMR) dan tandakan percanggahan |
list_memory_conflicts |
Senaraikan percanggahan yang dikesan dan cara setiap satu diselesaikan |
Alat tadbir urus
Bahagian bertajuk “Alat tadbir urus”| Alat | Huraian |
|---|---|
create_goal |
Cipta matlamat organisasi (peringkat syarikat, pasukan, ejen atau tugasan) |
list_goals |
Senaraikan matlamat berserta peringkat, status dan kemajuan terkumpul |
update_goal_progress |
Tetapkan kemajuan sesuatu matlamat |
create_approval |
Buka kelulusan lembaga untuk tindakan yang ditadbir (keluar pelan, cantum, keluaran, ambil pekerja, tersuai) |
list_approvals |
Senaraikan kelulusan, dengan penapisan pilihan mengikut status |
decide_approval |
Rekod keputusan: luluskan, tolak, minta semakan semula atau hantar semula |
comment_approval |
Komen pada kelulusan lembaga |
exit_plan_mode |
Buka (dan, setelah diluluskan, gunakan) kelulusan plan_exit, menukar perbualan keluar daripada modus pelan |
agent_heartbeat |
Laporkan keadaan hidup (hidup, melahu, tersekat); mendiamkan diri menukar kesihatan masa jalan kepada baru hilang, kemudian luar talian |
list_runtime_health |
Senaraikan kesihatan masa jalan setiap ejen |
list_agent_presence |
Senaraikan kehadiran setiap ejen (kesihatan, kitaran hayat, kiraan sedang berjalan dan dalam giliran, kapasiti) |
get_org_chart |
Baca pokok pelaporan, CEO di akar, bersarang mengikut reports_to |
create_work_product |
Cipta hasil kerja tahan lama yang dilampirkan pada sesuatu tiket |
save_work_product_revision |
Simpan revisi baharu; hantar base_revision_id untuk ditolak apabila berlaku suntingan serentak |
list_work_products |
Senaraikan hasil kerja, dengan penapisan pilihan kepada satu tiket |
get_work_product |
Baca hasil kerja berserta sejarah revisinya |
create_runtime_profile |
Takrifkan profil masa jalan yang boleh diguna semula (keluarga protokol, perintah CLI, argumen pelancaran tetap) |
list_runtime_profiles |
Senaraikan profil masa jalan ruang kerja |
Alat graf kod
Bahagian bertajuk “Alat graf kod”Didaftarkan hanya apabila hos membekalkan repositori graf kod. Indeks itu merangkumi set tatabahasa yang dibundelkan (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); simbol dalam mana-mana bahasa lain tidak hadir.
| Alat | Huraian |
|---|---|
search_code |
Cari simbol yang diindeks mengikut nama, tandatangan dan komen dok (hibrid BM25 + semantik) |
code_symbol |
Cari simbol mengikut nama tepat; mengembalikan file:line dan tandatangan |
code_callers |
Senaraikan simbol yang memanggil atau bergantung pada sesuatu simbol (tepi masuk) |
code_callees |
Senaraikan simbol yang dipanggil atau dibergantung oleh sesuatu simbol (tepi keluar) |
code_impact |
Kira jejari kesan transitif sesuatu simbol, hingga kedalaman tertentu |
Alat penetikan
Bahagian bertajuk “Alat penetikan”| Alat | Huraian |
|---|---|
create_ticket |
Cipta tiket pada pembekal yang dikonfigurasikan |
get_ticket |
Ambil satu tiket mengikut id |
list_tickets |
Senaraikan tiket, dengan penapisan pilihan mengikut status atau penerima tugas |
update_ticket |
Kemas kini status, tajuk, huraian, keutamaan atau label (status menerima alias seperti in_progress / completed) |
assign_ticket |
Tetapkan tiket kepada ejen dan/atau pasukan |
reassign_ticket |
Tetapkan semula tiket kepada ejen yang lain |
add_ticket_collaborator |
Jemput ejen untuk bekerjasama pada sesuatu tiket (ditambahkan ke ruangnya) |
comment_on_ticket |
Komen pada sesuatu tiket |
close_ticket |
Tutup tiket (menandakannya selesai) dengan output pilihan |
fail_ticket |
Tandakan tiket sebagai gagal berserta mesej ralat |
delegate_ticket |
Wakilkan tiket kepada ejen, sambil mencipta tiket yang dijejaki |
ticket_pr_link |
Pautkan atau nyahpautkan tiket dengan pull request mengikut id nod PR (action: link | unlink) |
ticket_relation |
Tambah atau buang hubungan antara dua tiket — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove) |
list_ticket_relations |
Senaraikan induk, sub-isu dan pautan kebergantungan sesuatu tiket |
Alat pasukan dan pipeline
Bahagian bertajuk “Alat pasukan dan pipeline”| Alat | Huraian |
|---|---|
record_team_activity |
Rekod entri aktiviti ketua pasukan terhadap sesuatu tiket |
preview_trigger |
Jalankan cubaan kering untuk melihat larian pipeline yang akan dimulakan oleh peristiwa hipotetikal, tanpa melakukan sebarang komit |
submit_output |
Hantar muatan output berstruktur bagi larian pipeline semasa pemanggil; disahkan terhadap skema output yang diisytiharkan oleh larian itu |
Alat orkestrasi
Bahagian bertajuk “Alat orkestrasi”| Alat | Huraian |
|---|---|
propose_orchestration |
Keluarkan rancangan orkestrasi berbilang ejen yang berstruktur untuk satu kelulusan awal; mengesahkan dan mengembalikan sebarang pelanggaran |
Alat suapan berita
Bahagian bertajuk “Alat suapan berita”| Alat | Huraian |
|---|---|
list_feeds |
Senaraikan suapan RSS/Atom yang terdaftar |
list_articles |
Senaraikan artikel, dengan penapisan pilihan mengikut suapan, belum dibaca atau disimpan |
get_article |
Ambil satu artikel |
set_article_read |
Tandakan artikel sebagai dibaca atau belum dibaca |
set_article_saved |
Simpan atau nyahsimpan artikel |
refresh_feeds |
Ambil semula setiap suapan yang diaktifkan sekarang |
Alat persekitaran terasing (stesen)
Bahagian bertajuk “Alat persekitaran terasing (stesen)”Kawal mesin pakai buang — penyemak imbas atau desktop Linux terasing, emulator
Android, atau iOS Simulator — dari dalam sesuatu larian. Didaftarkan selepas
boot, tanpa syarat: sama ada sesuatu mesin benar-benar boleh boot ialah soalan
siasatan yang dijawab oleh alat itu pada setiap panggilan. Panggilan berulang
dalam satu perbualan menggunakan semula satu mesin; tangkapan skrin dikembalikan
sebagai kandungan imej dengan bajet satu imej bagi setiap hasil, dan kandungan
halaman/UI yang diekstrak dipagari sebagai data tidak dipercayai. Empat alat
penggunaan serta rig_close mengisytiharkan enclosureControl kelas tindakan
(alat penggunaan itu juga mengisytiharkan networkEgress dan processSpawn;
mobile_use dan ios_use juga mengisytiharkan packageInstall), jadi modus
baca sahaja menolaknya. rig_list tidak mengisytiharkan apa-apa — ia hanya
membaca keadaan ruang kerja. Perbendaharaan kata kata kerja penuh bagi setiap
permukaan ada dalam
rujukan stesen.
| Alat | Huraian |
|---|---|
computer_use |
Kawal desktop Linux dalam VM terasing: gerak, klik, seret, tatal, taip, ubah saiz, papan keratan, tangkapan skrin |
browser_use |
Kawal Chromium, Firefox atau WebKit tanpa kepala (engine): navigasi, klik, isi, ekstrak (a11y/DOM/konsol), papan keratan, tangkapan skrin |
mobile_use |
Kawal Android melalui ADB: periksa/masukkan input, tangkapan skrin, pasang/mula/henti/set semula/nyahpasang apl, pautan mendalam dan perintah peranti berbentuk argv |
ios_use |
Kawal iOS Simulator melalui WebDriverAgent/CoreSimulator: periksa/masukkan input, tangkapan skrin, pasang/mula/henti/nyahpasang apl, pautan mendalam dan proses simulator berbentuk argv |
rig_list |
Senaraikan stesen sesuatu ruang kerja berserta permukaan, status, saiz paparan dan pengawal |
rig_close |
Musnahkan sesuatu stesen dan buang keadaan mesin yang dimilikinya |
Tidak didedahkan melalui MCP
Bahagian bertajuk “Tidak didedahkan melalui MCP”Kalendar dan mesyuarat tiada alat MCP. Ejen tidak boleh membaca kalendar, mesyuarat, transkrip, item tindakan atau keputusan anda. Ringkasan yang menghasilkan item tindakan dan keputusan berjalan sebagai pipeline meeting_summary terbina, bukan sebagai alat yang boleh dipanggil oleh ejen.
Pengawalan alat mengikut modus
Bahagian bertajuk “Pengawalan alat mengikut modus”Pengawalan dikuatkuasakan dua kali daripada satu jadual (ModeToolPolicy): sekali dalam penghantar MCP untuk penyesuai Claude Code dan sekali dalam daftar harness terbina. Panggilan yang disekat mengembalikan sebabnya.
| Modus | Permukaan alat |
|---|---|
chat |
Setiap alat yang terdaftar; tiada senarai kebenaran |
plan |
Senarai kebenaran terpilih. Tiada penulisan worktree dan tiada kata kerja tiket create / assign / delegate, tetapi memori, artifak, todo, submit_plan, exit_plan_mode dan kata kerja penyiapan tiket pada tiket yang dihantar adalah dibenarkan |
review |
Senarai kebenaran terpilih: penyertaan semakan, komunikasi, pengambil konteks baca sahaja dan set kata kerja tiket yang penuh termasuk create_ticket dan assign_ticket |
orchestrate |
Senarai kebenaran terpilih: alat penyelidikan dan bacaan serta propose_orchestration, create_playbook dan run_playbook. Pengambilan pekerja, penguraian dan penyiapan tiket berlaku secara deterministik selepas kelulusan, tidak pernah di tengah-tengah larian |
Dibenarkan dalam setiap modus tanpa mengira senarai kebenaran:
| Set | Alat |
|---|---|
| Memori dan artifak | 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 kod | search_code, code_symbol, code_callers, code_callees, code_impact |
| Mekanik larian | search_tool_bm25, list_my_tools, todo_write, todo_read |
Berada dalam senarai kebenaran tidak menjadikan sesuatu alat boleh dipanggil, dan sebaliknya juga begitu: keupayaan menyoal pengendali ialah alat harness (ask_user), jadi ia tidak pernah muncul sama sekali dalam katalog MCP ini.
Alat berpagar kelulusan
Bahagian bertajuk “Alat berpagar kelulusan”Sesuatu alat boleh mengisytiharkan requiresApproval. Penghantar kemudian membina ApprovalPayload dan menampilkannya melalui ConfirmationPort sebelum alat itu berjalan; cc_server menyambungkan port itu, jadi get itu hidup.
Alat terdaftar yang mengisytiharkannya: 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 berasingan, guardrail tindakan bersatu mengawal mana-mana alat yang mengisytiharkan set ActionClass yang tidak kosong. Keputusan prompt tanpa pelulus yang bersambung ditolak. Lihat Guardrail.
Keupayaan yang tiada alat di belakangnya
Bahagian bertajuk “Keupayaan yang tiada alat di belakangnya”Bukan setiap keupayaan dalam produk ini boleh dicapai oleh ejen. Yang berikut tiada alat sama sekali, jadi nama yang mungkin anda lihat dirujuk di tempat lain mengembalikan “unknown tool”:
| Keupayaan | Di mana ia berada sebaliknya |
|---|---|
| Mengambil pekerja, memecat atau menyunting ejen | UI ejen. Tiada alat hire_agent / fire_agent / update_agent |
| Mencipta ruang kerja | workspace.upsert melalui RPC, yang menyemai dan mengecop pemilikan |
| Projek (cipta / senarai / kemas kini / failkan) | UI tiket. Projek ialah permukaan pengendali — lihat Projek |
| Menanyakan soalan yang menyekat kepada pengendali | Alat ask_user harness, bukan MCP. Ia merender borang dalam perbualan dan menyekat sehingga jawapan diterima |
| Diagnosis bagi setiap ejen | Tiada apa-apa. Tiada doctor — lihat Diagnosis ejen |
| Kalendar dan mesyuarat | RPC untuk klien manusia sahaja (lihat di atas) |