Modern Web Guidance + WebMCP: Google's two-part bet on agentic web

At I/O 2026, Google shipped two things that most coverage filed under “Chrome miscellaneous news”. Read separately, they’re a skills file and an experimental browser API. Read together, they’re the same bet made twice — and the bet is about who decides how AI agents interact with the web.

The first piece, Modern Web Guidance, teaches coding agents to write modern web code. The second, WebMCP, teaches websites to expose themselves to agents acting on behalf of the user. One side of the handshake, then the other. Google moved both pieces in the same keynote, and that timing is the story.

What Modern Web Guidance actually is

Modern Web Guidance is an Apache-2.0 package — the repo GoogleChrome/modern-web-guidance — that packages 128 web platform features into more than 100 expert-validated use cases. It installs into the agent you already use: Claude Code, Gemini CLI, GitHub Copilot CLI, Goose, Google Antigravity, JetBrains WebStorm, or any tool that supports skills via the generic npx skills flow.

The problem it tackles is one you probably watched happen in real time: you ask an agent to build a modal and it grabs a div, a z-index stack, and three hundred lines of JavaScript — when <dialog>, the Popover API, and CSS Anchor Positioning have been on the platform for ages. Agents default to the patterns that dominated their training data, which means they write the web from three years ago. Parisa Tabriz, VP of Chrome, put it exactly this way: agents generating window.open and jQuery polyfills in 2026.

Each use case isn’t an article. It’s a structured recipe — when to use a feature, when not to, the canonical code and failure mode — connected to Baseline, Google’s classification of each web feature as Limited, Newly, or Widely available. You declare a Baseline target in your CLAUDE.md or AGENTS.md, and the guide automatically picks features your target supports, adding fallbacks where it doesn’t. Didn’t declare a target? It defaults to Widely available.

On installation: the recommended path is npx modern-web-guidance@latest install, which keeps skills updated. For Claude Code specifically it’s a plugin-marketplace flow — you add GoogleChrome/modern-web-guidance as a marketplace, install the plugin, reload. Under the hood it’s a single lightweight skill (~234 tokens) that tells the agent how to call the CLI to fetch the right guide on demand, so it doesn’t dump all 100 use cases into your input context window.

The headline number Google leads with is a 37 percentage-point improvement in best-practices adherence for a generic agent equipped with the guide. It’s worth keeping in proportion: it’s Google’s own internal benchmark, and Chrome itself qualifies it as an average of early results that varies by model, prompt, and project. The mechanism behind it is more interesting than the number — daily end-to-end evals run a control task (without the guide) against the same task with the guide, and the guides are revised to maximize the difference. Self-correcting documentation, roughly.

WebMCP: the other half

WebMCP, now in a Chrome 149 origin trial, runs the handshake in the opposite direction. Instead of teaching the agent about the web, it lets a website declare its own capabilities as tools the agent can call.

Today an agent operating a website does actuation — it simulates clicks and keystrokes, inferring what each button and field does. Every step is open to misinterpretation. WebMCP replaces guessing with declaration: a site exposes a checkout tool or a filter_results tool, with JSON Schemas that define inputs and outputs, and the agent calls it directly. There are two APIs — an Imperative one (you define tools in JavaScript) and a Declarative one (you annotate standard HTML forms). Angular already has experimental support.

The constraints are real and worth knowing before anyone gets carried away. Tools run in JavaScript, so a visible browser tab is required — there’s no headless agent calling. The APIs are gated by origin isolation and a tools permissions policy that defaults to self, so cross-origin iframes are out unless explicitly allowed. And discoverability is unresolved: a client has to visit your site to learn it has tools in the first place.

Where it fits — and where it doesn’t

For a team shipping web products, Modern Web Guidance is the lower-risk, higher-immediate-value half. It’s agent-agnostic, it’s free, and it plugs into a workflow you already run. If your team leans on Claude Code or Copilot for front-end work, the realistic effect is fewer review cycles spent telling the agent to stop reaching for a library when a native primitive exists. The Baseline integration is the part worth governing deliberately — declaring a target at the project level turns “modern best practice” from a code-review argument into a configured constraint.

WebMCP is the long game and shouldn’t be on a near-term roadmap as anything other than a pilot. It’s an origin trial, the discoverability story is incomplete, and the browser-tab requirement rules out many backend-agent scenarios. The teams who should be looking at it now are those whose product is the destination you send an agent to — booking, support flows, structured forms — because there, declaring tools beats waiting for the agent to read your DOM correctly.

The strategic reading sits above both. Google is positioning Baseline as the control plane for what “correct” web code means, and Chrome DevRel as the body that maintains the recipes — across Claude Code, Gemini CLI, Copilot, and any other agent, all at once. That’s a quieter kind of platform power than shipping a competing agent: you don’t need to own the agent if you own the definition of the right answer it’s evaluated against.