İçeriğe geç

MCP araçları

cc_server tek bir MCP (JSON-RPC 2.0) araç kayıt defteri barındırır; bu kayıt defteri ana sunucu portunda (varsayılan 9030) POST /mcp ve GET /sse üzerinden sunulur ve protokol sürümü 2024-11-05’tir. Her istemci aynı kayıt defterine ulaşır: masaüstü, web derlemesi, harici MCP istemcileri ve yerleşik ajan çalışma zamanı. Harici MCP sunucuları, dinamik bir katman olarak aynı kayıt defterine köprülenebilir.

Ölçüm Sayı
cc_server tarafından kaydedilen araçlar 110
packages/cc_mcp kaynaklı 108
packages/cc_mcp_client kaynaklı (araç keşfi) 2
Temel kayıt defterinde kayıtlı (server_mcp_registry.dart) 63
Servisleri ayağa kalktıkça önyükleme sonrası kaydedilen (cc_server_runtime.dart) 47
Temel kayıt defterindeki 63 araçtan kod grafiği deposuna bağlı olanlar 5

Beş kod grafiği aracı yalnızca ana makine buildServerMcpRegistry’ye bir kod grafiği deposu geçirdiğinde kaydedilir. cc_server her zaman bir tane geçirir; bu yüzden dağıtılan ikili dosyada 110 aracın tamamı etkindir.

Kayıt defterinin tamamı tools/list içinde duyurulur ve hiçbir keşif kapısına takılmaz. Bilet düzenlemeleri tipli araçlardır.

Çalışma alanına kapsanmış verilere dokunan her araçta zorunludur. Eksik veya geçersiz bir workspace_id açık bir hata döndürür; hedef varlığın çalışma alanıyla eşleşmeyen bir değer ise sessizce yok sayılmak yerine reddedilir. Gerçekten küresel araçlarda bunu atlayın: list_workspaces ile sunucu sahibinin kullanıcı başına akış listesini kullanan altı haber akışı aracı (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds). Keşif araçları (search_tool_bm25, list_my_tools) bunu isteğe bağlı alır; böylece çağrılabilirliği konuşma moduna göre sınıflandırabilirler. Bir ajan sunucu tarafından gönderildiğinde çalışma alanı sunucu tarafında sabitlenir; dolayısıyla ajan yabancı bir kimlik geçirerek başka bir çalışma alanına ulaşamaz.

Her ikisi de cc_mcp’den değil cc_mcp_client’tan gelir ve ikisi de mod korumasına danışır; böylece geçerli konuşma modunda nelerin çağrılabilir olduğunu bildirirler.

Araç Açıklama
search_tool_bm25 Araç kataloğunda anahtar kelimeyle arama yapar; eşleşen araçları, argüman şemalarını ve her birinin şu anda çağrılabilir olup olmadığını döndürür
list_my_tools Bu konuşmada şu anda çağrılabilir araçları, konuşmanın moduna göre filtrelenmiş olarak listeler

Üçüncü bir keşif aracı olan search_tools yalnızca yerleşik harness’ın içinde bulunur ve bu MCP kayıt defterinin parçası değildir. Çalıştırmanın kendi araç yüzeyini sıralar ve search_tool_bm25’ten farklı olarak bulduklarının şemalarını yükler; böylece ajan bir sonraki turunda eşleşen bir aracı çağırabilir. Harness üzerindeki ajanlar bunu tercih etmelidir; MCP istemcilerinde ise search_tool_bm25 vardır.

Araç Açıklama
list_agents Bir çalışma alanındaki kayıtlı ajanları listeler

Ajanlar birbirleriyle alanlar üzerinden konuşur (kalıcı ve kadroya görünür). ask_agent zorunlu bir zaman aşımıyla istek/yanıt biçimindedir; delegate_task ise sunucu tarafında derinlik sınırı, döngü algılama, bütçe zarfı ve özerklik tavanıyla korunur.

Araç Açıklama
send_to_agent to_agent_id ya da tam to_agent_name ile adreslenen başka bir ajana tek yönlü ileti gönderir
ask_agent Başka bir ajana soru sorar ve yanıtını bekler ya da zaman aşımına uğrar
delegate_task Bir görevi başka bir ajana izlenen bir alt bilet olarak devreder
consult_agent Yeteneklerine göre en iyi eşleşen uzmanı alana ekler ve onu odaklanmış bir brifingle gönderir
todo_read Bu konuşmanın kalıcı görev kontrol listesini okur

Her kurulum ve güncelleme, herhangi bir beceri içeriği diske ya da bir ajan istemine ulaşmadan önce hataya kapalı bir tarama kapısından geçer.

Araç Açıklama
list_skills Bir çalışma alanında kullanılabilir beceri slug’larını listeler
create_skill Markdown içeriğinden yeni bir beceri oluşturur
install_skill Bir becerinin tüm dizinini bir GitHub deposundan sabitlenmiş bir ref’te kurar
update_skill Kurulu bir GitHub becerisini yeni bir ref’e günceller; yeniden tarar ve yeniden sabitler
list_skill_updates Daha yeni bir sürümü bulunan becerileri listeler
verify_skills Kilitli becerileri diskteki içerik özetleriyle doğrular
pin_skill Diskteki mevcut bir becerinin özetini hesaplayıp skills-lock.json içine yazar
Araç Açıklama
submit_plan Plan modunun çıktı sözleşmesi: Plan Studio’da açılan tipli bir PlanDocument üretir
create_playbook Bir planı, tipli {{param}} yer tutucularıyla adlandırılmış ve sürümlenmiş bir şablon olarak kaydeder
run_playbook Bir playbook’u parametre değerleriyle somutlaştırır ve operatörün onayladığı bir plan üretir
publish_artifact İstemcide yerel olarak işlenen sıralı tipli bloklar (markdown, tablo, grafik, mermaid, kod, JSON) listesi yayımlar
revise_artifact Yayımlanmış bir artifact’ın içeriğini değiştirir
list_artifacts Çalışma alanının artifact’larını listeler
get_artifact Bir artifact’ı okur
complete_goal Konuşmanın etkin kalıcı hedefinin (/goal ya da /loop ile başlatılan) gerçekleştiğini bildirir
Araç Açıklama
list_workspaces Tüm çalışma alanlarını kimlikleri ve adlarıyla listeler (küresel; workspace_id yok)
Araç Açıklama
list_repos Bir çalışma alanında kayıtlı depoları listeler. Ajan çağıranlar, konuşmalarının yalıtılmış kopyala-yaz çalışma ağacı yollarını alır; asla özgün checkout’ları almaz
Araç Açıklama
list_spaces Bir çalışma alanındaki mesajlaşma alanlarını listeler
get_messages Bir alandan iletileri getirir
send_message Bir alana adlandırılmış bir gönderen ajan olarak ileti gönderir
get_space_notes Bir alanın paylaşılan devir teslim belgesini okur
update_space_notes Bir alanın paylaşılan devir teslim belgesini değiştirir
todo_write Bu konuşmanın görev kontrol listesini tek çağrıda değiştirir (tam listeyi geçirin)
Araç Açıklama
start_ai_review Bir PR için YZ incelemesini başlatır: inceleme alanlarını hesaplar, uzman inceleyicileri PR alanına dağıtır, rehberli anlatımı yazar ve sonuçlandırır
add_review_node Bir inceleme alanına yapılandırılmış bir bulgu (dosya, satır, P0–P3 önceliği) ekler
confirm_review_node Bir akranın bulgusunu doğrular; yazar kendi bulgusunu doğrulayamaz
resolve_review_node Değişikliği gerçekten yaptıktan sonra bulguyu çözüldü olarak işaretler; inceleme alanına bir iz bırakır
dismiss_review_node Geçerli olmayan bir bulguyu reddeder; inceleyicilerin onu yeniden işaretlemeyi bırakması için bir bastırma olgusu kaydeder
request_peer_review Bir bulgu için başka bir inceleyici ajandan ikinci bir göz ister
dispatch_reviewers Eşleşen inceleyici ajanları bir inceleme alanına eşzamanlı olarak gönderir
submit_reviewer_verdict İnceleyici başına güven düzeyi ve bir açıklamayla birlikte ship/hold/block kararı yayımlar
finalize_review Düğüm başına uzlaşmayı ve PR başına kararı hesaplar ve incelemeyi kapatır
set_cohort_summary Bir inceleme kohortunun sade dille yazılmış özetini ayarlar
add_review_diagram Bir kohorta yapılandırılmış, grafikle doğrulanmış bir diyagram (sequence, entityRelation, stateMachine) ekler
publish_review_to_github Sonuçlanmış incelemeyi GitHub’a satır içi yorumlar ve bir özet gövdesi olarak yayımlar
Araç Açıklama
search_memory Olguları ve politikaları arar (anahtar kelime, anlamsal ya da hibrit — varsayılan hibrittir)
propose_fact Bir bilgi alanına kısa bir markdown olgusu kaydeder
supersede_fact Bir olguyu başka bir olguyla değiştirildi olarak işaretler
propose_policy Bir bilgi alanına normatif bir kural kaydeder (alanda yazma izni gerektirir)
supersede_policy Bir politikayı yürürlükten kaldırır — denetim için saklayarak etkisiz olarak işaretler
list_policies Etkin politikaları listeler, isteğe bağlı olarak bilgi alanına göre filtreler
list_memory_domains Çalışma alanının bilgi alanlarını olgu ve politika sayılarıyla listeler
record_observation Ajanın çalışma belleğine ham bir gözlem kaydeder
get_my_notes Çağıran ajanın çalışma belleği karalama defterini okur
update_my_notes Çağıran ajanın çalışma belleği karalama defterini günceller
remember Bu oturum için ajanın sıcak çalışma belleğine bir not ekler (TTL ve sayıyla sınırlı)
consolidate_memory Bir pekiştirme (“uyku”) geçişi çalıştırır: süresi geçmiş sıcak öğeleri çıkarır, kalıcı olanları uzun vadeli olgulara dönüştürür
harmonize_memory Ajanlar arası inanç uyumlaştırması (SHMR) çalıştırır ve çelişkileri işaretler
list_memory_conflicts Saptanan çelişkileri ve her birinin nasıl çözüldüğünü listeler
Araç Açıklama
create_goal Kurumsal bir hedef oluşturur (şirket, ekip, ajan veya görev düzeyi)
list_goals Hedefleri düzey, durum ve toplulaştırılmış ilerlemeyle listeler
update_goal_progress Bir hedefin ilerlemesini ayarlar
create_approval Yönetilen bir eylem için kurul onayı açar (plan çıkışı, birleştirme, sürüm, işe alım, özel)
list_approvals Onayları listeler, isteğe bağlı olarak duruma göre filtreler
decide_approval Bir kararı kaydeder: onayla, reddet, revizyon iste ya da yeniden gönder
comment_approval Bir kurul onayına yorum yapar
exit_plan_mode Bir plan_exit onayı açar (ve onaylandıktan sonra tüketir); konuşmayı plan modundan çıkarır
agent_heartbeat Canlılık bildirir (canlı, boşta, takılı); sessizleşmek çalışma zamanı sağlığını önce yeni kayıp, sonra çevrimdışı durumuna çevirir
list_runtime_health Her ajanın çalışma zamanı sağlığını listeler
list_agent_presence Her ajanın hazır bulunma durumunu listeler (sağlık, yaşam döngüsü, çalışan ve kuyruktaki sayılar, kapasite)
get_org_chart Raporlama ağacını okur; kökte CEO, reports_to ile iç içe
create_work_product Bir bilete bağlı kalıcı bir teslimat oluşturur
save_work_product_revision Yeni bir revizyon kaydeder; eşzamanlı bir düzenlemede reddedilmek için base_revision_id geçirin
list_work_products İş ürünlerini listeler, isteğe bağlı olarak tek bir bilete filtreler
get_work_product Bir iş ürününü revizyon geçmişiyle birlikte okur
create_runtime_profile Yeniden kullanılabilir bir çalışma zamanı profili tanımlar (protokol ailesi, CLI komutu, sabit başlatma argümanları)
list_runtime_profiles Çalışma alanının çalışma zamanı profillerini listeler

Yalnızca ana makine bir kod grafiği deposu sağladığında kaydedilir. Dizin, dağıtılan dil bilgisi kümesini kapsar (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); başka herhangi bir dildeki semboller bulunmaz.

Araç Açıklama
search_code Dizinlenmiş sembolleri ad, imza ve doküman yorumuna göre arar (hibrit BM25 + anlamsal)
code_symbol Sembolleri tam adla arar; file:line ve imzayı döndürür
code_callers Bir sembolü çağıran veya ona bağımlı olan sembolleri listeler (gelen kenarlar)
code_callees Bir sembolün çağırdığı veya bağımlı olduğu sembolleri listeler (giden kenarlar)
code_impact Bir sembolün geçişli etki yarıçapını belirli bir derinliğe kadar hesaplar
Araç Açıklama
create_ticket Yapılandırılmış sağlayıcıda bir bilet oluşturur
get_ticket Bir bileti kimliğine göre getirir
list_tickets Biletleri listeler, isteğe bağlı olarak duruma veya atanan kişiye göre filtreler
update_ticket Durumu, başlığı, açıklamayı, önceliği veya etiketleri günceller (durum in_progress / completed gibi takma adları kabul eder)
assign_ticket Bir bileti bir ajana ve/veya ekibe atar
reassign_ticket Bir bileti farklı bir ajana yeniden atar
add_ticket_collaborator Bir ajanı bir bilette işbirliği yapmaya davet eder (biletin alanına eklenir)
comment_on_ticket Bir bilete yorum yapar
close_ticket Bir bileti kapatır (tamamlandı olarak işaretler); isteğe bağlı çıktı alır
fail_ticket Bir bileti bir hata iletisiyle başarısız olarak işaretler
delegate_ticket Bir bileti bir ajana devreder ve izlenen bir bilet oluşturur
ticket_pr_link Bir bileti ve bir pull request’i PR düğüm kimliğiyle bağlar ya da bağını kaldırır (action: link | unlink)
ticket_relation İki bilet arasında bir ilişki ekler veya kaldırır — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations Bir biletin üst öğesini, alt sorunlarını ve bağımlılık bağlantılarını listeler
Araç Açıklama
record_team_activity Bir ekip liderinin etkinlik kaydını bir bilete karşı kaydeder
preview_trigger Varsayımsal bir olayın hangi pipeline çalıştırmalarını başlatacağını, hiçbir şeyi işleme koymadan önceden dener
submit_output Çağıranın geçerli pipeline çalıştırması için yapılandırılmış çıktı yükünü gönderir; çalıştırmanın bildirdiği çıktı şemasına göre doğrulanır
Araç Açıklama
propose_orchestration Tek bir baştan onay için yapılandırılmış, çok ajanlı bir orkestrasyon planı üretir; doğrular ve varsa ihlalleri döndürür
Araç Açıklama
list_feeds Kayıtlı RSS/Atom akışlarını listeler
list_articles Makaleleri listeler, isteğe bağlı olarak akışa, okunmamışa veya kaydedilmişe göre filtreler
get_article Bir makaleyi getirir
set_article_read Bir makaleyi okundu ya da okunmadı olarak işaretler
set_article_saved Bir makaleyi kaydeder ya da kaydını kaldırır
refresh_feeds Etkin tüm akışları şimdi yeniden çeker

Atılabilir makineleri — yalıtılmış bir tarayıcı veya Linux masaüstü, bir Android emülatörü ya da bir iOS Simulator’ı — bir çalıştırmanın içinden yönetir. Koşulsuz olarak önyükleme sonrasında kaydedilir: bir makinenin gerçekten önyüklenip önyüklenemeyeceği, araçların çağrı başına yanıtladığı bir yoklama sorusudur. Bir konuşmadaki yinelenen çağrılar tek bir makineyi yeniden kullanır; ekran görüntüleri, sonuç başına tek görüntü bütçesiyle görüntü içeriği olarak döner ve çıkarılan sayfa/arayüz içeriği güvenilmez veri olarak sınırlanır. Dört kullanım aracı ile rig_close, enclosureControl eylem sınıfını bildirir (kullanım araçları ayrıca networkEgress ve processSpawn bildirir; mobile_use ile ios_use ayrıca packageInstall bildirir); bu yüzden salt okunur modlar onları reddeder. rig_list hiçbirini bildirmez — yalnızca çalışma alanı durumunu okur. Yüzey başına fiil dağarcığının tamamı rig referansında bulunur.

Araç Açıklama
computer_use Yalıtılmış bir VM’de Linux masaüstünü yönetir: taşı, tıkla, sürükle, kaydır, yaz, yeniden boyutlandır, pano, ekran görüntüsü
browser_use Headless bir Chromium, Firefox veya WebKit’i (engine) yönetir: gezinme, tıklama, doldurma, çıkarma (a11y/DOM/console), pano, ekran görüntüsü
mobile_use Android’i ADB üzerinden yönetir: inceleme/girdi, ekran görüntüleri, uygulama kurma/başlatma/durdurma/sıfırlama/kaldırma, derin bağlantılar ve argv biçimli aygıt komutları
ios_use iOS Simulator’ı WebDriverAgent/CoreSimulator üzerinden yönetir: inceleme/girdi, ekran görüntüleri, uygulama kurma/başlatma/durdurma/kaldırma, derin bağlantılar ve argv biçimli simülatör süreçleri
rig_list Bir çalışma alanının rig’lerini yüzey, durum, ekran boyutu ve denetleyiciyle listeler
rig_close Bir rig’i yok eder ve sahip olduğu makine durumunu atar

Takvimin ve toplantıların MCP aracı yoktur. Ajanlar takviminizi, toplantılarınızı, transkriptlerinizi, eylem maddelerinizi veya kararlarınızı okuyamaz. Eylem maddelerini ve kararları üreten özet, bir ajanın çağırabileceği bir araç olarak değil, yerleşik meeting_summary pipeline’ı olarak çalışır.

Kapılama tek bir tablodan (ModeToolPolicy) iki kez uygulanır: bir kez Claude Code adaptörü için MCP göndericisinde, bir kez de yerleşik harness kayıt defterinde. Engellenen bir çağrı nedeni döndürür.

Mod Araç yüzeyi
chat Kayıtlı her araç; izin listesi yok
plan Özenle seçilmiş bir izin listesi. Çalışma ağacına yazma yok ve create / assign / delegate bilet fiilleri yok; ancak bellek, artifact’lar, todo’lar, submit_plan, exit_plan_mode ve gönderilen biletteki bilet tamamlama fiillerine izin verilir
review Özenle seçilmiş bir izin listesi: incelemeye katılım, iletişim, salt okunur bağlam getiricileri ve create_ticket ile assign_ticket dahil tam bilet fiil kümesi
orchestrate Özenle seçilmiş bir izin listesi: araştırma ve okuma araçları ile propose_orchestration, create_playbook ve run_playbook. İşe alım, ayrıştırma ve bilet tamamlama onaydan sonra belirlenimci biçimde gerçekleşir, asla çalıştırma ortasında değil

İzin listesinden bağımsız olarak her modda izin verilenler:

Küme Araçlar
Bellek ve artifact’lar 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
Kod grafiği search_code, code_symbol, code_callers, code_callees, code_impact
Çalıştırma mekaniği search_tool_bm25, list_my_tools, todo_write, todo_read

Bir izin listesinde olmak bir aracı çağrılabilir kılmaz; tersi de geçerlidir: operatöre soru sorma yeteneği bir harness aracıdır (ask_user), bu yüzden bu MCP kataloğunda hiç görünmez.

Bir araç requiresApproval bildirebilir. Bu durumda gönderici bir ApprovalPayload oluşturur ve aracı çalıştırmadan önce bunu ConfirmationPort üzerinden yüzeye çıkarır; cc_server bu portu bağlar, böylece kapı etkindir.

Bunu bildiren kayıtlı araçlar: 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.

Bunun yanı sıra, birleşik eylem korumaları boş olmayan bir ActionClass kümesi bildiren her aracı kapıdan geçirir. Bağlı bir onaylayıcı yokken verilen prompt kararı reddedilir. Bkz. Korumalar.

Üründeki her yetenek bir ajan tarafından erişilebilir değildir. Bunların hiç aracı yoktur; bu yüzden başka bir yerde atıfta bulunulduğunu görmüş olabileceğiniz bir ad “unknown tool” döndürür:

Yetenek Bunun yerine nerede bulunur
Bir ajanı işe alma, işten çıkarma veya düzenleme Ajanlar arayüzü. hire_agent / fire_agent / update_agent diye bir araç yoktur
Çalışma alanı oluşturma RPC üzerinden workspace.upsert; sahipliği tohumlar ve damgalar
Projeler (oluşturma / listeleme / güncelleme / dosyalama) Biletler arayüzü. Projeler bir operatör yüzeyidir — bkz. Projeler
Operatöre bloklayıcı bir soru sorma MCP değil, harness’ın ask_user aracı. Konuşmada bir form işler ve yanıt gelene kadar bloklar
Ajan başına tanılama Hiçbir şey. doctor diye bir şey yoktur — bkz. Ajan tanılaması
Takvim ve toplantılar Yalnızca insan istemciler için RPC (yukarıya bakın)