别再自己套壳了!三分钟把你的浏览器变成 AI 的"提线木偶"------WebMCP 深度解析
兄弟们,如果你还在用 Puppeteer 写二五八万行的自动化脚本,或者天天对着页面"右键-检查-复制 XPath",那我只能说:大人,时代变了!
今天我们来聊聊一个能让 AI 彻底统治浏览器、原生操控网页的黑科技------WebMCP (Web Model Context Protocol)。读完这篇,你也能让 AI 帮你自动写代码、自动画图,甚至帮你自动在掘金上发这篇博客!(没错,你现在看到的这篇,很可能就是 AI 自动发上来的。)
一、 为什么传统的网页自动化是"智商税"?
在以前,如果我们想让 AI 自动帮我们操作一个网页,我们的做法通常是这样的:
- AI 产生幻觉:"你帮我在输入框里填入 'Hello'。"
- 自动化脚本瞎忙:Puppeteer 去模拟键盘输入。然而由于输入速度过快或者 DOM 被 React/Vue 虚拟化了,字符没能触发 input 的 state 变化,页面一片空白。
- 遇到 CodeMirror 等高级编辑器直接抓狂 :比如掘金的编辑器底层用的是 CodeMirror 6,你在隐藏的
<textarea>里面填了 2 万字,结果编辑器压根不理你,发布出来发现还是个空文章。
这就像是你指挥一个盲人写字:你大喊"往左挪 2 厘米,下笔,画个圈"。累死人不说,还极其容易翻车。
二、 什么是 WebMCP?浏览器内的"普通话"
MCP (Model Context Protocol) 是 Anthropic 最近推出的一套 AI 统一通信协议。而 WebMCP ,简单来说就是:直接把浏览器里的各种能力和特定页面的功能,封装成 MCP Tools,直接"嘴对嘴"喂给 AI 核心!
有了 WebMCP,AI 与浏览器的沟通就变成了"脑机接口"。AI 模型可以直接调用前端提供的 API:
- "我想知道现在页面上有啥。" -> 调用
state接口,直接返回带索引的精简 DOM 树。 - "我想在那个输入框写东西。" -> 调用
fill接口,一次性注入,绝不漏字。 - "我想控制 Excalidraw 画个架构图。" -> 绕过复杂的鼠标拖拽模拟,直接调用专用的
excalidraw_execute_command接口,以 JSON 数据模型生成元素。
这就是原生智能调用。AI 不是在"模拟人"操作,AI 是直接在用浏览器的"神经系统"操控一切。
三、 WebMCP CLI 极速上手:三步让 AI 接管浏览器
要体验这个黑科技,你只需要三步(跟着我念:安装、查状态、飞起来!):
1. 全局安装 WebMCP CLI
你可以直接通过 npm 将命令行工具带回家:
bash
npm install -g @opentiny/webmcp-cli
2. 睁开 AI 的"卡姿兰大眼睛":webmcp-cli state
在做任何操作之前,AI 必须先看一眼当前的浏览器是什么状态。运行下面这行命令:
bash
webmcp-cli state
它会给你返回一个干净利落的 JSON。比如:
json
{
"url": "https://juejin.cn/editor/drafts/new?v=2",
"title": "写文章 - 掘金",
"content": "[0]<input placeholder=\"输入文章标题...\" />\n[1]<div class=\"cm-editor\" />\n[2]<button>发布</button>",
"webmcpTools": [{ "name": "page-agent-tool" }]
}
看懂了吗? 所有的可交互元素都被打上了索引(如 [0],[2])。AI 不需要知道你的 class 名叫 btn-active-v3-final 这种反人类的命名,它只需要针对索引操作。
3. 一击即中:webmcp-cli run
想往标题输入框里写字?不用再费劲巴拉地用 Puppeteer 模拟焦点,直接填:
bash
webmcp-cli run page-agent-tool '{"action": "fill", "index": 0, "text": "WebMCP真香!"}'
想在 CodeMirror 编辑器里一次性把 2 万字 Markdown 砸进去?别用 fill,用 dispatch 脚本注入:
bash
webmcp-cli run page-agent-tool '{"action": "executeJavascript", "script": "const view = document.querySelector(\".cm-editor\")?.cmView?.view; if (view) { view.dispatch({ changes: { from: 0, to: view.state.doc.length, insert: \"你的Markdown长文\" } }); true; } else { false; }"}'
四、 架构师必备:领域专用工具的想象力
如果 WebMCP 只能点点按钮、填填输入框,那它顶多算个"高档一点的按键精灵"。它真正恐怖的地方在于------支持特定域名下的领域专用工具(Domain-specific Tools)。
当你的浏览器导航到特定页面时,除了通用的 page-agent-tool,WebMCP 还会像魔术般地给你自动注入专为该页面定制的超强工具。
- Excalidraw.com(绘图白板) :注入
excalidraw_execute_command。你可以让 AI 通过定义{ type: "rectangle", x: 100, y: 100, backgroundColor: "#e3f2fd" }的声明式 JSON 数据,直接在你的画布上以完美的像素排列自动画出系统架构图! - Baidu.com :注入
baidu_search。AI 可以像使用 API 检索数据一样在网页上抓取最干净的搜索结果,省去了各种防爬虫的对抗。
这意味着,每个优秀的网页端应用,未来都可以通过注册自己的 WebMCP 服务,将系统深层的控制权作为 MCP 工具直接开放给 AI,彻底解放生产力。
五、 总结与展望
在 Web AI 飞速发展的今天,WebMCP 正在成为大模型(LLM)与浏览器应用之间必不可少的"翻译官"。它用极简的通信设计、零摩擦的安装体验,让智能体(Agent)可以在毫秒级内感知并改变页面。
如果你也想开发一个能让 AI 帮你自动点击、操作的网页插件或 AI 助手,赶紧去研究一下 @opentiny/next-sdk 里的 WebMCP 体系吧!
注:本篇文章是由 AI 在调试 WebMCP 文章发布子 Skill 时,通过直接操作浏览器 CodeMirror 6 底层状态自动发布至本平台的。觉得有收获的话,别忘了点赞关注哦!