Tooling · Handleiding

WebMCP-tools testen vanuit de terminal met agent-browser

In het kort

Controleer niet alleen of een WebMCP-tool uitvoert, maar ook of het resultaat klopt. Onze proef met agent-browser 0.36.0 laat dat zien. De aanvulling voor 0.38.0 legt uit hoe je automatische toolmeldingen leest en wanneer je het volledige invoerschema opnieuw moet ophalen. In Chrome DevTools kun je daarnaast zelf meekijken met elke aanroep.

Je tool staat in de lijst en de aanroep slaagt. Toch krijgt de klant vijf werkdagen terug waar je test er drie verwacht. Met een kleine controle op de CLI-uitvoer maak je dat verschil zichtbaar. We hebben de positieve én negatieve route uitgevoerd.

Vercel Labs bracht op 1 september 2026 agent-browser 0.36.0 uit met experimentele WebMCP-ondersteuning. De CLI kan paginatools ontdekken en uitvoeren. Voor ontwikkelaars is dat een concrete nieuwe testmogelijkheid: je kunt een geregistreerde tool vanuit een terminal aanroepen en het resultaat automatisch beoordelen.

Begin met een onschuldige, bekende uitkomst

Onze proef is uitgevoerd op 7 september met agent-browser 0.36.0 en Chrome 152.0.7977.76 op macOS, in aparte browsersessies zonder bestaand gebruikersprofiel. We wezen de lokale Chrome-installatie aan met --executable-path. We gebruikten de alleen-lezen levertijd-demo uit ons bestaande stappenplan. Die retourneert fictieve winkelinformatie; er worden geen bestellingen geplaatst.

Om dit na te doen heb je de CLI-installatie en Node.js voor het controlescript nodig. Controleer met agent-browser --version welke versie je gebruikt. Bewaar de volledige HTML-demo uit het stappenplan als webmcp-demo.html en serveer die lokaal op http://127.0.0.1:8767/webmcp-demo.html. Gebruik een eigen testsessie zonder opgeslagen login of automatisch hersteld profiel.

bash
agent-browser --session webmcp-proef open http://127.0.0.1:8767/webmcp-demo.html
agent-browser --session webmcp-proef webmcp list

De WebMCP-documentatie beschrijft welke metadata de lijst bevat, waaronder naam, origin, frame-ID en invoerschema. Controleer dat je de bedoelde pagina en tool ziet. In onze proef verscheen get_delivery_window. Bij vertraagde registratie moet je eerst op de registratie wachten; een navigatie die klaar is, betekent niet dat alle applicatiecode klaar is.

Update 21 september: toolmelding is nog geen volledig schema

Sinds agent-browser 0.38.0 van 16 september melden gewone browserantwoorden automatisch beschikbare WebMCP-tools bij eerste ontdekking en cataloguswijzigingen. Die samenvatting bevat namen, korte beschrijvingen, origins en frame-ID’s, maar geen invoerschema’s of annotaties. Dit is een wijziging in deze agentclient, geen nieuwe browserstandaard.

Volgens de versievaste documentatie betekent een ontbrekend data.webmcp-veld: geen update. Het betekent niet dat eerder gevonden tools verdwenen zijn. Een nieuwe melding vervangt de eerdere beschikbaarheid; status: ready met tools: [] wist die lijst. truncated: true waarschuwt voor ingekorte beschrijvingen of weggelaten tools.

Haal vóór uitvoering het volledige schema van je gekozen tool op. Voor onze demo kan dat met agent-browser --session webmcp-proef webmcp list get_delivery_window --json. Gebruik bij gelijknamige tools ook --frame met de gevonden frame-ID. Vernieuw eerder opgehaalde schema’s na een catalogusupdate; ook een schemawijziging kan zo’n melding veroorzaken. Ontdekking op zichzelf voert niets uit en verleent geen toestemming.

Ons aanvullende testadvies: wijzig in een oefenpagina de vereiste invoer van een tool zonder de naam te veranderen. Controleer of je client de wijziging meldt en het nieuwe schema ophaalt vóór de volgende aanroep. Deze aanvulling is gebaseerd op documentatie en gepubliceerde implementatie, niet op een nieuwe eigen browserproef. De onderstaande meetresultaten blijven die van 7 september met versie 0.36.0.

Maak de inhoud onderdeel van je test

Bewaar het volgende eigen controlescript als assert-delivery.cjs. Het leest de JSON-uitvoer van de CLI en controleert drie dingen: de opdracht is geslaagd, de tooluitvoering is voltooid en de tekst is exact de afgesproken demo-uitkomst.

javascript
const assert = require("node:assert/strict");
const { readFileSync } = require("node:fs");
const result = JSON.parse(readFileSync(0, "utf8"));

assert.equal(result.success, true);
assert.equal(result.data?.status, "completed");
assert.equal(result.data?.output,
  "Dit demoartikel wordt binnen 3 werkdagen verzonden.");
console.log("Levertijdcontrole geslaagd.");

Voer daarna in Bash of Zsh de tool uit en stuur de JSON-uitvoer naar het script. pipefail zorgt dat ook een mislukte CLI-opdracht de hele pijplijn laat mislukken. De lege invoer past bij deze demo; neem die niet zomaar over voor een tool met verplichte parameters.

bash
set -o pipefail
agent-browser --session webmcp-proef --json webmcp invoke get_delivery_window --params '{}' \
  | node assert-delivery.cjs

Het script slaagde bij de oorspronkelijke tekst. Daarna veranderden we uitsluitend het zichtbare levertijdbericht in de geladen demo van drie naar vijf werkdagen. De tool bleef succesvol uitvoeren, maar de inhoudscontrole faalde met een verschil tussen verwacht en ontvangen. Daarmee controleer je meer dan alleen bereikbaarheid.

Uitgevoerde proefWaargenomen resultaatBetekenis
Oorspronkelijke demo: drie werkdagenTool gevonden; controle geslaagdDeze geregistreerde tool levert de verwachte tekst
Demotekst gewijzigd naar vijf werkdagenTool voltooid; inhoudscontrole faaltDe test merkt een afwijkende uitkomst op
Aparte sessie met --no-webmcpLege toollijst; tekst blijft leesbaarDe gewone informatie werkt ook zonder de toolroute

Voor een echte winkel is een vaste tekstvergelijking meestal te beperkt. Ons advies: gebruik gecontroleerde testdata en toets bijvoorbeeld product-ID, beschikbaarheid en uiterste verzenddatum als afzonderlijke velden. Verander de verwachte uitkomst alleen wanneer de productafspraak werkelijk verandert, niet om een rode test groen te krijgen.

Update 27 oktober: zelf meekijken in Chrome DevTools

Wil je zonder terminal zien wat een pagina aanbiedt, open dan Chrome DevTools op die pagina, ga naar het tabblad Application en kies WebMCP in de zijbalk. Volgens Chrome zie je daar elke tool met de beschrijving die een agent krijgt, en hoe vaak de tool in deze sessie is aangeroepen. Klik je een tool aan, dan voer je hem met eigen invoer uit via Run tool. Een eerdere aanroep start je met dezelfde invoer opnieuw.

Het paneel houdt ook een log bij van elke aanroep: de invoer die de agent stuurde, het resultaat en de status, zoals voltooid, geannuleerd, bezig of fout. Past de invoer of het resultaat niet bij het schema van de tool, dan staat dat als fout bij de uitvoer. Je kunt filteren op naam, status en soort tool. Gebruik je Chrome DevTools voor agents, dan staan de WebMCP-functies daar standaard uit; je zet ze aan met een vlag.

Het paneel vervangt het controlescript hierboven niet. Het helpt tijdens het bouwen om te zien wat er misgaat, maar keurt niets automatisch af. Deze aanvulling is gebaseerd op de documentatie van Chrome, niet op een eigen proef.

Houd de runtime apart van je website

Agent-browser schakelt WebMCP standaard in voor lokaal beheerde Chrome-sessies. Dat maakt deze proef handig, maar bewijst niet dat je publieke origin-trialtoken werkt. Controleer de trial daarom afzonderlijk, zoals in het stappenplan. In een nieuwe sessie met --no-webmcp konden we de uitgeschakelde route expliciet vergelijken.

Een lege lijst is iets anders dan de gedocumenteerde fout webmcp_unsupported: dan biedt de gekozen runtime de benodigde experimentele CDP-interface niet. Ondersteuning in onze lokale Chrome-proef mag je niet doortrekken naar aangesloten browsers, cloudproviders of andere engines. Leg de geteste combinatie vast.

Sluit je testsessie na afloop met agent-browser --session webmcp-proef close. Deze controle gebruikt geen taalmodel: zij bewijst niet dat een agent bij een vrije klantvraag de juiste tool kiest. Daarvoor blijven afzonderlijke taakevaluaties nodig. Je hebt nu wel een concrete technische test die een verkeerde uitkomst kan afkeuren voordat je die agenttest begint.

Bronnen

Deel dit artikelLinkedInX
Volgende stap

Meer context bij dit onderwerp: Wat is WebMCP? De complete uitleg. Benieuwd hoe jouw site ervoor staat? Doe de gratis AI-Ready Websitescan.