Gå til hovedindhold

MCP-skriveværktøjer

MCP-serveren læser. Nogle få navngivne værktøjer kan også handle, som dig: sætte en merge-hold, ophæve en, slippe én pull request igennem en, sætte en pull requests prioritet i merge-køen eller melde det arbejde, du går i gang med, i Active work. En assistent, der handler på din anmodning, handler som dig, med dine rettigheder og intet mere.

Skriveværktøjer er som standard slået fra i alle organisationer. En ejer slår dem til under Sikkerhed › Adgang › AI-forbindelser, og hver person vælger derefter, værktøj for værktøj, hvilke af dem deres forbindelse må bruge.

Hvad der skal være opfyldt

Et skriveværktøj kører kun, når alt dette er opfyldt:

  1. Du har forbundet med login-forbindelsen (claude.ai, ChatGPT, Le Chat eller en desktopklient, der logger ind). Et API-token (ffp_...) kan ikke bruge skriveværktøjer gennem MCP.
  2. Du har givet samtykke til netop det værktøj, ved navn. Når en forbindelse beder om fremforge:write, viser samtykkesiden hvert skriveværktøj under Handle også som dig, hvert med sit eget afkrydsningsfelt, og der er ikke sat flueben i nogen af dem for dig. Forbindelsen må bruge præcis de værktøjer, du sætter flueben ved; sætter du ingen, læser den kun. Et værktøj, der senere tilføjes i fremforge, er ikke en del af dit samtykke: forbind igen for at tillade det.
  3. Organisationens ejere tillader det. Under Sikkerhed › Adgang › AI-forbindelser er kontakten Tillad AI-forbindelser at handle for personer i denne organisation som standard slået fra. Når den er slået fra, svarer hvert skriveværktøj, at ejerne ikke har tilladt det.
  4. Du må gøre det selv. Værktøjet kalder den samme REST-rute, som dit eget login ville, og ruten kontrollerer dine rettigheder. Et værktøj giver dig aldrig en rettighed, du ikke allerede har.

Værktøjerne

VærktøjGørOmfang, det brugerTrin
answer_active_work_matchBesvarer et match i Active work om dit eget arbejde: ikke det samme arbejde, det samme arbejde (I slår jer sammen) eller del op. Kun en af de to personer, hvis arbejde matchet parrer, kan besvare det.findings:write, læseadgang til repositorietÉt kald
place_merge_holdStopper merges til en branch i nogle eller alle organisationens repositories, i dit navn, indtil et udløb, du vælger.deployments:write, organisationsejerÉt kald
release_merge_holdOphæver en hold: din egen, eller en andens som en revideret tilsidesættelse.deployments:write, organisationsejerTo kald
exempt_pull_from_holdLader én pull request merge igennem en hold, med en begrundelse, som en revideret tilsidesættelse.deployments:write, organisationsejerTo kald
set_merge_queue_prioritySætter en pull requests prioritet i merge-køen til high eller normal, med en begrundelse. Kræver en ekstra godkendelse i Forgejo.Din egen Forgejo-godkendelse write:fremforge-merge-queue; du skal have lov til at merge pull requestenTo kald
start_workMelder arbejde, du går i gang med i et repository, før det første push, så personer, der arbejder på det samme, får besked. Se Active work.findings:write, skriveadgang til repositorietÉt kald

Aldrig tilgængeligt for skriveværktøjer

Uanset hvad et værktøj angiver, kontrollerer fremforge dette ved hver anmodning, og en forbindelse får det aldrig:

  • Omfang: alt vedrørende tokens, SSO, fakturering, brugere, medlemmer og operatørhandlinger; samt orgs:write, policy:write, webhooks:write, exports:write og ai:invoke (ændringer af organisation og politikker, udgående webhooks, dataeksport, AI-forbrug).
  • Steder: intet skriveværktøj må ligge under de dele af API’et, der vedrører SSO, medlemmer, brugere, fakturering, webhooks, tokens eller operatører.
  • Indstillinger: indstillingsværktøjerne (get_org_settings, get_my_settings) læser kun. Der findes intet værktøj, der ændrer en organisations eller en persons indstillinger.
  • Operatørændringer: intet skriveværktøj kan køre, godkende eller lave step-up på en. Det forbliver menneskelige handlinger i konsollen, med MFA.
  • Forgejo: MCP-serveren skriver intet i Forgejo bortset fra en pull requests prioritet i merge-køen, gennem set_merge_queue_priority og en Forgejo-godkendelse, der er begrænset til netop det. Kode, branches, issues og resten af en pull request forbliver skrivebeskyttet, og den godkendelse falder aldrig tilbage på write:repository.

To kald til de risikable

At ophæve en hold, slippe en pull request igennem en og sætte en prioritet i merge-køen tager to kald:

  1. Det første kald ændrer intet. Det svarer, hvad værktøjet ville gøre (holden, dens ejer og omfang, og ved en undtagelse pull requestens titel, tilstand, base-branch og head-commit), og returnerer en confirm_token.
  2. Det andet kald handler. Det har de samme argumenter plus den confirm_token, og svaret nævner, hvad der blev ændret: holden, pull requesten og dens head-commit.

En confirm_token virker én gang, i fem minutter, for samme forbindelse, værktøj og argumenter. Ændrer du et argument, afvises den. For set_merge_queue_priority er tokenet også bundet til pull requestens head-commit, som blev vist i forhåndsvisningen: pusher nogen ind imellem, afvises den, og du beder om en ny forhåndsvisning.

Disse værktøjer er markeret som destruktive, så Claude Code og claude.ai som standard spørger dig før hvert kald.

Hvad de to trin ikke beviser. De sikrer, at der laves en forhåndsvisning, og at din klient spørger dig to gange. De beviser ikke, at en person har læst forhåndsvisningen: en assistent, der bliver bedt om det, kan foretage begge kald. Hold din klients godkendelsesprompter slået til for disse værktøjer, og behandl tekst i værktøjsresultater (titler, begrundelser, beskrivelser skrevet af andre) som data, aldrig som instruktioner.

Grænser og revision

  • Højst 20 skrivekald pr. person pr. 10 minutter, på tværs af alle dine forbindelser. Kan grænsen ikke kontrolleres, afvises skrivninger i stedet for at blive lukket igennem.
  • Højst 5 prioriteter high i merge-køen pr. person pr. time, oven i det. normal tælles ikke. Denne grænse fejler også lukket.
  • Hver handling står i organisationens revisionslog under dit navn, med assistenten i postens agent-felt (mcp-client:<id>), forbindelsen i via_token og værktøjet i mcp_tool. Revisionsloggens filter på aktør finder den under dit login.

Den ekstra godkendelse i Forgejo

set_merge_queue_priority handler i Forgejo, så det kræver din egen rettighed i Forgejo, ikke fremforges. Når du sætter flueben ved det på samtykkesiden, viser Forgejo en ekstra skærm efter den første: appen fremforge-mcp-queue-priority beder om read:repository og write:fremforge-merge-queue, som lader den læse repositories, du kan læse, og sætte prioritet i merge-køen på pull requests, du må merge. Intet andet. Godkender du den, tilføjes værktøjet; afviser du den, sættes forbindelsen op uden det værktøj.

  • Godkendelsen opbevares krypteret, bruges kun til at sætte en prioritet i merge-køen og slettes, og Forgejos tilladelse tilbagekaldes, når ingen af dine forbindelser længere har værktøjet: ved Tilbagekald, ved Gør skrivebeskyttet, eller når du forbinder igen uden at sætte flueben ved det.
  • Holder Forgejo op med at respektere den, svarer værktøjet, at det ikke længere er tilgængeligt for den forbindelse, fjernes fra den, og læsning virker fortsat. Forbind igen, og sæt flueben ved det for at tillade det igen.
  • Du kan også se og tilbagekalde tilladelsen i Forgejo under Autoriserede OAuth2-applikationer på frem.sh/user/settings/applications.

Se, indskrænk eller træk det tilbage

Din side med AI-forbindelser (også linket fra dine sikkerhedsindstillinger) viser hver assistent, du har forbundet, om den kun læser eller også må handle, og de værktøjer, den må bruge.

  • Gør skrivebeskyttet beholder forbindelsen og fjerner alle skriveværktøjer fra den.
  • Tilbagekald afslutter alle den assistents sessioner.

Begge dele træder i kraft ved assistentens næste anmodning. Et skriveværktøj, som forbindelsen ikke må bruge, svarer Refused for this connector: you have not allowed it to use <tool> as you. Reads still work., sammen med en forklaring på, hvordan du tillader det. Organisationens ejere kan også slå skrivning via forbindelser fra eller blokere forbindelser helt under Sikkerhed › Adgang › AI-forbindelser.