Ga naar inhoud

Gebruik FortressFlag vanuit een AI-agent

Werk je met een AI-codeeragent, dan kun je hem je flags geven. “Zet new-checkout uit in productie” is een zin met precies één API-aanroep erachter — en één die je echte gebruikers raakt, en daarom gaat deze handleiding net zoveel over de grenzen als over de instelling.

FortressFlag levert een MCP-server: een klein programma dat op je eigen machine draait, naast je agent, en hem een set flag-tools geeft.

Kort gezegd: je agent kan precies wat jij kunt, en minder.

De server houdt een API-token vast dat handelt als jou — jouw rol, jouw projecttoegang, jouw organisatie. Hij praat met FortressFlag via dezelfde publieke API als het dashboard, dus elke rechtencontrole, projectlijst en auditregel is gelijk aan jij die zelf op de knop drukt. Er is geen aparte toegangsweg voor agents.

Sommige dingen zijn bewust helemaal niet beschikbaar voor een agent:

  • Een productievoorstel goedkeuren. Het hele punt van een tweede paar ogen is dat ze van een mens zijn.
  • Een flag definitief verwijderen.
  • SDK-sleutels of API-tokens aanmaken. Een eenmalig geheim dat naar een agent gaat, belandt in een gesprekstranscript.
  • Leden, facturering of juridische overeenkomsten beheren.

1. Maak een token. Ga in het dashboard naar je accountpagina en zoek API-tokens. Geef het een naam die je herkent, kies een scope en kopieer het token — het wordt één keer getoond.

Kies Alleen lezen, tenzij je wilt dat de agent wijzigingen maakt. Je kunt later altijd een tweede token aanmaken.

2. Wijs je agent naar de server. De meeste MCP-clients nemen een klein configuratieblok met een commando en zijn omgeving:

{
"mcpServers": {
"fortressflag": {
"command": "ffmcp",
"env": {
"FORTRESSFLAG_TOKEN": "ffm_jouw_token_hier",
"FORTRESSFLAG_API_URL": "https://jouw-fortressflag-api"
}
}
}
}

Het token hoort in env, nooit in args — commandoregelargumenten zijn zichtbaar voor andere gebruikers op een gedeelde machine.

3. Voeg --allow-writes toe als je wijzigingen wilt. Zonder die vlag biedt de server alleen leestools. Mét die vlag kan je agent flags schakelen, aanmaken, hernoemen, archiveren en herstellen — nog steeds begrensd door wat jouw rol toestaat:

"args": ["--allow-writes"]

Behandel die vlag als gemak, niet als slot. Heeft een agent niets te zoeken in het wijzigen van flags, geef hem dan óók een alleen-lezen token — dat is het deel dat FortressFlag echt afdwingt.

Je rol beslist als eerste. Ben je Developer, dan kun je productie niet direct schrijven — dus je agent ook niet. Wat hij wel kan, is de wijziging voorstellen, precies zoals jij zou doen: een tweede teamgenoot past hem toe, en niemand keurt zijn eigen voorstel goed. Zie productiegoedkeuringen.

De tool vraagt het nog een keer. Voordat hij een productieomgeving aanraakt, moet de agent verklaren dat hij dat bedoelt, met de omgeving erbij. Die controle leest de productieklasse van de omgeving, niet de naam — dus een omgeving die je live noemde is precies zo beschermd als één die prod heet, en één die alleen prod heet zonder productieklasse valt je niet lastig.

Die tweede controle bestaat omdat de realistische fout geen aanvaller is. Het is een agent die gevraagd is iets in staging te wijzigen en naar de verkeerde omgevingssleutel grijpt.

Dit verdient duidelijkheid: alles wat de agent leest, wordt onderdeel van zijn gesprek met welke AI-dienst hij ook gebruikt. Dat omvat flag-namen, -sleutels en -beschrijvingen die je team schreef, en — als je hem de auditgeschiedenis laat lezen — de namen en e-mailadressen van je teamgenoten.

Daar volgen twee dingen uit.

Behandel flag-beschrijvingen als onbetrouwbare invoer. Wie een flag kan aanmaken, kan er van alles in typen, ook tekst die leest als een instructie aan de agent. De server vertelt de agent vooraf en bij elke tool dat deze waarden data van je organisatie zijn en nooit instructies. Dat helpt; het is geen garantie, en het is een reden om na te denken over wiens flags een agent leest.

Wij kunnen dat transcript niet zien of beheren. Dat is tussen jou en je AI-aanbieder. Er verandert niets aan hoe FortressFlag je gegevens opslaat of verstuurt als je dit gebruikt — de tools zijn gewoon nóg een client van dezelfde API.

  • Hij draait alleen lokaal. De server praat met je agent via standaardinvoer en -uitvoer, op jouw machine. Er is geen gehoste versie om een agent op afstand naartoe te wijzen.
  • Nog geen downloadbare binaries — voorlopig bouw je hem vanaf de broncode.
  • Targetingregels en segmenten zijn niet bewerkbaar door een agent. Flags lezen, schakelen en productiewijzigingen voorstellen wel; de regel-editor is een groter vlak dat een eigen ontwerpronde verdient.
  • Openstaande voorstellen tonen vereist goedkeurdersrechten. Het token van een Developer kan een productiewijziging voorstellen maar hem daarna niet tonen — dat is het recht op de onderliggende API, geen eigenaardigheid van de tools.