Langkau ke kandungan

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.

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.

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.

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 Huraian
list_agents Senaraikan ejen yang terdaftar dalam sesuatu ruang kerja

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

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 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 Huraian
list_workspaces Senaraikan semua ruang kerja berserta id dan namanya (global; tiada workspace_id)
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 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 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 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 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

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 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 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 Huraian
propose_orchestration Keluarkan rancangan orkestrasi berbilang ejen yang berstruktur untuk satu kelulusan awal; mengesahkan dan mengembalikan sebarang pelanggaran
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

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

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 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.

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.

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)