No history yet

初识 MCP 协议

什么是 MCP 协议?

想象一下,你有一个非常聪明的 AI 助手,比如 Claude 或 Gemini。它能理解你的语言,能写代码,但它被困在一个“黑盒子”里,无法与外界的软件和工具互动。如果你想让它帮你测试一个网站,它无能为力,因为它“看”不到浏览器,也无法点击按钮。

Model Context Protocol (MCP) 就是为了解决这个问题而生的。你可以把它理解成一个“万能插头”或“通用翻译器”。它制定了一套标准规则,让 AI 模型能够安全、高效地连接并操作外部工具,比如代码编辑器、数据库,甚至是你的浏览器。

MCP(模型上下文协议)是一种开放标准,旨在让 AI 模型能够与外部系统(如 API、数据库或工具)进行交互,而无需编写自定义集成代码。

通过这个协议,AI 不再仅仅是一个会聊天的机器人,而是变成了一个能干活的“数字员工”。你可以用自然语言指挥它完成复杂的任务,因为它现在拥有了“手”和“脚”,能够直接与你日常使用的工具进行交互。

客户端与服务器

MCP 的工作方式遵循一种经典的计算机架构:客户端-服务器模型。这个概念听起来可能有点技术化,但用一个简单的比喻就很容易理解了。

想象你在一家餐厅:

  • 你(客户端 Client):你想吃饭,但你不会做。你通过菜单向服务员点餐。
  • 厨房(服务器 Server):它拥有食材、厨具和烹饪技能(也就是“功能”)。它接收你的订单,然后做出菜品给你。

在 MCP 的世界里也是一样:

客户端 (Client)

noun

通常是指 AI 应用程序,比如一个聊天机器人。它会产生需求,向服务器发起请求,希望执行某个操作。

服务器 (Server)

noun

是指提供具体功能的外部工具或数据源,比如 Chrome 开发者工具或是一个数据库。它会“开放”自己的能力,等待客户端的调用。

客户端(AI)会向服务器(工具)说:“我需要你做这件事。” 服务器接收指令,执行操作,然后把结果返回给客户端。这种分工协作让整个系统既强大又灵活。

视觉测试为何重要?

在深入了解 MCP 如何应用于浏览器之前,我们先来谈谈为什么需要进行“视觉测试”。

在前端开发中,我们不仅要保证网站的功能正确(比如点击按钮有反应),还要确保它的外观符合设计。一个按钮错位、一张图片变形、或者一段文字颜色错误,都会严重影响用户体验。视觉测试(Visual Regression Testing)就是自动化地捕捉这些 UI 外观上的意外变化。

传统的测试方法通常是这样的:先手动截一张“正确”的网页图片作为基准,然后在代码更新后,再截一张新的图片,用程序比对两张图片的每一个像素。如果发现差异,就认为测试失败。这种方法很有效,但也非常“脆弱”。

哪怕只是浏览器版本更新导致文字渲染有极其微小的变化,传统的像素比对测试都可能会失败,从而产生大量需要人工排查的“误报”。

而这正是 MCP 发挥作用的地方。当我们将 Chrome 开发者工具(Chrome DevTools)作为一个 MCP 服务器时,AI 就能像一个真正的人类开发者一样,打开浏览器“检查”页面。它不再是盲目地比对像素,而是能够理解页面的结构和内容。

Lesson image

你可以直接用自然语言向它下达指令,比如:“检查一下登录按钮是不是蓝色的,并且宽度是 100 像素”,或者“帮我截取导航栏部分的图片,忽略其他所有内容”。AI 通过 MCP 连接到浏览器,分析 DOM 树(页面的结构),获取元素的 CSS 样式,然后给出精准的回答。这种方式远比像素比对更智能、更灵活。

MCP vs. 传统自动化工具

你可能听说过 Playwright 或 Selenium 等浏览器自动化工具。它们也非常强大,可以用来编写脚本,控制浏览器执行点击、填写表单等操作。那么,MCP 和它们有什么不同呢?

关键区别在于“谁来驱动”和“如何驱动”。

特性Playwright / SeleniumMCP (结合 AI)
驱动方式预先编写好的代码脚本实时自然语言指令
核心定位遵循固定路径的自动化AI 驱动的探索与交互
灵活性低,脚本非常“脆弱”高,能理解语义并适应变化
交互模型程序化、命令式对话式、声明式
适用场景回归测试、数据抓取智能调试、视觉检查、探索性测试

简单来说,Playwright 这类工具就像是给浏览器设定好了一套精确的“行动剧本”。你必须告诉它每一步该怎么走,比如“第一步,找到 ID 为 ‘username’ 的输入框;第二步,在里面输入 ‘test’...”。如果页面结构稍有变化(比如 ID 变了),整个脚本就会失败。

而使用 MCP 的 AI 助手则更像是在你旁边坐着一位初级开发者。你不需要给他写精确的代码指令,只需要告诉他你的“意图”,比如“帮我登录一下测试账号”。他会自己去观察页面,找到用户名和密码输入框,然后完成任务。这种基于意图的交互方式,使得测试过程更加健壮和高效。

在本课程的后续部分,我们将动手实践,学习如何启动一个 Chrome DevTools MCP 服务器,并使用 AI 客户端通过它来完成一系列有趣的视觉测试任务。

Quiz Questions 1/4

模型上下文协议(MCP)旨在解决AI模型的哪个核心问题?

Quiz Questions 2/4

在将MCP的工作模式比喻为餐厅的场景中,“厨房”最恰当地代表了什么?