Token导航 LogoToken导航TokenDH.com
PageLens MCP logo
开发工具stdio官方级别未说明来源级核验

PageLens MCP

MCP Server

pagelens

PageLens 是一个为 AI 编程代理提供前端应用视觉反馈的 MCP 服务器,通过无头浏览器自动捕获屏幕截图、控制台错误和网络错误,简化前端开发流程。

工具数

17

提示词数

0

GitHub Stars

2

资源数

0
开发工具TypeScriptClaudeClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

amoghmanral

提供方

amoghmanral

最后核验

2026/5/17 20:42

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npx pagelens http://localhost:3000

详细介绍

PageLens

MCP服务器,为AI编码代理提供前端应用程序的视觉反馈。一个命令,无需配置——你的AI代理现在可以看到你的应用程序、点击按钮、读取控制台错误和差异视觉变化。

npx pagelens http://localhost:3000

问题

当使用AI编码代理(Claude Code、Cursor、Windsurf)进行前端开发时,代理是盲目的。它可以编辑代码,但看不到应用程序的样子。这会产生一个痛苦的手动循环:

  1. 代理进行代码更改
  2. 你看浏览器
  3. 您可以用文字描述视觉问题,或截图并拖动到聊天中
  4. 您手动复制控制台错误
  5. 每次会话重复数十次

PageLens完全消除了这种循环。

运作原理

Your app (localhost:3000)
        |
Headless Chrome (Puppeteer)
        |
PageLens MCP Server
        |
Claude Code / Cursor / Windsurf

PageLens启动一个指向您的开发服务器的无头浏览器,被动收集控制台日志和网络错误,并公开任何兼容MCP的AI代理都可以调用的工具——屏幕截图、点击、打字、DOM检查、视觉差异——而无需您手动执行任何操作。

为什么PageLens胜过剧作家MCP/浏览器MCP?

通用浏览器自动化MCP公开了低级原语——你会得到 evaluate JavaScript, take screenshot, click element 作为单独的、断开连接的动作。PageLens是专门为AI前端开发循环构建的,它以重要的方式改变了设计:

PageLens通用浏览器MCP
设置npx pagelens --零配置需要浏览器启动管理、连接处理
控制台/网络错误在后台被动收集。代理人随时都会检查。代理必须主动轮询或设置侦听器。工具调用之间的错误丢失。
互动反馈每一个 click, type, navigate 自动返回屏幕截图代理必须记住在每次操作后进行屏幕截图
视觉回归内置 visual_diff --基线捕获、像素比较、差异图像、变化百分比不可用。代理需要手动截图、存储、比较。
视觉质量审查visual_audit 返回一个结构化的检查表,提示代理批判性地评估布局、对比度、内容准确性没有等效项。代理人往往在没有指导的情况下,表面上确认“看起来不错”。
现场调试toggle_headless 打开Chrome浏览器并实时查看代理程序的工作情况通常仅支持无头模式或需要重新启动
多路径审计multi_route_screenshot 在一次通话中捕获多个页面客服必须单独导航和截图每条路线

PageLens并不试图成为一个通用的浏览器自动化框架。它只做一件事——让你的AI编码代理关注你的前端——并从循环中删除每一个手动步骤。

快速开始

1.启动您的开发服务器

npm run dev
# App running at http://localhost:5173

2.将PageLens添加到MCP配置中

注: PageLens还没有在npm上。看 发展 部分从源代码安装,然后使用下面的配置和本地路径。

克劳德代码 (.mcp.json 在项目根目录中):

{
  "mcpServers": {
    "pagelens": {
      "command": "node",
      "args": ["/path/to/PageLens/dist/index.js", "http://localhost:5173"]
    }
  }
}

光标 (.cursor/mcp.json):

{
  "mcpServers": {
    "pagelens": {
      "command": "node",
      "args": ["/path/to/PageLens/dist/index.js", "http://localhost:5173"]
    }
  }
}

3.启动您的代理

就是这样。代理现在可以访问所有PageLens工具。让它“截取我的应用程序的屏幕截图”或“检查控制台错误”,它就可以正常工作了。

工具

观察

工具说明
screenshot将当前页面捕获为PNG格式。可选的 route 为了首先导航, fullPage 对于整个可滚动页面。
screenshot_element通过CSS选择器对特定DOM元素进行截图。
console_logs返回自上次调用以来的所有控制台输出(日志、警告、错误)。返回后清除缓冲区。
network_errors返回自上次调用以来所有失败的网络请求。返回后清除缓冲区。
visual_audit带有指导性检查表的屏幕截图促使代理批判性地评估内容的准确性、布局、对比度和抛光度,而不仅仅是确认呈现的内容。

交互

工具说明
click按选择器单击元素。点击后返回屏幕截图。
type在输入框中键入文本。可选的 clear 以替换现有内容。返回屏幕截图。
scroll按给定的像素数向上/向下滚动页面或特定元素。返回屏幕截图。
hover通过选择器将鼠标悬停在元素上,以触发工具提示、下拉菜单或悬停样式。返回屏幕截图。
select从以下选项中选择一个 `` 按值下拉。返回屏幕截图。
navigate转到URL或路径。返回新页面的屏幕截图。
set_viewport调整到预设大小(mobile 375x812, tablet 768×1024, desktop 1280x720)或定制 width/height。返回屏幕截图。
dom_inspect获取元素的计算样式、类、子元素和边界框。
get_page_info返回当前URL、页面标题、视口大小、滚动位置和文档尺寸。

困难

工具说明
visual_diff将当前页面与存储的基线进行比较。第一次调用捕获基线,后续调用返回一个差异图像,突出显示更改的像素和百分比摘要。
multi_route_screenshot一次通话中多条路线的截图。返回每条路线的标记图像。

调试

工具说明
toggle_headless在无头浏览器和可见浏览器之间切换。当可见时,会出现一个Chrome窗口,以便您可以实时观看代理与您的应用程序的交互。

CLI选项

pagelens  [options]

Options:
  --no-headless        Show the browser window
  --viewport 
  Initial viewport: mobile | tablet | desktop (default: desktop)
  -h, --help           Show help

建筑

src/
├── index.ts              # CLI entry point, arg parsing
├── server.ts             # MCP server, tool registration
├── browser.ts            # Puppeteer lifecycle, passive log/error collection
├── tools/
│   ├── screenshot.ts     # screenshot, screenshot_element, multi_route_screenshot
│   ├── console.ts        # console_logs, network_errors
│   ├── interact.ts       # click, type, navigate, set_viewport
│   ├── inspect.ts        # dom_inspect
│   └── diff.ts           # visual_diff
└── utils/
    └── viewport-presets.ts

关键设计决策:

  • 延迟连接 --MCP服务器立即启动。导航到您的应用程序发生在第一次工具调用时,因此如果您的开发服务器尚未运行,PageLens永远不会崩溃。
  • 被动收集 --从浏览器启动的那一刻起,控制台日志和网络错误就被捕获在环形缓冲区中。代理会在它想要的时候进行检查,而不是在事件发生的时候。
  • 每次互动后的截图click, type, navigate,以及 set_viewport 所有这些都会返回一个屏幕截图,这样代理就可以始终看到它所做操作的结果。
  • 基线存储 --视觉差异基线按路线存储在内存中。不需要文件系统设置。

发展

git clone https://github.com/amoghmanral/pagelens.git
cd pagelens
npm install
npm run build

使用Claude Code进行本地测试:

claude mcp add pagelens -- node /path/to/PageLens/dist/index.js http://localhost:3000

技术栈

  • TypeScript --类型安全工具处理程序和MCP集成
  • 操纵者 --无头Chrome自动化(捆绑Chromium)
  • @模型上下文协议/sdk --官方MCP服务器SDK
  • 像素匹配 + pngjs --用于视觉差异的像素级图像比较

许可证

麻省理工学院

目录标签

目录标签

开发工具TypeScriptClaude前端开发本地部署AI编程代理视觉反馈MCP服务器无头浏览器

支持客户端

ClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

pagelens

工具数量(toolCount,工具数)

17

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP