Documentatie · ⌨️ Coding agents

Een coding agent koppelen

Laat de agent waarmee je al programmeert je Pommy-installatie lezen en aanpassen.

Pommy is een MCP-server. De agent waarmee je al programmeert — Claude Code, Codex, Cursor, VS Code, of elke client die streamable HTTP en OAuth spreekt — kan ermee verbinden, en vanaf dan kan hij je Pommy-installatie lezen en voor je aanpassen: controleren wat een project nog mist, de installatiecode van de widget ophalen en die in de site plakken waar hij al aan werkt, een kennisbankdocument toevoegen, de instructies van de assistent herschrijven.

Je stelt dit in op de pagina Coding Agents in het linkermenu. Het is een pagina voor developers en verder hangt er niets in Pommy van af — open je nooit een terminal, sla dit onderdeel dan helemaal over.

Regel: Twee MCP-richtingen die je makkelijk door elkaar haalt: deze pagina gaat over Pommy als MCP-server, zodat je coding agent Pommy kan gebruiken — terwijl Externe tools (MCP) in het onderdeel AI-assistent de omgekeerde richting is, waarbij je supportassistent de MCP-server van iemand anders gebruikt.

De pagina Coding Agents: links de tabbladen per client met het koppelcommando, rechts het endpointadres, de samenvatting van de rechten en de kaart Connected
De pagina Coding Agents — kies je agent, kopieer zijn commando en zie rechts wat je al hebt toegestaan.

Wat de agent kan doen#

De koppeling biedt een vaste set tools. Niets buiten deze lijst kan worden aangeroepen, wat de agent ook vraagt. De tools met ja wijzigen je installatie; ze worden alleen aangeboden als je toestemming hebt gegeven om wijzigingen te maken, en zonder die toestemming ziet de agent ze niet eens.

ToolWat hij doetWijzigt iets?
pommy_list_projectsDe projecten die deze koppeling mag bereiken, en met welke Pommy hij verbonden is — ontwikkeling of live, met het adres. Andere tools hebben een project-ID nodig; dit is waar dat vandaan komt.nee
pommy_project_statusDe installatiestatus van één project — assistent, kennisbank, widget, kanalen, domeinverificatie, journeys — en de ene volgende stap die je moet zetten.nee
pommy_how_toHoe iets in Pommy werkt, beantwoord in combinatie met de huidige staat van je project in plaats van in het algemeen.nee
pommy_search_docsDoorzoekt deze documentatie, zodat de agent antwoordt op basis van wat Pommy echt doet in plaats van te gokken.nee
pommy_get_agentDe AI-assistenten van het project en hun volledige instructies.nee
pommy_list_agentsDe assistenten in het kort: actief, standaard, temperature, tokenlimiet.nee
pommy_create_agentMaakt een assistent aan. Zonder assistent antwoordt niemand je bezoekers.ja
pommy_update_agentNaam, instructies, begroeting, temperature, instellingen voor overdracht, en de persona-velden (weergavenaam, bedrijf, toon, antwoordlengte).ja
pommy_update_agent_instructionsVervangt de instructies van een assistent door nieuwe tekst.ja
pommy_list_widgetsDe widgets van het project: naam, welke bezoekers op je site zien, merkkleur en welkomstbericht.nee
pommy_get_widgetElke instelling van één widget — kleuren, launcher, teksten, gedrag.nee
pommy_get_widget_embed_codeHet <script>-fragment dat de chatwidget van het project op een site zet.nee
pommy_update_widgetWijzigt widgetinstellingen: uiterlijk, launcher, gedrag, welkomst- en merkteksten, tekst per taal. Met publish maakt hij dit de widget die je site toont, of haalt hij hem offline.ja
pommy_create_widgetMaakt een chatwidget aan, eventueel met de eerste instellingen. Toont je site al een widget, dan staat de nieuwe uit totdat je hem publiceert.ja
pommy_delete_widgetVerwijdert een widget. Weigert de widget die je site op dat moment toont.ja
pommy_list_documentsDe kennisbankdocumenten die de assistent kan doorzoeken, waar elk document vandaan komt en of het al geïndexeerd is — gecontroleerd tegen de zoekindex, niet gegokt. In pagina's, met het doorzoekbare aantal vooraan.nee
pommy_add_documentVoegt een document met platte tekst toe. Geef het paginaadres mee, dan werkt een tweede aanroep met hetzelfde adres dat document bij in plaats van een kopie toe te voegen.ja
pommy_update_documentHerschrijft de titel en inhoud van een document.ja
pommy_delete_documentVerwijdert een document. Niet terug te draaien.ja
pommy_scrape_urlLeest een webpagina of Markdown-bestand en slaat het op met het adres, zodat de assistent ernaar kan linken. Hetzelfde adres opnieuw lezen werkt het document bij — geen kopieën.ja
pommy_import_urlsImporteert tot 20 pagina's of Markdown-bestanden in één aanroep. Veilig te herhalen met dezelfde lijst: zo blijft een helpcentrum of documentatiesite gesynchroniseerd in plaats van gedupliceerd.ja
pommy_list_faqsDe vraag-antwoordparen waarmee de assistent vergelijkt.nee
pommy_upsert_faqVoegt een FAQ toe of bewerkt een bestaande.ja
pommy_delete_faqVerwijdert een FAQ.ja
pommy_list_productsDe producten en diensten uit de showcase die als kaarten in de chat verschijnen.nee
pommy_upsert_productVoegt een showcasekaart toe of bewerkt er een.ja
pommy_delete_productVerwijdert een showcasekaart.ja
pommy_list_conversationsRecente gesprekken: kanaal, status, wanneer. Alleen lezen.nee
pommy_get_conversationDe berichten van één gesprek, op volgorde — de enige eerlijke manier om te achterhalen waarom een antwoord verkeerd was.nee
pommy_list_journeysJourneys en of de functie aan staat voor dit project; staat hij uit, wat er ontbreekt.nee
pommy_draft_journeySchrijft een concept van een journey. Publiceert nooit, en weigert een live journey aan te raken — publiceren blijft een menselijke beslissing.ja
pommy_list_integrationsDe kanalen die aan het project gekoppeld zijn (WhatsApp, Instagram, Telegram, Shopify, ikas, WooCommerce, Google Calendar) en hun status.nee
pommy_usageHet abonnement en het quotagebruik — wat er over is voordat een limiet de volgende schrijfactie weigert.nee
pommy_domain_statusOf domeinverificatie wordt afgedwongen en welke adressen geverifieerd zijn. De eerste plek om te kijken als de widget niet verschijnt.nee
pommy_add_domainVoegt een domein toe en geeft precies terug waarmee je aantoont dat het van jou is: een metatag, een bestand of een DNS-record. Een agent die je site bewerkt, kan de route met de metatag zelf afronden.ja
pommy_verify_domainControleert het bewijs. Met enforce beperkt hij de widget ook tot geverifieerde domeinen — alleen als je daarom vraagt.ja

Voor al het andere is er geen tool: geen project verwijderen, geen wijzigingen in de facturatie, geen teambeheer, geen journey publiceren. Een gesprek lezen kan, omdat het repareren van een verkeerd antwoord begint met het lezen ervan; namens jou in een gesprek schrijven kan niet.

Koppelen#

  1. Open Coding Agents en kies je agent

    De tabbladen bovenaan de kaart Connect — Claude Code, Codex, Cursor, VS Code, Other — tonen elk het exacte commando of bestand voor die client. Kopieer het van de pagina; het adres is al voor je ingevuld.

  2. Voer het commando uit, of sla het bestand op

    Claude Code en Codex gebruiken een terminalcommando van één regel. Cursor en VS Code lezen een klein JSON-bestand — de pagina laat zien welk bestand, en het pad ervan.

  3. Log in

    Je agent opent de browser en je logt in bij Pommy als jezelf. In Claude Code start het inloggen met het commando /mcp; in Codex met codex mcp login pommy; Cursor en VS Code openen de browser vanzelf.

  4. Kies welke projecten hij mag bereiken

    De browser toont het toestemmingsscherm van Pommy. Kies de projecten, keur goed, en de agent is gekoppeld.

Claude Code
claude mcp add --transport http pommy https://api.pommy.ai/mcp
Codex
codex mcp add pommy --url https://api.pommy.ai/mcp
Cursor — ~/.cursor/mcp.json
{
  "mcpServers": {
    "pommy": {
      "url": "https://api.pommy.ai/mcp"
    }
  }
}
VS Code — .vscode/mcp.json
{
  "servers": {
    "pommy": {
      "type": "http",
      "url": "https://api.pommy.ai/mcp"
    }
  }
}

Elke andere client werkt ook: laat hem naar hetzelfde adres wijzen, https://api.pommy.ai/mcp. Het is een streamable HTTP-endpoint achter OAuth, en de client ontdekt al het andere — welke autorisatieserver hij moet gebruiken, welke rechten er bestaan — zelf.

Let op: Kopieer het adres van de pagina Coding Agents in plaats van van deze pagina. De ontwikkelomgeving heeft een ander adres, en een agent die naar de verkeerde omgeving wijst, maakt vrolijk verbinding maar ziet nooit je live projecten.

In de browserstap wordt de toestemming echt gegeven, dus daar worden twee dingen tegelijk gevraagd: wat deze applicatie mag doen, en waar.

  • Welke applicatie vraagt — de naam waarmee hij zich heeft geregistreerd, bovenaan getoond. Een applicatie die Pommy niet herkent, krijgt dit scherm nooit.
  • Wat hij mag doen — één regel per gevraagd recht: je projecten lezen, er wijzigingen in maken, zien wie je bent. Lees de regel over wijzigingen goed; die doet ertoe.
  • Welke projecten — elk project dat je kunt bereiken, gegroepeerd per organisatie. Bij meer dan zes projecten verschijnt een zoekvak. Zonder aangevinkt project kan niets worden goedgekeurd.

Een project aanvinken verleent niets; het beperkt wat de agent mag aanraken. Je deelt hier geen toegang uit, je kiest welk deel van je eigen toegang je uitleent.

Je ziet dit scherm elke keer dat je koppelt, ook als je dezelfde client al eerder hebt gekoppeld — dat is bewust, want de projectlijst is juist wat je misschien wilt wijzigen. Je vorige keuze staat al aangevinkt, dus opnieuw autoriseren is één klik als er niets is veranderd.

Rechten en veiligheid#

  • Hij handelt namens jou. De koppeling draagt je eigen rechten en niets meer — hij kan dus nooit meer bereiken dan jij. Kun jij een assistent niet bewerken in het dashboard, dan kan je agent dat ook niet.
  • Alleen de projecten die je koos. Wat de agent mag aanraken, is je live toegang en de projecten op het toestemmingsscherm — allebei, niet een van de twee.
  • Toegang wordt bij elke aanroep opnieuw gecontroleerd, niet onthouden vanaf de dag dat je goedkeurde. Verlies je toegang tot een project — je verlaat het team, je rol verandert — dan verliest de agent die op hetzelfde moment, zonder dat je iets hoeft in te trekken.
  • Wijzigingen gaan via dezelfde weg als het dashboard. Alles wat de agent schrijft, doorloopt dezelfde procedures die het dashboard gebruikt: dezelfde invoervalidatie, dezelfde rechtencontroles, hetzelfde quotum, hetzelfde auditspoor. Een document dat vanuit je terminal is toegevoegd, is niet te onderscheiden van een document dat met de hand is toegevoegd — ook niet in het auditlog.
  • Er wordt niets platformbreeds blootgesteld. De toollijst is met de hand samengesteld, en er staat geen tool op die platformbeheerdersrechten nodig heeft — zelfs niet voor een account dat die rechten heeft.
  • De koppeling is van jou, niet van je team. Koppel je je agent, dan koppel je niet die van iemand anders, en trek je de jouwe in, dan raakt dat die van hen niet.

Koppelingen bekijken en intrekken#

De kaart Connected rechts op de pagina Coding Agents toont elke agent die je hebt geautoriseerd: de naam waarmee de client zich registreerde, hoeveel projecten hij bereikt en de datum waarop je toestemming gaf.

De kaart Connected met een geautoriseerde client, zijn aantal projecten en de datum van toestemming, met de knop Revoke ernaast
Elke koppeling kun je hier terugnemen — op dezelfde plek die laat zien wat hij bereikt.

Revoke vraagt om bevestiging, en daarna bereikt de agent geen enkel project meer. Het token dat hij heeft, kan nog een tijdje geldig zijn, maar het opent geen deur meer: elke toolaanroep meldt dat hij niets kan bereiken. Wil je de agent terug, start de koppeling dan opnieuw vanuit je client en kies de projecten opnieuw.

Tip: Intrekken is ook de nette manier om de projectlijst te wijzigen — al is opnieuw koppelen vanuit de client op zich genoeg, want het toestemmingsscherm komt elke keer terug.

Als iets niet werkt#

De agent vraagt welk project hij moet gebruiken.
De koppeling is geautoriseerd voor meer dan één project, dus de tool heeft een project-ID nodig. Vraag de agent eerst je projecten op te sommen — daar heeft hij precies een tool voor. Een koppeling die voor één project is geautoriseerd, vraagt dit nooit.
De agent kan alles lezen maar niets wijzigen.
De koppeling heeft alleen leesrechten gekregen, dus de tools die iets wijzigen, worden helemaal niet aangeboden. Een client die niets specifieks vraagt, krijgt standaard alleen leesrechten. Koppel opnieuw vanuit je client en controleer de regels met rechten op het toestemmingsscherm voordat je goedkeurt.
De agent ziet de tools, maar elke aanroep zegt dat hij geen enkel project kan bereiken.
De toestemming is ingetrokken, of je bent de toegang kwijtgeraakt tot de projecten die hij had gekregen. Start de koppeling opnieuw vanuit je client en kies de projecten op het toestemmingsscherm.
De browser zegt dat de applicatie niet wordt herkend.
Dat autorisatieverzoek hoort niet bij een applicatie die Pommy kent, dus het stopt daar bewust. Probeer niet vanaf die pagina verder te gaan — start de koppeling opnieuw vanuit je client.
De inlogpagina komt steeds bij zichzelf terug, of zegt dat de koppeling niet kon worden voltooid.
Je sessie wordt op dat adres niet herkend. Log eerst in bij het dashboard in dezelfde browser en start de koppeling daarna opnieuw vanuit je client.
Het toestemmingsscherm zegt dat er geen project is om toegang toe te geven.
Je account kan nog geen enkel project bereiken. Maak er een aan (of vraag of je aan een project kunt worden toegevoegd) en start de koppeling opnieuw.
De agent heeft een document toegevoegd, maar de assistent gebruikt het nog niet.
Nieuwe content heeft een paar minuten nodig om doorzoekbaar te worden, precies zoals wanneer je hem in het dashboard toevoegt. De tool die documenten opsomt, laat zien of het al geïndexeerd is.
De agent heeft de instructies van de assistent herschreven, maar een gesprek gedraagt zich nog op de oude manier.
Nieuwe instructies gelden voor gesprekken die daarna beginnen; een gesprek dat al loopt, maakt het af met de instructies waarmee het begon.