惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
Security Latest
Security Latest
P
Proofpoint News Feed
GbyAI
GbyAI
PCI Perspectives
PCI Perspectives
博客园 - Franky
N
Netflix TechBlog - Medium
博客园_首页
WordPress大学
WordPress大学
K
Kaspersky official blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Vercel News
Vercel News
T
Threatpost
The Hacker News
The Hacker News
H
Help Net Security
S
Securelist
Recent Announcements
Recent Announcements
腾讯CDC
T
Tailwind CSS Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Engineering at Meta
Engineering at Meta
C
Cisco Blogs
V
V2EX
C
Check Point Blog
S
Schneier on Security
Cyberwarzone
Cyberwarzone
C
Cybersecurity and Infrastructure Security Agency CISA
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog RSS Feed
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Jina AI
Jina AI
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
博客园 - 叶小钗
A
Arctic Wolf
AWS News Blog
AWS News Blog
Latest news
Latest news
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
Last Week in AI
Last Week in AI
The GitHub Blog
The GitHub Blog
小众软件
小众软件
B
Blog
aimingoo的专栏
aimingoo的专栏
C
Cyber Attacks, Cyber Crime and Cyber Security
V
Visual Studio Blog
P
Palo Alto Networks Blog
Spread Privacy
Spread Privacy

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python) The Hidden Cost of AI Systems Nobody Talks About. undefined vs undeclared, and how typeof behaves Switching from file-based jobs to NATS/Kafka in Rust without changing code io_uring Adventures: Rust Servers That Love Syscalls Why Agentic AI is Killing the Traditional Database The POUR principles of web accessibility for developers and designers Quantum Neural Network 3D — A Deep Dive into Interactive WebGL Visualization How To Install Caveman In Codex On macOS And Windows Automation Pipeline Reliability: Why Your Workflow Breaks When Nobody Is Watching I Built an 'Open World' AI Coding Agent — It Works From ANY Folder From Freelancing to Product: A Tech Service Company's SaaS Transformation China's AI Giants: Adding Tencent Hunyuan & ByteDance Doubao to AI University (74 Providers) On the Vibe Coders and Their Lies clerk: Auto-Summarize Your Claude Code Sessions AI Weekly — 2026/04/10–04/17 | The Model Lockdown Is Here, but the Toolchain Is the Real Battleground AI 週報 — 2026/04/10–2026/04/17 模型封鎖潮來了,但工具鏈才是真戰場 Maybe this is how Open-Source apps are born... 🚀 Fine-Tune LLMs with LoRA and QLoRA: 2026 Guide tRPC v11 + Next.js App Router: End-to-End Type Safety Without the Boilerplate ShadCN UI in 2026: Why I Stopped Installing Component Libraries and Started Owning My Components SaaS Billing in React Server Components: Stripe + Supabase Without a Single `useEffect` Join our DEV Weekend Challenge — $1,000 in Prizes Across TEN winners! Submissions Due April 20 at 6:59 AM UTC. Implementing FSRS Spaced Repetition in Flutter + Supabase — Adding Memory Science to an AI Learning App "I Texted My Localhost From the Train — Claude Code Fixed the Bug Before I Got Home" I Built a Sales Prep AI and It Went Deeper Than Expected Design to Code #2: One JSON, Eleven Outputs Solving the 100M-Row Problem: A Summary Table Pattern for High-Volume Push Notification Logs Flutter Web With Wasm: What Actually Changes For Developers I Built 50 Royalty-Free Soundtracks for My Side Project in a Weekend Using AI Music Generation The Vibe Coding Security Checklist: 7 Things to Check Before You Ship Stop Letting Googlebot Guess Fix Your React App's SEO Right Desconstruindo o Streaming do LinkedIn: Como Criar um Engine de Extração de Vídeo de Alta Performance com HLS e FFmpeg (EDA Part-1) EDA (Exploratory Data Analysis) Explained With Real Life — Why Looking at Your Data Is the Most Important Step in Machine Learning Brand Relationship Management at Scale: Our 4-Touch Outreach System for 200+ Brands Why String.fromEnvironment() Might Return an Empty String in Dart JGuardrails 1.0.0 — Hardening Java LLM Apps Against Jailbreaks, Toxicity, and Prompt Injection Plan and Schedule a Full Week of Threads Content From One Claude Conversation Coding Cat Oran Ep3, Five Tables Changed Everything BFF模式详解:构建前后端协同的中间层 I'm done watching freelancers get buried by 200 proposals. So I'm building the alternative. This is my first post BFS Algorithm in Java Step by Step Tutorial with Examples Tracking LLM Pricing Monthly: An Open Dataset for 22 AI Models How We Measure Content ROI on a Comparison Site: Revenue Attribution Without Perfect Data Introducing Nova AI Ops: The AI-Native Operating System for SRE Teams I built a free desktop video downloader for Windows — Grabbit How Talkie OCR Helps Vision-Impaired & Dyslexic Users Read the World Around Them VRCFaceTracking安装和iPhone面捕配置教程,有bug Even CrowdStrike Can't See Your Agents The Automation Gold Rush: What n8n Workflows and Claude Are Opening Up for Developers Right Now
WebMCP Is the Quiet Google I/O Announcement That Could Make Web Apps Agent-Ready
Nitin Kalra · 2026-05-24 · via DEV Community

This is a submission for the Google I/O Writing Challenge

WebMCP cover image showing agent-ready web apps and structured tool panels

At Google I/O 2026, the loud announcements were easy to spot: Gemini 3.5, Antigravity 2.0, Android agents, AI Studio upgrades, and a lot of new ways to build software with AI.

The announcement I kept coming back to was much quieter:

WebMCP.

The Chrome docs describe it as a proposed open web standard that can be tested locally behind a Chrome flag and explored with demo apps.

But the idea underneath it is important:

What if websites stopped forcing agents to guess what buttons and forms mean, and started exposing structured, typed actions directly?

That sounds small until you compare it with the tool that exists today: Chrome DevTools MCP, Google's official MCP server that lets coding agents control and inspect Chrome through DevTools.

After looking at both, my take is simple:

Chrome DevTools MCP helps agents understand the web we already built. WebMCP asks us to build a web that agents can use without guessing.

That difference matters for every web developer.

The Current Web Is Still Built For Eyes And Fingers

Most web apps assume the user is a human looking at pixels and moving through a UI one click at a time.

That model works for people. It is much less reliable for agents.

An agent can try to inspect the DOM. It can use the accessibility tree. It can take a screenshot. It can click buttons. It can fill fields. But unless the app exposes clearer intent, the agent still has to infer a lot:

  • Is this button destructive or reversible?
  • Does this date field expect MM/DD/YYYY, YYYY-MM-DD, or a custom picker flow?
  • Is the visible price final, or does tax appear later?
  • Does this form submit immediately, or save a draft?
  • Is this disabled button waiting on validation, auth, inventory, or JavaScript state?

Humans handle ambiguity with context. Agents handle ambiguity with retries, brittle heuristics, and occasional nonsense.

WebMCP is interesting because it tries to reduce that ambiguity at the source.

What WebMCP Adds

The Chrome WebMCP documentation describes WebMCP as a way for web pages to expose structured tools for AI agents. A page can register JavaScript functions or annotate HTML forms so an agent can discover available actions, understand input schemas, and call those actions inside the current browser context.

In other words, the website can say:

// Conceptual example, not exact production code
registerTool("searchFlights", {
  description: "Search available flights",
  input: {
    origin: "string",
    destination: "string",
    date: "string",
    passengers: "number"
  }
});

Enter fullscreen mode Exit fullscreen mode

That is a different contract from "look for a textbox that probably means origin, type into it, tab somewhere, hope the custom date picker behaves, and click the blue button."

The official docs call out support for discovery, JSON Schema, and page state. They also give examples like support flows, travel booking, structured forms, date pickers, and hidden diagnostic actions.

The important word is structured.

The web already has APIs. But WebMCP is not a backend API. It lives in the browser context. The tool call can update the same UI the user sees. That keeps the user in the loop and preserves the visible product experience, while giving the agent a more reliable path than raw actuation.

Why I Compared It With Chrome DevTools MCP

The Google I/O developer keynote put WebMCP and Chrome DevTools for agents in the same broader section: "Redefining web development in the agentic era." That pairing is useful.

Chrome DevTools for agents gives coding agents the ability to interact with Chrome, inspect pages, debug runtime behavior, emulate real-world user experiences, run audits, inspect console messages, analyze network requests, take accessibility-tree snapshots, and run performance workflows.

The GitHub README for chrome-devtools-mcp describes it as an MCP server that lets agents such as Antigravity, Claude, Cursor, Copilot, and Codex control and inspect a live Chrome browser. The tool reference includes navigation, input automation, emulation, network inspection, console inspection, screenshots, accessibility snapshots, Lighthouse audits, performance traces, memory tools, extension tools, and experimental WebMCP tools.

That is a lot of power.

But it is a different layer.

Chrome DevTools MCP is mostly a developer-side debugging and automation tool.

WebMCP is a site-side capability contract.

One lets an agent inspect what is there. The other lets a site declare what can be done.

Chrome DevTools MCP compared with WebMCP: inspecting rendered pages vs exposing product tools

My Small Test

I wanted a hands-on check instead of writing another "AI will change everything" post.

The WebMCP docs point to demos covering both imperative and declarative implementations:

  • WebMCP zaMaker, which uses the WebMCP Imperative API.
  • A travel demo, also using the WebMCP Imperative API.
  • Le Petit Bistro, which uses the WebMCP Declarative API.

I started with WebMCP zaMaker because the imperative version makes the core idea very visible. Instead of asking an agent to infer pizza controls from pixels, the page registers explicit tools that the inspector can discover.

I enabled WebMCP testing in Chrome, opened the zaMaker demo, and used the WebMCP - Model Context Tool Inspector extension.

WebMCP zaMaker demo with Model Context Tool Inspector showing registered pizza tools

The extension surfaced several page-defined tools, including:

  • add_topping
  • manage_pizza
  • remove_topping
  • set_pizza_size
  • set_pizza_style

That is the part that clicked for me. These are not generic browser actions like "click at coordinate X" or "type into input Y." They are product-level capabilities exposed by the page.

For example, the inspector showed add_topping with a schema that included a topping enum and a size enum. It also showed set_pizza_size with a structured size input, plus a number_of_persons field that could help infer the right size.

Then I used natural language prompts in the inspector:

add pizza with large toppings

Enter fullscreen mode Exit fullscreen mode

The inspector translated that into a tool call:

{
  "size": "Large",
  "topping": "🍕"
}

Enter fullscreen mode Exit fullscreen mode

Then I tried:

make the pizza extra large

Enter fullscreen mode Exit fullscreen mode

The extension called:

{
  "size": "Extra Large"
}

Enter fullscreen mode Exit fullscreen mode

The page responded by changing the pizza state.

That small demo made the difference clearer than the docs alone. A browser automation agent can click around a pizza builder. A WebMCP-aware page can instead say, "Here are the actions this product supports, here are the allowed parameters, and here is what happened when you called one."

For contrast, Chrome DevTools MCP felt like a developer-side lens. It can inspect a page, read the accessibility tree, look at console output, automate interactions, and help an agent debug what is already rendered in Chrome.

That is powerful, but it is still looking at the page from the outside. The zaMaker demo showed the other side of the idea: the page itself can publish a small set of intentional actions for agents to use.

So my hands-on result was:

Chrome DevTools MCP is practical today for inspecting and testing pages. The WebMCP inspector shows what changes when the page itself exposes product-level tools.

WebMCP vs Chrome DevTools MCP

Here is the cleanest way I now think about the difference:

Question WebMCP Chrome DevTools MCP
Who exposes the capability? The website or web app The browser / DevTools layer
Who is it mainly for? Browser-based user agents acting inside a site Coding agents, QA agents, and developer workflows
What does it make explicit? App-defined tools, inputs, outputs, and page state Browser state, DOM/a11y snapshots, console, network, performance, screenshots
What problem does it reduce? Agents guessing how to use a product Developers manually inspecting and debugging browser behavior
Best current use Experimental agent-ready product flows Real debugging, QA, performance, accessibility checks
Biggest limitation Requires browser support and app implementation Still often acts through page structure, snapshots, and inferred intent

If an agent is trying to debug why a checkout page is broken, Chrome DevTools MCP is the right tool.

If an agent is trying to book a trip, submit a support request, configure a dashboard, or complete a multi-step workflow inside an app, WebMCP is the more interesting long-term answer.

Why This Is Bigger Than "AI Can Click Buttons"

Before WebMCP, the default browser-agent path looked like this:

  1. See the page.
  2. Guess the user's next action.
  3. Click or type.
  4. Observe the result.
  5. Retry if wrong.

That can work, but it is fragile. It is also slow and expensive because every step adds model reasoning, visual parsing, DOM interpretation, or both.

WebMCP suggests a different path:

  1. Discover the site's available tools.
  2. Pick the tool that matches the user's goal.
  3. Send typed parameters.
  4. Let the site execute the action in the visible browser context.
  5. Return structured output or a clear error.

That is closer to an API, but with the user still looking at the product.

This is why I think WebMCP matters. It is not only about making agents more powerful. It is about moving responsibility back to application developers. If we want agents to act safely and reliably, we cannot make them reverse-engineer every workflow from pixels.

We need to expose intent.

What Developers Can Do Before WebMCP Is Everywhere

Most of us cannot ship production WebMCP flows tomorrow. Browser support is early, and the proposal is still changing.

But we can start building sites that are easier for both humans and agents to understand.

The practical checklist I took from this:

  • Use semantic HTML before custom widgets.
  • Make important buttons and forms clear in the accessibility tree.
  • Give inputs stable names and labels.
  • Avoid hiding critical state only in visual styling.
  • Keep destructive actions behind explicit confirmation.
  • Separate "preview", "save draft", "submit", and "purchase" flows clearly.
  • Make validation errors machine-readable and human-readable.
  • Test important flows with browser automation, accessibility snapshots, and Lighthouse.
  • Think about which app actions would deserve structured tools later.

If I were preparing a product for WebMCP, I would not start by exposing every button as a tool. I would start with the few workflows where ambiguity hurts most:

  • search
  • checkout
  • booking
  • support ticket creation
  • return/refund initiation
  • dashboard filtering
  • diagnostics
  • account settings changes

Those are the places where agents guessing through the UI can create real user pain.

The Security Question

There is an obvious risk here: if websites expose actions to agents, bad tool design can make bad actions easier.

That is why I like that the WebMCP model keeps actions in the browser context instead of turning every site into a blind backend API. Sensitive actions can still require visible UI, user confirmation, and page-level state.

But developers will need discipline.

A good WebMCP tool should have:

  • a narrow purpose
  • a clear name
  • a strict schema
  • useful error messages
  • visible execution
  • confirmation for irreversible actions
  • no surprise side effects

The goal should not be "let agents do anything."

The goal should be "let agents do the right thing with less guessing."

My Take

Chrome DevTools MCP feels like the tool web developers can use now.

WebMCP feels like the contract web developers may need to design for next.

That is why I think it was one of the more important web announcements at Google I/O 2026. It points to a shift from:

agents as better screen scrapers

to:

agents as first-class users of structured web capabilities

That shift will not happen overnight. It needs browser support, standards work, developer tooling, security patterns, and a lot of real-world testing.

But the direction is clear. If agents are going to use the web on our behalf, web apps need to become more than visually usable.

They need to become understandable.

They need to become inspectable.

And eventually, they need to become agent-ready.

Resources