Tooling · Handleiding

WebMCP-tools testen vanuit de terminal met agent-browser

In het kort

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.

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.

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.

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

Benieuwd hoe jouw site ervoor staat? Doe de gratis AI-Ready Scan, of lees het verschil tussen WebMCP, MCP en llms.txt.