Skriveverktøy i MCP
MCP-serveren leser. Noen få navngitte verktøy kan også handle, som deg: sette et merge-stopp, oppheve et, slippe én pull request gjennom et, sette prioriteten til en pull request i merge-køen, eller melde arbeidet du starter på i Active work. En assistent som handler på din forespørsel, handler som deg, med dine tillatelser og ikke noe mer.
Skriveverktøy er av i alle organisasjoner som standard. En eier slår dem på under Sikkerhet › Tilgang › AI-koblinger, og hver person velger deretter, verktøy for verktøy, hvilke connectoren deres kan bruke.
Hva som må være oppfylt
Et skriveverktøy kjører bare når alt dette gjelder:
- Du koblet til med innloggingsconnectoren (claude.ai, ChatGPT, Le Chat eller en skrivebordsklient som logger inn). Et API-token (
ffp_...) kan ikke bruke skriveverktøy gjennom MCP. - Du har samtykket til det verktøyet, ved navn. Når en connector ber om
fremforge:write, lister samtykkesiden hvert skriveverktøy under Også handle som deg, hvert med sin egen avkrysningsboks, og ingen er krysset av for deg. Connectoren kan bruke nøyaktig de verktøyene du krysser av; krysser du av ingen, kan den bare lese. Et verktøy som legges til i fremforge senere, er ikke med i samtykket ditt: koble til på nytt for å tillate det. - Eierne av organisasjonen tillater det. Under Sikkerhet › Tilgang › AI-koblinger er bryteren Tillat AI-koblinger å handle for personer i denne organisasjonen av som standard. Når den er av, svarer hvert skriveverktøy at eierne ikke har tillatt det.
- Du kan gjøre det selv. Verktøyet kaller den samme REST-ruten som din egen innlogging ville gjort, og den ruten kontrollerer rettighetene dine. Et verktøy gir deg aldri en tillatelse du ikke allerede har.
Verktøyene
| Verktøy | Gjør | Scope det bruker | Steg |
|---|---|---|---|
answer_active_work_match | Svarer på en match i Active work om ditt eget arbeid: ikke samme arbeid, samme arbeid (du slår deg sammen med den andre) eller deling. Bare én av de to personene hvis arbeid matchen kobler, kan svare. | findings:write, lesetilgang til repositoryet | Ett kall |
place_merge_hold | Stopper merger til en branch i noen eller alle av organisasjonens repositoryer, i ditt navn, fram til en utløpstid du velger. | deployments:write, eier av organisasjonen | Ett kall |
release_merge_hold | Opphever et stopp: ditt eget, eller andres som en revidert overstyring. | deployments:write, eier av organisasjonen | To kall |
exempt_pull_from_hold | Lar én pull request merges gjennom et stopp, med en begrunnelse, som en revidert overstyring. | deployments:write, eier av organisasjonen | To kall |
set_merge_queue_priority | Setter prioriteten til en pull request i merge-køen til high eller normal, med en begrunnelse. Krever en autorisasjon nummer to i Forgejo. | Din egen Forgejo-autorisasjon write:fremforge-merge-queue; du må ha lov til å merge pull requesten | To kall |
start_work | Melder arbeid du starter på i et repository, før første push, slik at personer som jobber med det samme, får beskjed. Se Active work. | findings:write, skrivetilgang til repositoryet | Ett kall |
Aldri tilgjengelig for skriveverktøy
Uansett hva et verktøy oppgir, kontrollerer fremforge disse ved hver forespørsel, og en connector får dem aldri:
- Scopes: alt for tokener, SSO, fakturering, brukere, medlemmer og operatørhandlinger; og
orgs:write,policy:write,webhooks:write,exports:writeogai:invoke(endringer i organisasjon og policy, utgående webhooks, dataeksporter, AI-forbruk). - Steder: ingen skriveverktøy kan ligge under delene av API-et for SSO, medlemmer, brukere, fakturering, webhooks, tokener eller operatører.
- Innstillinger: innstillingsverktøyene (
get_org_settings,get_my_settings) leser bare. Det finnes ikke noe verktøy som endrer innstillingene til en organisasjon eller en person. - Operatørendringer: ingen skriveverktøy kan kjøre, godkjenne eller gjøre ny autentisering for en. Det forblir menneskelige handlinger i konsollen, med MFA.
- Forgejo: MCP-serveren skriver ingenting i Forgejo bortsett fra prioriteten til en pull request i merge-køen, gjennom
set_merge_queue_priorityog en Forgejo-autorisasjon begrenset til det. Kode, brancher, issues og resten av en pull request forblir skrivebeskyttet, og den autorisasjonen faller aldri tilbake tilwrite:repository.
To kall for de risikable
Å oppheve et stopp, slippe en pull request gjennom et og sette en prioritet i merge-køen krever to kall:
- Det første kallet endrer ingenting. Det svarer med hva verktøyet ville gjort (stoppet, eieren og omfanget, og for et unntak pull requestens tittel, tilstand, målbranch og head-commit) og returnerer et
confirm_token. - Det andre kallet handler. Det har de samme argumentene pluss det
confirm_token, og svaret oppgir hva som ble endret: stoppet, pull requesten og head-commiten.
Et confirm_token virker én gang, i fem minutter, for den samme connectoren, det samme verktøyet og de samme argumentene. Endrer du et argument, avvises det. For set_merge_queue_priority er tokenet også bundet til pull requestens head-commit som ble vist i forhåndsvisningen: hvis noen pusher i mellomtiden, avvises det, og du ber om en ny forhåndsvisning.
Disse verktøyene er merket som destruktive, så Claude Code og claude.ai spør deg som standard før hvert kall.
Grenser og revisjon
- Høyst 20 skrivekall per person per 10 minutter, på tvers av alle connectorene dine. Når grensen ikke kan kontrolleres, avvises skrivinger i stedet for å slippes gjennom.
- Høyst 5
high-prioriteter i merge-køen per person per time, i tillegg.normaltelles ikke. Denne grensen stenger også ved feil. - Hver handling står i organisasjonens revisjonslogg under ditt navn, med assistenten i oppføringens felt
agent(mcp-client:<id>), connectoren ivia_tokenog verktøyet imcp_tool. Aktørfilteret i revisjonsloggen finner den under brukernavnet ditt.
Autorisasjon nummer to i Forgejo
set_merge_queue_priority handler i Forgejo, så det krever din egen tillatelse i Forgejo, ikke fremforges. Når du krysser det av på samtykkesiden, viser Forgejo et skjermbilde nummer to etter det første: appen fremforge-mcp-queue-priority ber om read:repository og write:fremforge-merge-queue, som lar den lese repositoryer du kan lese, og sette prioritet i merge-køen på pull requests du har lov til å merge. Ikke noe annet. Godkjenner du det, legges verktøyet til; avslår du, settes connectoren opp uten det verktøyet.
- Autorisasjonen lagres kryptert, brukes bare til å sette en prioritet i merge-køen, og slettes, med Forgejos tildeling tilbakekalt, når ingen av connectorene dine lenger har verktøyet: ved Tilbakekall, ved Gjør skrivebeskyttet, eller når du kobler til på nytt uten å krysse det av.
- Hvis Forgejo slutter å godta den, svarer verktøyet at det ikke lenger er tilgjengelig for den connectoren, fjernes fra den, og lesing fortsetter å virke. Koble til på nytt og kryss det av for å tillate det igjen.
- Du kan også se og tilbakekalle tildelingen i Forgejo, under Autoriserte OAuth2-applikasjoner på
frem.sh/user/settings/applications.
Se, begrense eller trekke den tilbake
Siden for AI-connectorene dine (også lenket fra sikkerhetsinnstillingene dine) viser hver assistent du har koblet til, om den bare leser eller også kan handle, og verktøyene den kan bruke.
- Gjør skrivebeskyttet beholder tilkoblingen og fjerner hvert skriveverktøy fra den.
- Tilbakekall avslutter hver sesjon for den assistenten.
Begge trer i kraft ved assistentens neste forespørsel. Et skriveverktøy connectoren ikke kan bruke, svarer Refused for this connector: you have not allowed it to use <tool> as you. Reads still work., med hvordan du tillater det. Eierne av organisasjonen kan også slå av skriving via connectorer, eller blokkere connectorer helt, under Sikkerhet › Tilgang › AI-koblinger.