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.
Registerets størrelse
Seksjon med tittelen «Registerets størrelse»| 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.
Felles parametere
Seksjon med tittelen «Felles parametere»workspace_id
Seksjon med tittelen «workspace_id»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.
Verktøyoppdagelse
Seksjon med tittelen «Verktøyoppdagelse»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.
Agentverktøy
Seksjon med tittelen «Agentverktøy»| Verktøy | Beskrivelse |
|---|---|
list_agents |
List opp de registrerte agentene i et arbeidsområde |
Agent-til-agent-meldinger og delegering
Seksjon med tittelen «Agent-til-agent-meldinger og delegering»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 |
Skill-verktøy
Seksjon med tittelen «Skill-verktøy»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 for planer, playbooks og artefakter
Seksjon med tittelen «Verktøy for planer, playbooks og artefakter»| 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 for arbeidsområder
Seksjon med tittelen «Verktøy for arbeidsområder»| Verktøy | Beskrivelse |
|---|---|
list_workspaces |
List opp alle arbeidsområder med id-ene og navnene deres (globalt; ingen workspace_id) |
Repo-verktøy
Seksjon med tittelen «Repo-verktøy»| 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 |
Meldingsverktøy
Seksjon med tittelen «Meldingsverktøy»| 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 for gjennomgang
Seksjon med tittelen «Verktøy for gjennomgang»| 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 |
Minneverktøy
Seksjon med tittelen «Minneverktøy»| 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 |
Styringsverktøy
Seksjon med tittelen «Styringsverktøy»| 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 |
Kodegraf-verktøy
Seksjon med tittelen «Kodegraf-verktøy»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 |
Saksverktøy
Seksjon med tittelen «Saksverktøy»| 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 |
Team- og pipeline-verktøy
Seksjon med tittelen «Team- og pipeline-verktøy»| 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 |
Orkestreringsverktøy
Seksjon med tittelen «Orkestreringsverktøy»| Verktøy | Beskrivelse |
|---|---|
propose_orchestration |
Send inn en strukturert orkestreringsplan for flere agenter til én forhåndsgodkjenning; validerer og returnerer eventuelle brudd |
Nyhetsstrømverktøy
Seksjon med tittelen «Nyhetsstrømverktøy»| 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å |
Verktøy for isolerte miljøer (stasjoner)
Seksjon med tittelen «Verktøy for isolerte miljøer (stasjoner)»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 |
Ikke eksponert over MCP
Seksjon med tittelen «Ikke eksponert over MCP»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.
Verktøyporting etter modus
Seksjon med tittelen «Verktøyporting etter modus»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.
Verktøy med godkjenningsport
Seksjon med tittelen «Verktøy med godkjenningsport»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.
Evner uten et verktøy bak seg
Seksjon med tittelen «Evner uten et verktøy bak seg»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) |