WebMCP-tools testen vanuit de terminal met agent-browser
Met agent-browser 0.36.0 kun je WebMCP-tools vanuit de terminal ontdekken en aanroepen. Onze lokale proef laat zien hoe je ook de teruggegeven inhoud controleert: een geslaagde aanroep met de verkeerde levertijd moet je test laten falen.
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.
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.
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.
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.
set -o pipefail
agent-browser --session webmcp-proef --json webmcp invoke get_delivery_window --params '{}' \
| node assert-delivery.cjsHet 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 proef | Waargenomen resultaat | Betekenis |
|---|---|---|
| Oorspronkelijke demo: drie werkdagen | Tool gevonden; controle geslaagd | Deze geregistreerde tool levert de verwachte tekst |
| Demotekst gewijzigd naar vijf werkdagen | Tool voltooid; inhoudscontrole faalt | De test merkt een afwijkende uitkomst op |
Aparte sessie met --no-webmcp | Lege toollijst; tekst blijft leesbaar | De 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.
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
Lees ook
Benieuwd hoe jouw site ervoor staat? Doe de gratis AI-Ready Scan, of lees het verschil tussen WebMCP, MCP en llms.txt.