mcpField
V
Vite MCP Server

Vite MCP Server

本地服务
npmjs.com开发工具2331 周前更新

关于 Vite MCP Server

Vite MCP Server 已更名为 Blowback,是一个面向前端开发环境的 MCP 服务,可将本地 FE 开发服务器与 Claude Desktop、Cursor 等 AI 工具集成。它面向需要让 AI 观察浏览器运行状态的前端开发者。

主要功能

  1. 01浏览器控制台日志采集与传输
  2. 02基于检查点的日志管理
  3. 03截图采集与 SQLite 数据库管理
  4. 04HMR 事件监控
  5. 05浏览器自动化与元素检查

适用场景

  1. 01让 AI 读取页面控制台日志以定位前端错误
  2. 02采集页面截图并比对界面变化
  3. 03监控 HMR 更新事件以确认代码修改是否生效

MCP 相关

该项目是 MCP 服务,通过工具(如 get-hmr-events、capture-screenshot、get-console-logs)和截图资源向 MCP 客户端提供浏览器与开发服务器的状态信息。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"vite": {
"command": "npx",
"args": [
"-y",
"blowback-context"
],
"env": {
"PROJECT_ROOT": "<PROJECT_ROOT>"
}
}
}
}
启动命令npx -y blowback-context
需要配置的环境变量
PROJECT_ROOT

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmblowback-context

工具

16

收录的工具列表 · 更新于 3 周前

参数类型必填说明
sectionenum是要描述的章节checkpoint | hmr

详细介绍

Blowback

Vite MCP Server 现已更名为 Blowback

Blowback 致力于支持各种前端开发服务,而不仅仅是 Vite

一个模型上下文协议(MCP)服务,可将前端开发服务与 Claude Desktop 和 Cursor 等 AI 工具集成。

使用方法

命令(Claude Code):

claude mcp add blowback -s project -e PROJECT_ROOT=/path/to/your/project -- npx -y blowback-context

或使用 JSON 配置:

  • Claude Code:{PROJECT_ROOT}/.mcp.json
  • Cursor:{PROJECT_ROOT}/.cursor/mcp.json
{
  "mcpServers": {
    "blowback": {
      "command": "npx",
      "args": ["-y", "blowback-context"],
      "env": {
        "PROJECT_ROOT": "/path/to/your/project"
      }
    }
  }
}
环境变量
  • PROJECT_ROOT:项目根目录路径(可选,默认为当前工作目录)
  • ENABLE_BASE64:在工具响应中包含 Base64 编码的图像(默认值:false / 启用后会影响令牌用量和上下文窗口)

主要功能

  • 将本地开发服务与 MCP 服务集成
  • 通过 MCP 捕获并传输浏览器控制台日志
  • 基于检查点的日志管理
  • 截图捕获和 SQLite 数据库管理
  • HMR(热模块替换)事件监控
  • 浏览器自动化和元素检查

init 提示词

init 提示词可指导 AI 助手有效使用以下功能:

Cursor Chat 不支持 MCP 提示词功能,因此无法使用此功能。(建议使用 Claude Code) 如有需要,请手动输入以下提示词:

你可以通过在 head 中插入 <meta name="__mcp_checkpoint" data-id=""> 来创建当前状态的命名快照,从而使用检查点功能。 data-id 属性是检查点的唯一标识符。

在检查点处于活动状态时,浏览器中生成的控制台日志会附带检查点 ID,并且可以单独查询。

注意:在某些开发环境中,保存文件时会触发热重载,因此请仔细考虑 meta 标签变更与希望观察的变更之间的顺序。请务必在进行希望跟踪的变更前设置检查点 meta 标签。

你可以使用 capture-screenshot 工具截图。捕获的截图存储在 @.mcp_screenshot/ 目录中。

工具

HMR 工具
工具名称描述
get-hmr-events获取最近的 HMR 事件
check-hmr-status检查 HMR 状态

注意:HMR 连接是可选的,并非必需。启动浏览器后会自动开始监控 HMR 事件。

浏览器工具
工具名称描述
start-browser启动浏览器实例并导航至开发服务器。HMR 监控会自动开始
capture-screenshot捕获当前页面或特定元素的截图。返回截图 ID 和资源 URI
get-element-properties获取特定元素的属性和状态信息
get-element-styles获取特定元素的样式信息
get-element-dimensions获取特定元素的尺寸和位置信息
monitor-network在指定时长内监控浏览器中的网络请求
get-element-html获取特定元素及其子元素的 HTML 内容
get-console-logs获取浏览器会话的控制台日志,并支持可选筛选
execute-browser-commands安全地执行预定义的浏览器命令
帮助工具
工具名称描述
how-to-use提供有关如何使用服务特定功能的说明

资源

截图

用于查询所有已捕获截图的资源。你可以使用不同条件查询 capture-screenshot 工具捕获的截图引用 ID。

与引用 ID 对应的图像存储在 {PROJECT_ROOT}/.mcp_screenshot/ 目录中。

  • URI:screenshot://
  • 返回所有截图的列表
按 URL 查询截图

一项用于根据 URL 路径查询特定截图的资源。

注意:从 1.0 版本开始,默认禁用通过资源返回的 Blob 响应,改为返回文件引用信息

  • URI 模板:screenshot://{+path}
  • 示例:screenshot://localhost:5173/about
  • 使用不带协议(http://、https://)的 URL 路径

数据存储结构

截图存储
  • 截图图片:存储在 {PROJECT_ROOT}/.mcp_screenshot/ 目录中
  • 元数据:在临时目录中的 SQLite 数据库内管理
  • 建议将 .mcp_screenshot/ 目录添加到 .gitignore
日志管理系统
  • 捕获浏览器控制台日志并保存到文件中,以供查询
  • 仅在检查点处于活动状态时保存检查点日志

检查点系统

检查点的工作方式
  • 检查点用于管理特定版本的快照、日志、截图等
  • 将 <meta name="__mcp_checkpoint" data-id=""> 插入 head 后,会使用 data-id 属性作为标识符,分别记录数据

架构和数据流

核心组件
  1. MCP 服务:使用 Model Context Protocol SDK 向 AI 工具提供工具和资源的中央模块。

  2. 浏览器自动化:使用 Playwright 控制 Chrome,以进行视觉检查、截图捕获和 DOM 操作。

  3. 检查点系统:维护浏览器状态快照,以便进行比较和测试。

  4. SQLite 数据库:高效管理截图元数据,并支持快速按 URL 查询。

数据源和状态管理

服务维护多个重要的数据存储:

  • HMR 事件记录:跟踪开发服务的近期 HMR 事件(更新、错误)。
  • 控制台消息日志:捕获浏览器控制台输出,以便调试。
  • 检查点存储:存储具名的浏览器状态快照,包括 DOM 快照。
  • 截图存储:将图片保存在项目目录中,并使用 SQLite 管理元数据。
通信流程
  1. MCP 客户端 → 开发服务:

    • MCP 客户端更改源代码,开发服务检测到更改
    • 开发服务自动更新浏览器或发出 HMR 事件
  2. Web 浏览器 → MCP 服务:

    • 通过 Playwright 捕获 HMR 事件和控制台日志
    • MCP 服务查询浏览器当前状态或捕获截图
  3. MCP 服务 → MCP 客户端:

    • 服务将 HMR 事件转换为结构化响应
    • 提供工具,供 MCP 客户端查询 HMR 状态、捕获截图等
状态维护

服务维护以下对象的引用:

  • 当前浏览器和页面实例
  • 近期 HMR 事件

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。