Tovább a tartalomhoz

MCP-eszközök

A cc_server egyetlen MCP (JSON-RPC 2.0) eszközregisztert üzemeltet, amely a fő szerverporton (alapértelmezés szerint 9030) érhető el a POST /mcp és a GET /sse végponton, 2024-11-05 protokollverzióval. Minden kliens ugyanezt a regisztert éri el: az asztali alkalmazás, a webes build, a külső MCP-kliensek és a beépített ügynökfuttató. A külső MCP-szerverek dinamikus rétegként hidazhatók be ugyanebbe a regiszterbe.

Mérőszám Darabszám
A cc_server által regisztrált eszközök 110
A packages/cc_mcp csomagból 108
A packages/cc_mcp_client csomagból (eszközfelfedezés) 2
Az alapregiszterben regisztrálva (server_mcp_registry.dart) 63
Indítás után regisztrálva, ahogy a szolgáltatásaik elindulnak (cc_server_runtime.dart) 47
Az alapregiszter 63 eszközéből kódgráfrepozitóriumtól függő 5

Az öt kódgráf-eszköz csak akkor kerül regisztrálásra, ha a gazdagép kódgráfrepozitóriumot ad át a buildServerMcpRegistry számára. A cc_server mindig átad egyet, így mind a 110 eszköz aktív a szállított binárisban.

A teljes regiszter megjelenik a tools/list válaszában, felfedezési kapuzás nélkül. A jegy módosításai típusos eszközök.

Kötelező minden olyan eszközön, amely munkaterület-hatókörű adatokat érint. A hiányzó vagy érvénytelen workspace_id egyértelmű hibát ad vissza, és a célszervezet munkaterületével nem egyező érték elutasításra kerül, nem pedig csendben figyelmen kívül marad. Hagyja el a valóban globális eszközökön: a list_workspaces és a hat hírfolyam-eszköz (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds) esetében, amelyek a szervertulajdonos felhasználónkénti hírfolyamlistáját használják. A felfedező eszközök (search_tool_bm25, list_my_tools) opcionálisan fogadják, hogy a hívhatóságot beszélgetésmód szerint tudják besorolni. Amikor egy ügynököt a szerver indít, a munkaterület szerveroldalon kényszerített, így az ügynök nem érhet el egy másik munkaterületet idegen azonosító átadásával.

Mindkettő a cc_mcp_client csomagból származik, nem a cc_mcp-ből, és mindkettő figyelembe veszi a módőrt, így azt jelentik, ami az aktuális beszélgetésmódban hívható.

Eszköz Leírás
search_tool_bm25 Kulcsszó alapján keres az eszközkatalógusban; visszaadja a találó eszközöket, azok argumentumsémáit, valamint azt, hogy épp hívhatók-e
list_my_tools Felsorolja az ebben a beszélgetésben épp hívható eszközöket, a módja szerint szűrve

Egy harmadik felfedező eszköz, a search_tools kizárólag a beépített harnessen belül létezik, és nem része ennek az MCP-regiszternek. A futtatás saját eszközfelületét rangsorolja, és a search_tool_bm25-tól eltérően betölti a megtalált eszközök sémáit, hogy az ügynök a következő körében meghívhassa a találatot. A harnessen futó ügynököknek ezt érdemes előnyben részesíteniük; az MCP-klienseknek a search_tool_bm25 áll rendelkezésére.

Eszköz Leírás
list_agents Felsorolja egy munkaterület regisztrált ügynökeit

Ügynökök közötti üzenetváltás és delegálás

Szekció neve “Ügynökök közötti üzenetváltás és delegálás”

Az ügynökök tereken keresztül beszélnek egymással (tartósak, a névsorban láthatók). Az ask_agent kérés/válasz, kötelező időtúllépéssel; a delegate_task-et szerveroldalon mélységkorlát, ciklusfelismerés, költségvetési keret és autonómiaplafon őrzi.

Eszköz Leírás
send_to_agent Egyirányú üzenetet küld egy másik ügynöknek, to_agent_id vagy pontos to_agent_name alapján címezve
ask_agent Kérdést tesz fel egy másik ügynöknek, és megvárja a válaszát, vagy időtúllépésbe fut
delegate_task Egy feladatot követett gyermekjegyként delegál egy másik ügynöknek
consult_agent A készségek alapján legjobban illeszkedő szakértőt adja a térhez, és egy fókuszált eligazítással indítja el
todo_read Elolvassa e beszélgetés elmentett feladatlistáját

Minden telepítés és frissítés egy fail-closed vizsgálati kapun halad át, mielőtt bármilyen készségtartalom a lemezre vagy egy ügynök promptjába kerülne.

Eszköz Leírás
list_skills Felsorolja a munkaterületen elérhető készség-slugokat
create_skill Új készséget hoz létre markdown-tartalomból
install_skill Telepíti egy készség teljes könyvtárát egy GitHub-repozitóriumból, rögzített refről
update_skill Egy telepített GitHub-készséget frissít új refre, újravizsgálva és újrarögzítve
list_skill_updates Felsorolja az újabb verzióval elérhető készségeket
verify_skills Ellenőrzi a rögzített készségeket a lemezen lévő tartalomkivonataikkal szemben
pin_skill Egy meglévő, lemezen lévő készséget bekivonatol a skills-lock.json fájlba

Terv-, playbook- és artefaktumeszközök

Szekció neve “Terv-, playbook- és artefaktumeszközök”
Eszköz Leírás
submit_plan A tervmód kimeneti szerződése: egy típusos PlanDocument kibocsátása, amely a Plan Studióban nyílik meg
create_playbook Elmenti a tervet elnevezett, verziózott sablonként, típusos {{param}} helyőrzőkkel
run_playbook Paraméterértékekkel példányosít egy playbookot, olyan tervet előállítva, amelyet az operátor jóváhagy
publish_artifact Típusos blokkok (markdown, táblázat, diagram, mermaid, kód, JSON) rendezett listáját teszi közzé, amely a kliensben natívan jelenik meg
revise_artifact Lecseréli egy közzétett artefaktum tartalmát
list_artifacts Felsorolja a munkaterület artefaktumait
get_artifact Elolvas egy artefaktumot
complete_goal Elértnek nyilvánítja a beszélgetés aktív, tartós célját (amelyet a /goal vagy a /loop indított)
Eszköz Leírás
list_workspaces Felsorolja az összes munkaterületet azonosítóikkal és neveikkel (globális; nincs workspace_id)
Eszköz Leírás
list_repos Felsorolja a munkaterületen regisztrált repókat. Az ügynök hívók a beszélgetésük elszigetelt, copy-on-write worktree-útvonalait kapják, soha nem az eredeti checkoutokat
Eszköz Leírás
list_spaces Felsorolja a munkaterület üzenetküldő tereit
get_messages Üzeneteket kér le egy térből
send_message Üzenetet küld egy térbe névvel ellátott feladó ügynökként
get_space_notes Elolvassa egy tér megosztott átadási dokumentumát
update_space_notes Lecseréli egy tér megosztott átadási dokumentumát
todo_write Egyetlen hívásban lecseréli e beszélgetés feladatlistáját (a teljes listát adja át)
Eszköz Leírás
start_ai_review Elindítja egy PR MI-átnézését: kiszámítja az átnézési területeket, szakértő átnézőket oszt ki a PR terébe, megírja a bejárást, és véglegesít
add_review_node Strukturált átnézési megállapítást (fájl, sor, P0–P3 prioritás) ad egy átnézési térhez
confirm_review_node Megerősíti egy társ megállapítását; a szerző nem erősítheti meg saját magát
resolve_review_node Javítottnak jelöl egy megállapítást, miután a módosítást ténylegesen elvégezte; nyomot posztol az átnézési térbe
dismiss_review_node Elutasít egy nem alkalmazható megállapítást; elnyomási tényt rögzít, hogy az átnézők ne jelöljék meg újra
request_peer_review Megkér egy másik átnéző ügynököt, hogy nézzen rá még egyszer egy megállapításra
dispatch_reviewers Az illeszkedő átnéző ügynököket egyidejűleg egy átnézési térbe indítja
submit_reviewer_verdict Átnézőnkénti ship/hold/block ítéletet posztol, megbízhatósággal és magyarázattal
finalize_review Kiszámítja a csomópontonkénti konszenzust és a PR-enkénti ítéletet, majd lezárja az átnézést
set_cohort_summary Beállítja egy átnézési kohorsz köznyelvi összefoglalóját
add_review_diagram Strukturált, gráffal ellenőrzött diagramot (sequence, entityRelation, stateMachine) csatol egy kohorszhoz
publish_review_to_github Közzéteszi a véglegesített átnézést a GitHubon soron belüli hozzászólásokként és egy összefoglaló törzzsel
Eszköz Leírás
search_memory Tényeket és szabályzatokat keres (kulcsszó, szemantikus vagy hibrid — a hibrid az alapértelmezett)
propose_fact Rövid markdown-tényt tárol egy domainben
supersede_fact Egy tényt egy másik által felváltottnak jelöl
propose_policy Normatív szabályt tárol egy domainben (írási jogosultságot igényel rajta)
supersede_policy Visszavon egy szabályzatot — inaktívnak jelöli, miközben az auditáláshoz megőrzi
list_policies Felsorolja az aktív szabályzatokat, opcionálisan domain szerint szűrve
list_memory_domains Felsorolja a munkaterület memóriadomainjeit a tény- és szabályzatszámokkal
record_observation Nyers megfigyelést rögzít az ügynök munkamemóriájába
get_my_notes Elolvassa a hívó ügynök munkamemória-jegyzetfüzetét
update_my_notes Frissíti a hívó ügynök munkamemória-jegyzetfüzetét
remember Jegyzetet ad az ügynök forró munkamemóriájához erre a munkamenetre (TTL-lel és darabszámmal korlátozva)
consolidate_memory Konszolidációs („alvási”) menetet futtat: kiüríti a lejárt forró elemeket, a tartósakat hosszú távú tényekké göngyölíti
harmonize_memory Ügynökök közötti hiedelem-összehangolást (SHMR) futtat, és megjelöli az ellentmondásokat
list_memory_conflicts Felsorolja a felderített ellentmondásokat és azt, hogy mindegyiket hogyan oldották fel
Eszköz Leírás
create_goal Szervezeti célt hoz létre (vállalat, csapat, ügynök vagy feladat szintjén)
list_goals Felsorolja a célokat szinttel, állapottal és összesített haladással
update_goal_progress Beállítja egy cél haladását
create_approval Testületi jóváhagyást nyit egy felügyelt művelethez (terv elhagyása, összefésülés, kiadás, felvétel, egyéni)
list_approvals Felsorolja a jóváhagyásokat, opcionálisan állapot szerint szűrve
decide_approval Döntést rögzít: jóváhagyás, elutasítás, átdolgozás kérése vagy újrabeküldés
comment_approval Hozzászól egy testületi jóváhagyáshoz
exit_plan_mode Megnyit (és jóváhagyás után felhasznál) egy plan_exit jóváhagyást, amely a beszélgetést kilépteti a tervmódból
agent_heartbeat Jelenti az életjelet (aktív, tétlen, elakadt); az elnémulás a futásidejű állapotot először nemrég elveszett, majd offline értékre váltja
list_runtime_health Felsorolja az egyes ügynökök futásidejű állapotát
list_agent_presence Felsorolja az egyes ügynökök jelenlétét (állapot, életciklus, futó és sorban álló darabszám, kapacitás)
get_org_chart Elolvassa a jelentési fát, a gyökérben a vezérigazgatóval, reports_to szerint beágyazva
create_work_product Jegyhez csatolt, tartós leszállítandót hoz létre
save_work_product_revision Új revíziót ment; adja át a base_revision_id értéket, hogy egy egyidejű szerkesztés esetén elutasításra kerüljön
list_work_products Felsorolja a munkatermékeket, opcionálisan egyetlen jegyre szűrve
get_work_product Elolvas egy munkaterméket a revíziótörténetével
create_runtime_profile Újrafelhasználható futásidejű profilt definiál (protokollcsalád, CLI-parancs, rögzített indítási argumentumok)
list_runtime_profiles Felsorolja a munkaterület futásidejű profiljait

Csak akkor regisztrálva, ha a gazdagép kódgráfrepozitóriumot biztosít. Az index a szállított nyelvtankészletet fedi (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); bármely más nyelv szimbólumai nincsenek benne.

Eszköz Leírás
search_code Név, szignatúra és dokumentációs komment alapján keres az indexelt szimbólumok között (hibrid BM25 + szemantikus)
code_symbol Pontos név alapján keres szimbólumokat; file:line és szignatúra értékkel tér vissza
code_callers Felsorolja azokat a szimbólumokat, amelyek egy szimbólumot hívnak vagy tőle függnek (bejövő élek)
code_callees Felsorolja azokat a szimbólumokat, amelyeket egy szimbólum hív vagy amelyektől függ (kimenő élek)
code_impact Kiszámítja egy szimbólum tranzitív hatássugarát egy adott mélységig
Eszköz Leírás
create_ticket Jegyet hoz létre a beállított szolgáltatónál
get_ticket Lekér egy jegyet azonosító alapján
list_tickets Felsorolja a jegyeket, opcionálisan állapot vagy hozzárendelt szerint szűrve
update_ticket Frissíti az állapotot, címet, leírást, prioritást vagy címkéket (az állapot elfogad olyan aliasokat, mint az in_progress / completed)
assign_ticket Egy jegyet egy ügynökhöz és/vagy csapathoz rendel
reassign_ticket Egy jegyet egy másik ügynökhöz rendel át
add_ticket_collaborator Meghív egy ügynököt, hogy működjön közre egy jegyen (a térhez adva)
comment_on_ticket Hozzászól egy jegyhez
close_ticket Lezár egy jegyet (késznek jelöli) opcionális kimenettel
fail_ticket Sikertelennek jelöl egy jegyet egy hibaüzenettel
delegate_ticket Egy jegyet egy ügynöknek delegál, követett jegyet létrehozva
ticket_pr_link Összekapcsol vagy szétválaszt egy jegyet és egy pull requestet a PR-csomópont azonosítója alapján (action: link | unlink)
ticket_relation Hozzáad vagy eltávolít egy kapcsolatot két jegy között — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations Felsorolja egy jegy szülőjét, aljegyeit és függőségi kapcsolatait
Eszköz Leírás
record_team_activity Egy csapatvezető aktivitásbejegyzését rögzíti egy jegyhez
preview_trigger Próbafuttatásban megmutatja, hogy egy feltételezett esemény mely pipeline-futtatásokat indítaná el, anélkül hogy bármit véglegesítene
submit_output Beküldi a strukturált kimeneti terhelést a hívó aktuális pipeline-futtatásához; a futtatás deklarált kimeneti sémájához ellenőrizve
Eszköz Leírás
propose_orchestration Strukturált, többügynökös orchestrációs tervet bocsát ki egy előzetes jóváhagyáshoz; érvényesít, és visszaadja az esetleges szabálysértéseket
Eszköz Leírás
list_feeds Felsorolja a regisztrált RSS/Atom-hírfolyamokat
list_articles Felsorolja a cikkeket, opcionálisan hírfolyam, olvasatlan vagy elmentett szerint szűrve
get_article Lekér egy cikket
set_article_read Olvasottnak vagy olvasatlannak jelöl egy cikket
set_article_saved Elment vagy visszavonja egy cikk mentését
refresh_feeds Azonnal újra lekéri az összes engedélyezett hírfolyamot

Elszigetelt környezet (állomás) eszközök

Szekció neve “Elszigetelt környezet (állomás) eszközök”

Eldobható gépeket vezérel — egy elszigetelt böngészőt vagy Linux asztali környezetet, egy Android-emulátort vagy egy iOS Simulatort — egy futtatás belsejéből. Indítás után, feltétel nélkül regisztrálva: hogy egy gép ténylegesen el tud-e indulni, az próbakérdés, amelyre az eszközök hívásonként válaszolnak. Egy beszélgetésben az ismételt hívások egyetlen gépet használnak újra; a képernyőképek képtartalomként térnek vissza, eredményenként egyetlen kép keretével, a kinyert oldal-/felhasználóifelület-tartalom pedig nem megbízható adatként van elkerítve. A négy használati eszköz a rig_close-szal együtt az enclosureControl műveletosztályt deklarálja (a használati eszközök a networkEgress és a processSpawn osztályt is deklarálják; a mobile_use és az ios_use a packageInstall osztályt is), így a csak olvasható módok megtagadják őket. A rig_list semmit sem deklarál — csak munkaterület-állapotot olvas. A felületenkénti teljes igekészletet az állomások referenciája tartalmazza.

Eszköz Leírás
computer_use Linux asztali környezetet vezérel egy elszigetelt VM-ben: mozgatás, kattintás, húzás, görgetés, gépelés, átméretezés, vágólap, képernyőkép
browser_use Fejetlen Chromiumot, Firefoxot vagy WebKitet vezérel (engine): navigálás, kattintás, kitöltés, kinyerés (a11y/DOM/console), vágólap, képernyőkép
mobile_use Androidot vezérel ADB-n keresztül: vizsgálat/bevitel, képernyőképek, alkalmazások telepítése/indítása/leállítása/visszaállítása/eltávolítása, deep linkek és argv alakú eszközparancsok
ios_use iOS Simulatort vezérel WebDriverAgent/CoreSimulatoron keresztül: vizsgálat/bevitel, képernyőképek, alkalmazások telepítése/indítása/leállítása/eltávolítása, deep linkek és argv alakú szimulátorfolyamatok
rig_list Felsorolja egy munkaterület állomásait felülettel, állapottal, kijelzőmérettel és vezérlővel
rig_close Megsemmisít egy állomást, és elveti a birtokolt gépállapotát

A naptárhoz és a megbeszélésekhez nem tartoznak MCP-eszközök. Az ügynökök nem olvashatják a naptárát, megbeszéléseit, átiratait, teendőit vagy döntéseit. A teendőket és döntéseket előállító összefoglaló a beépített meeting_summary pipeline formájában fut, nem pedig olyan eszközként, amelyet egy ügynök meghívhat.

A kapuzás egyetlen táblából (ModeToolPolicy) kétszer érvényesül: egyszer az MCP-diszpécserben a Claude Code adapterhez, egyszer pedig a beépített harness regiszterében. Egy blokkolt hívás visszaadja az okot.

Mód Eszközfelület
chat Minden regisztrált eszköz; nincs engedélyezési lista
plan Válogatott engedélyezési lista. Nincsenek worktree-írások és nincsenek create / assign / delegate jegyigék, de a memória, az artefaktumok, a feladatlisták, a submit_plan, az exit_plan_mode, valamint az indított jegy jegybefejező igéi engedélyezettek
review Válogatott engedélyezési lista: átnézési részvétel, kommunikáció, csak olvasható kontextuslekérdezők és a teljes jegyigekészlet, beleértve a create_ticket és az assign_ticket igét
orchestrate Válogatott engedélyezési lista: kutató és olvasó eszközök, valamint a propose_orchestration, a create_playbook és a run_playbook. A felvétel, a felbontás és a jegy befejezése determinisztikusan, jóváhagyás után történik, soha nem futás közben

Minden módban engedélyezett, az engedélyezési listától függetlenül:

Halmaz Eszközök
Memória és artefaktumok 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
Kódgráf search_code, code_symbol, code_callers, code_callees, code_impact
Futtatásmechanika search_tool_bm25, list_my_tools, todo_write, todo_read

Az, hogy valami szerepel egy engedélyezési listán, még nem teszi hívhatóvá az eszközt, és ez fordítva is igaz: az operátorkérdés képessége egy harness-eszköz (ask_user), így az soha nem jelenik meg ebben az MCP-katalógusban.

Egy eszköz deklarálhatja a requiresApproval tulajdonságot. A diszpécser ilyenkor egy ApprovalPayload objektumot épít, és azt a ConfirmationPort-on keresztül a felszínre hozza, mielőtt az eszköz lefutna; a cc_server beköti ezt a portot, így a kapu éles.

Az ezt deklaráló regisztrált eszközök: 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.

Ettől függetlenül az egységes műveleti korlátok kapuzzák minden olyan eszközt, amely nem üres ActionClass-halmazt deklarál. Egy prompt döntés, amelyhez nincs csatlakoztatva jóváhagyó, elutasításra kerül. Lásd: Korlátok.

Képességek, amelyek mögött nincs eszköz

Szekció neve “Képességek, amelyek mögött nincs eszköz”

Nem minden képesség érhető el ügynök számára a termékben. Ezekhez egyáltalán nem tartozik eszköz, így egy máshol hivatkozott név az “unknown tool” értékkel tér vissza:

Képesség Hol él helyette
Ügynök felvétele, elbocsátása vagy szerkesztése Az Ügynökök felülete. Nincs hire_agent / fire_agent / update_agent eszköz
Munkaterület létrehozása workspace.upsert RPC-n keresztül, amely feltölti és bélyegzi a tulajdonviszonyt
Projektek (létrehozás / listázás / frissítés / besorolás) A Jegyek felülete. A projektek operátori felület — lásd: Projektek
Blokkoló kérdés feltevése az operátornak A harness ask_user eszköze, nem az MCP. Egy űrlapot jelenít meg a beszélgetésben, és a válaszig blokkol
Ügynökönkénti diagnosztika Semmi. Nincs doctor — lásd: Ügynök diagnosztizálása
Naptár és megbeszélések RPC, kizárólag emberi kliensek számára (lásd fentebb)