Gå til innholdet

MCP-verktøy

cc_server er vert for ett MCP-verktøyregister (JSON-RPC 2.0), betjent på serverens hovedport (standard 9030) på POST /mcp og GET /sse, med protokollversjon 2024-11-05. Alle klienter når det samme registeret: skrivebordsappen, nettappen, eksterne MCP-klienter og den innebygde agentkjøretiden. Eksterne MCP-servere kan broes inn i det samme registeret som et dynamisk lag.

Mål Antall
Verktøy registrert av cc_server 110
Fra packages/cc_mcp 108
Fra packages/cc_mcp_client (verktøyoppdagelse) 2
Registrert i basisregisteret (server_mcp_registry.dart) 63
Registrert etter oppstart etter hvert som tjenestene deres kommer opp (cc_server_runtime.dart) 47
Av basisregisterets 63: betinget av et kodegraf-repositorium 5

De fem kodegraf-verktøyene registreres bare når verten sender et kodegraf-repositorium til buildServerMcpRegistry. cc_server sender alltid ett, så alle 110 er aktive i binæren som leveres.

Hele registeret annonseres i tools/list uten noen porting ved oppdagelse. Redigering av saker skjer gjennom typede verktøy.

Påkrevd på hvert verktøy som berører data med arbeidsområdeomfang. En manglende eller ugyldig workspace_id gir en eksplisitt feil, og en verdi som ikke samsvarer med arbeidsområdet til enheten det gjelder, avvises i stedet for å ignoreres i stillhet. Utelat den på de virkelig globale verktøyene: list_workspaces og de seks nyhetsstrømverktøyene (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds), som går på servereierens strømliste per bruker. Oppdagelsesverktøyene (search_tool_bm25, list_my_tools) tar den valgfritt, slik at de kan klassifisere kallbarhet etter samtalemodus. Når en agent sendes ut av serveren, tvinges arbeidsområdet på serversiden, så agenten kan ikke nå et annet arbeidsområde ved å sende inn en fremmed id.

Begge kommer fra cc_mcp_client, ikke cc_mcp, og begge konsulterer modusvakten, slik at de rapporterer hva som er kallbart i den gjeldende samtalemodusen.

Verktøy Beskrivelse
search_tool_bm25 Søk i verktøykatalogen etter nøkkelord; returnerer verktøyene som matcher, argumentskjemaene deres og om hvert av dem er kallbart akkurat nå
list_my_tools List opp verktøyene som er kallbare akkurat nå i denne samtalen, filtrert etter samtalens modus

Et tredje oppdagelsesverktøy, search_tools, finnes bare inne i den innebygde harnessen og er ikke en del av dette MCP-registeret. Det rangerer kjøringens egen verktøyflate og laster – i motsetning til search_tool_bm25 – skjemaene til det det finner, slik at agenten kan kalle et treff på neste tur. Agenter på harnessen bør foretrekke det; MCP-klienter har search_tool_bm25.

Verktøy Beskrivelse
list_agents List opp de registrerte agentene i et arbeidsområde

Agenter snakker med hverandre over områder (varige og synlige i deltakerlisten). ask_agent er forespørsel/svar med obligatorisk tidsavbrudd; delegate_task er beskyttet på serversiden av et dybdemaksimum, syklusdeteksjon, en budsjettramme og et autonomitak.

Verktøy Beskrivelse
send_to_agent Send en enveis melding til en annen agent, adressert med to_agent_id eller nøyaktig to_agent_name
ask_agent Still et spørsmål til en annen agent og vent på svaret, eller la kallet gå ut på tid
delegate_task Deleger en oppgave til en annen agent som en sporet, underordnet sak
consult_agent Legg den spesialisten som matcher best ut fra skills, til i området og send den ut med en fokusert oppgavebeskrivelse
todo_read Les denne samtalens lagrede gjøremålsliste

Hver installasjon og oppdatering passerer en skanneport som feiler lukket, før noe skill-innhold når disken eller en agentprompt.

Verktøy Beskrivelse
list_skills List opp skill-slugene som er tilgjengelige i et arbeidsområde
create_skill Opprett en ny skill fra markdown-innhold
install_skill Installer hele katalogen til en skill fra et GitHub-repositorium på en festet ref
update_skill Oppdater en installert GitHub-skill til en ny ref, med ny skanning og ny festing
list_skill_updates List opp skills der en nyere versjon er tilgjengelig
verify_skills Verifiser låste skills mot innholdshashene deres på disk
pin_skill Hash en eksisterende skill på disk inn i skills-lock.json
Verktøy Beskrivelse
submit_plan Planmodusens utdatakontrakt: send inn et typet PlanDocument som åpnes i Plan Studio
create_playbook Lagre en plan som en navngitt, versjonert mal med typede {{param}}-plassholdere
run_playbook Instansier en playbook med parameterverdier og lag en plan som operatøren godkjenner
publish_artifact Publiser en ordnet liste med typede blokker (markdown, tabell, diagram, mermaid, kode, JSON) som vises naturlig i klienten
revise_artifact Erstatt innholdet i en publisert artefakt
list_artifacts List opp arbeidsområdets artefakter
get_artifact Les én artefakt
complete_goal Erklær samtalens aktive, varige mål (startet med /goal eller /loop) som oppnådd
Verktøy Beskrivelse
list_workspaces List opp alle arbeidsområder med id-ene og navnene deres (globalt; ingen workspace_id)
Verktøy Beskrivelse
list_repos List opp repoene som er registrert i et arbeidsområde. Agentkallere får samtalens isolerte copy-on-write-worktree-stier, aldri de opprinnelige utsjekkingene
Verktøy Beskrivelse
list_spaces List opp meldingsområdene i et arbeidsområde
get_messages Hent meldinger fra et område
send_message Send en melding til et område som en navngitt avsenderagent
get_space_notes Les et områdes delte overleveringsdokument
update_space_notes Erstatt et områdes delte overleveringsdokument
todo_write Erstatt denne samtalens gjøremålsliste i ett kall (send inn hele listen)
Verktøy Beskrivelse
start_ai_review Start AI-gjennomgangen for en PR: beregn områdene som skal gjennomgås, send ut spesialistreviewere til PR-ens gjennomgangsområde, skriv den samlede fremstillingen og fullfør
add_review_node Legg til et strukturert gjennomgangsfunn (fil, linje, prioritet P0–P3) i et gjennomgangsområde
confirm_review_node Bekreft et funn fra en kollega; forfatteren kan ikke bekrefte sitt eget
resolve_review_node Merk et funn som rettet etter at endringen faktisk er gjort; legger inn et spor i gjennomgangsområdet
dismiss_review_node Avvis et funn som ikke er relevant; registrerer et undertrykkingsfaktum, slik at reviewere slutter å flagge det på nytt
request_peer_review Be en annen reviewer-agent om en ny vurdering av et funn
dispatch_reviewers Send ut matchede reviewer-agenter til et gjennomgangsområde, samtidig
submit_reviewer_verdict Legg inn en ship/hold/block-dom per reviewer med konfidens og en forklaring
finalize_review Beregn konsensus per node og dommen for PR-en, og lukk gjennomgangen
set_cohort_summary Angi et klarspråkssammendrag for en gjennomgangskohort
add_review_diagram Fest et strukturert, grafverifisert diagram (sequence, entityRelation, stateMachine) til en kohort
publish_review_to_github Publiser den fullførte gjennomgangen til GitHub som inline-kommentarer pluss en sammendragstekst
Verktøy Beskrivelse
search_memory Søk i fakta og policyer (nøkkelord, semantisk eller hybrid – hybrid er standard)
propose_fact Lagre et kort markdown-faktum i et domene
supersede_fact Merk et faktum som erstattet av et annet
propose_policy Lagre en normativ regel i et domene (krever skrivetilgang til det)
supersede_policy Trekk tilbake en policy – merker den inaktiv mens den beholdes for revisjon
list_policies List opp aktive policyer, valgfritt filtrert på domene
list_memory_domains List opp arbeidsområdets minnedomener med antall fakta og policyer
record_observation Registrer en rå observasjon i agentens arbeidsminne
get_my_notes Les den kallende agentens kladdeblokk i arbeidsminnet
update_my_notes Oppdater den kallende agentens kladdeblokk i arbeidsminnet
remember Legg til et notat i agentens varme arbeidsminne for denne økten (begrenset av TTL og antall)
consolidate_memory Kjør en konsolideringsrunde («søvn»): kast ut utløpte varme elementer og rull varige inn i langsiktige fakta
harmonize_memory Kjør harmonisering av overbevisninger på tvers av agenter (SHMR) og flagg motsetninger
list_memory_conflicts List opp oppdagede motsetninger og hvordan hver av dem ble løst
Verktøy Beskrivelse
create_goal Opprett et organisasjonsmål (på selskaps-, team-, agent- eller oppgavenivå)
list_goals List opp mål med nivå, status og samlet framdrift
update_goal_progress Angi framdriften til et mål
create_approval Åpne en styregodkjenning for en regulert handling (avslutning av plan, sammenslåing, utgivelse, ansettelse, egendefinert)
list_approvals List opp godkjenninger, valgfritt filtrert på status
decide_approval Registrer en avgjørelse: godkjenn, avvis, be om revisjon eller send inn på nytt
comment_approval Kommenter en styregodkjenning
exit_plan_mode Åpne (og, når den er godkjent, forbruk) en plan_exit-godkjenning og vipp samtalen ut av planmodus
agent_heartbeat Rapporter livstegn (alive, idle, stuck); stillhet vipper kjøretidshelsen til nylig tapt og deretter frakoblet
list_runtime_health List opp kjøretidshelsen til hver agent
list_agent_presence List opp tilstedeværelsen til hver agent (helse, livssyklus, antall kjørende og i kø, kapasitet)
get_org_chart Les rapporteringstreet med CEO i roten, nestet etter reports_to
create_work_product Opprett en varig leveranse knyttet til en sak
save_work_product_revision Lagre en ny revisjon; send inn base_revision_id for å bli avvist ved en samtidig redigering
list_work_products List opp arbeidsprodukter, valgfritt filtrert til én sak
get_work_product Les et arbeidsprodukt med revisjonshistorikken sin
create_runtime_profile Definer en gjenbrukbar kjøretidsprofil (protokollfamilie, CLI-kommando, faste startargumenter)
list_runtime_profiles List opp arbeidsområdets kjøretidsprofiler

Registreres bare når verten oppgir et kodegraf-repositorium. Indeksen dekker grammatikksettet som følger med (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); symboler i alle andre språk finnes ikke.

Verktøy Beskrivelse
search_code Søk i indekserte symboler etter navn, signatur og dokkommentar (hybrid BM25 + semantisk)
code_symbol Slå opp symboler etter nøyaktig navn; returnerer file:line og signatur
code_callers List opp symbolene som kaller eller er avhengige av et symbol (inngående kanter)
code_callees List opp symbolene et symbol kaller eller er avhengig av (utgående kanter)
code_impact Beregn den transitive påvirkningsradiusen til et symbol, til en gitt dybde
Verktøy Beskrivelse
create_ticket Opprett en sak hos leverandøren som er konfigurert
get_ticket Hent én sak etter id
list_tickets List opp saker, valgfritt filtrert på status eller tildelt person
update_ticket Oppdater status, tittel, beskrivelse, prioritet eller etiketter (status godtar aliaser som in_progress / completed)
assign_ticket Tildel en sak til en agent og/eller et team
reassign_ticket Tildel en sak på nytt til en annen agent
add_ticket_collaborator Inviter en agent til å samarbeide om en sak (legges til i området til saken)
comment_on_ticket Kommenter en sak
close_ticket Lukk en sak (merker den som fullført) med valgfritt utdata
fail_ticket Merk en sak som mislykket med en feilmelding
delegate_ticket Deleger en sak til en agent og opprett en sporet sak
ticket_pr_link Koble til eller fra en sak og en pull request etter PR-node-id (action: link | unlink)
ticket_relation Legg til eller fjern en relasjon mellom to saker – blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations List opp en saks overordnede sak, undersaker og avhengighetskoblinger
Verktøy Beskrivelse
record_team_activity Registrer en aktivitetsoppføring for en teamleder mot en sak
preview_trigger Tørrkjør hvilke pipeline-kjøringer en tenkt hendelse ville starte, uten å utføre noe
submit_output Send inn den strukturerte utdatalasten for den kallende partens gjeldende pipeline-kjøring; valideres mot utdataskjemaet som kjøringen har erklært
Verktøy Beskrivelse
propose_orchestration Send inn en strukturert orkestreringsplan for flere agenter til én forhåndsgodkjenning; validerer og returnerer eventuelle brudd
Verktøy Beskrivelse
list_feeds List opp de registrerte RSS-/Atom-strømmene
list_articles List opp artikler, valgfritt filtrert på strøm, ulest eller lagret
get_article Hent én artikkel
set_article_read Merk en artikkel som lest eller ulest
set_article_saved Lagre eller fjern lagringen av en artikkel
refresh_feeds Hent alle aktiverte strømmer på nytt nå

Styr kastbare maskiner – en innesluttet nettleser eller et Linux-skrivebord, en Android-emulator eller en iOS-simulator – inne fra en kjøring. Registreres etter oppstart, ubetinget: om en maskin faktisk kan starte, er et sonderingsspørsmål verktøyene svarer på per kall. Gjentatte kall i én samtale gjenbruker én maskin; skjermbilder returneres som bildeinnhold med et budsjett på ett bilde per resultat, og uthentet side- og grensesnittinnhold rammes inn som ikke-klarerte data. De fire bruksverktøyene pluss rig_close erklærer enclosureControl som handlingsklasse (bruksverktøyene erklærer også networkEgress og processSpawn; mobile_use og ios_use erklærer også packageInstall), så skrivebeskyttede moduser avviser dem. rig_list erklærer ingen – det leser bare arbeidsområdets tilstand. Det fulle verbvokabularet per flate står i stasjonsreferansen.

Verktøy Beskrivelse
computer_use Styr et Linux-skrivebord i en innesluttet VM: flytt, klikk, dra, rull, skriv, endre størrelse, utklippstavle, skjermbilde
browser_use Styr en headless Chromium, Firefox eller WebKit (engine): naviger, klikk, fyll ut, hent ut (a11y/DOM/konsoll), utklippstavle, skjermbilde
mobile_use Styr Android over ADB: inspiser/gi input, skjermbilder, installer/start/stopp/nullstill/avinstaller apper, dype lenker og enhetskommandoer formet som argv
ios_use Styr iOS-simulatoren gjennom WebDriverAgent/CoreSimulator: inspiser/gi input, skjermbilder, installer/start/stopp/avinstaller apper, dype lenker og simulatorprosesser formet som argv
rig_list List opp stasjonene i et arbeidsområde med flate, status, skjermstørrelse og kontroller
rig_close Ødelegg en stasjon og forkast maskintilstanden den eier

Kalender og møter har ingen MCP-verktøy. Agenter kan ikke lese kalenderen, møtene, transkriptene, tiltakene eller beslutningene dine. Sammendraget som produserer tiltak og beslutninger, kjører som den innebygde meeting_summary-pipelinen, ikke som et verktøy en agent kan kalle.

Portingen håndheves to ganger fra én tabell (ModeToolPolicy): én gang i MCP-utsenderen for Claude Code-adapteren og én gang i det innebygde harness-registeret. Et blokkert kall returnerer årsaken.

Modus Verktøyflate
chat Alle registrerte verktøy; ingen tillatelsesliste
plan En kuratert tillatelsesliste. Ingen skriving til worktreet og ingen create- / assign- / delegate-saksverb, men minne, artefakter, gjøremål, submit_plan, exit_plan_mode og verbene for fullføring av saken som er sendt ut, er tillatt
review En kuratert tillatelsesliste: gjennomgangsdeltakelse, kommunikasjon, skrivebeskyttede konteksthentinger og hele settet med saksverb, inkludert create_ticket og assign_ticket
orchestrate En kuratert tillatelsesliste: research- og leseverktøy pluss propose_orchestration, create_playbook og run_playbook. Ansettelser, dekomponering og fullføring av saker skjer deterministisk etter godkjenning, aldri midt i en kjøring

Tillatt i alle moduser, uavhengig av tillatelseslisten:

Sett Verktøy
Minne og artefakter 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
Kodegraf search_code, code_symbol, code_callers, code_callees, code_impact
Kjøringsmekanikk search_tool_bm25, list_my_tools, todo_write, todo_read

Å stå på en tillatelsesliste gjør ikke et verktøy kallbart, og det motsatte gjelder også: evnen til å stille operatøren spørsmål er et harness-verktøy (ask_user), så det dukker aldri opp i denne MCP-katalogen i det hele tatt.

Et verktøy kan erklære requiresApproval. Utsenderen bygger da en ApprovalPayload og viser den gjennom ConfirmationPort før verktøyet kjører; cc_server kobler til den porten, så porten er aktiv.

Registrerte verktøy som erklærer det: 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.

Uavhengig av dette håndhever de samlede tillatelsesreglene for handlinger en port for ethvert verktøy som erklærer et ikke-tomt sett med ActionClass. En prompt-avgjørelse uten en tilkoblet godkjenner avvises. Se Tillatelsesregler.

Ikke alle evner i produktet kan nås av en agent. Disse har ikke noe verktøy i det hele tatt, så et navn du kan ha sett referert andre steder, returnerer «unknown tool»:

Evne Hvor den bor i stedet
Å ansette, si opp eller redigere en agent Agentgrensesnittet. Det finnes ikke noe hire_agent / fire_agent / update_agent-verktøy
Å opprette et arbeidsområde workspace.upsert over RPC, som seeder og stempler eierskap
Prosjekter (opprett / list opp / oppdater / plasser) Saksgrensesnittet. Prosjekter er en operatørflate – se Prosjekter
Å stille operatøren et blokkerende spørsmål harness-verktøyet ask_user, ikke MCP. Det viser et skjema i samtalen og blokkerer til svaret kommer
Diagnostikk per agent Ingenting. Det finnes ingen doctor – se Diagnostiser en agent
Kalender og møter RPC bare for menneskelige klienter (se over)