Google stopt Project Mariner, jij bouwt gewoon door
Wat is er gebeurd?
Google heeft Project Mariner stilgelegd. Dat was het experimentele project waarbij een AI-agent zelfstandig taken voor je uitvoerde in de browser: formulieren invullen, pagina's doorzoeken, data ophalen. De landingspagina is offline, het project is dood.
Voor makers is dat opmerkelijk, want web-automatisering is precies het soort terugkerend kluswerk dat je als ondernemer uren kost. Google kon het blijkbaar niet productrijp maken. Maar jij hoeft daar niet op te wachten.
Wat betekent dit voor jouw project?
Als je SaaS-product ook maar iets doet met externe data, leadgeneratie, prijsmonitoring, of concurrentie-analyse, dan is een eigen lichte web-agent een serieuze tijdsbesparing. Met Claude Code en de Puppeteer MCP-server bouw je in een avond een werkende versie. Geen Google-afhankelijkheid, geen wachten op een productlancering.
Hoe bouw je een web-agent met Claude Code en Puppeteer MCP
Stap 1: Installeer de Puppeteer MCP-server
Open je terminal en voer dit uit:
npx @anthropic-ai/claude-code mcp add puppeteer
Of voeg hem handmatig toe aan je .mcp.json in de root van je project:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
Herstart Claude Code daarna. Je ziet nu Puppeteer als beschikbare tool in de toollijst.
Stap 2: Vertel Claude Code wat je wil automatiseren
Begin klein. Stel: je wil elke ochtend de prijzen van drie concurrenten uitlezen en opslaan in een JSON-bestand. Geef Claude Code deze prompt:
Gebruik de Puppeteer MCP-tool om naar [URL van concurrent] te navigeren. Zoek op de pagina naar de prijzen van hun abonnementen. Sla de gevonden prijzen op in een bestand genaamd
competitor_prices.jsonmet de structuur:{ "datum": "vandaag", "concurrent": "naam", "prijzen": [] }. Doe dit voor drie URLs die ik je geef en combineer de resultaten in één bestand.
Claude Code opent de browser, navigeert naar de pagina's en schrijft het bestand. Jij hoeft niks te coderen.
Stap 3: Maak er een herbruikbaar script van
Als de eenmalige run werkt, vraag je Claude Code om het te verpakken in een script dat je kunt herhalen:
Schrijf een Node.js script
scrape_competitors.tsdat de Puppeteer-logica van zonet bevat. Het script moet: (1) de drie URLs uit een config-array halen, (2) voor elke URL de prijzen scrapen, (3) de resultaten wegschrijven naardata/competitor_prices.jsonmet een timestamp. Voeg ook foutafhandeling toe zodat als één URL faalt, de anderen wel doorgaan.
// Voorbeeld van wat Claude Code voor je genereert:
const competitors = [
{ name: "Concurrent A", url: "https://..." },
{ name: "Concurrent B", url: "https://..." },
{ name: "Concurrent C", url: "https://..." },
];
// Claude Code vult de Puppeteer-logica in op basis van jouw beschrijving
Stap 4: Koppel het aan je app (optioneel maar krachtig)
Als je een Next.js of een ander web-project hebt, vraag Claude Code om een API-endpoint te maken dat het script aanroept:
Maak een Next.js API route op
/api/scrapedie het scriptscrape_competitors.tsaanroept als POST-request binnenkomt. Beveilig de route met een simpele API-key check via een environment variableSCRAPE_SECRET. Stuur de resultaten terug als JSON-response.
// app/api/scrape/route.ts - Claude Code schrijft dit voor je
export async function POST(request: Request) {
const authHeader = request.headers.get("authorization");
if (authHeader !== `Bearer ${process.env.SCRAPE_SECRET}`) {
return new Response("Unauthorized", { status: 401 });
}
// scrape-logica hier
}
Stap 5: Plan het in met een cron-job
Deploy je app op Vercel of een andere hostingprovider en vraag Claude Code om een cron-configuratie te schrijven:
Voeg een
vercel.jsontoe aan het project met een cron-job die elke dag om 07:00 een POST-request stuurt naar/api/scrape.
{
"crons": [
{
"path": "/api/scrape",
"schedule": "0 7 * * *"
}
]
}
Wat te checken na afloop
- Opent Claude Code daadwerkelijk een browser-venster tijdens de test? Dan werkt de Puppeteer MCP-verbinding.
- Staat er een
competitor_prices.jsonin je project na de eerste run? Dan scrapet het script correct. - Geeft de API-route een 200-response bij een correcte API-key en een 401 bij een foute? Dan zit de beveiliging goed.
- Zie je in het Vercel-dashboard de cron-job verschijnen na deploy? Dan draait de automatisering zelfstandig.
Project Mariner is dood, maar jouw web-agent hoeft dat niet te zijn. Het enige verschil: die van jou draait op jouw data, in jouw project, zonder dat Google er de stekker uit kan trekken.
Bij Eighty leer ik je Claude Code in het Nederlands gebruiken, van installatie tot een werkend SaaS-product. Wekelijks een nieuwe module, persoonlijke begeleiding.
