Skip to main content
Glama

Webpage Screenshot MCP Server

by ananddtyagi

网页截图 MCP 服务器

一个使用 Puppeteer 截取网页截图的 MCP(模型上下文协议)服务器。该服务器允许 AI 代理直观地验证 Web 应用程序,并在生成 Web 应用程序时查看其进度。

屏幕录制 2025年5月27日 (2)

特征

  • 全页面截图:捕获整个网页或仅捕获视口
  • 元素截图:使用 CSS 选择器定位特定元素
  • 多种格式:支持 PNG、JPEG 和 WebP 格式
  • 可定制选项:设置视口大小、图像质量、等待条件和延迟
  • Base64 编码:将屏幕截图以 Base64 编码图像的形式返回,以便于集成
  • 身份验证支持:手动登录和cookie持久化
  • 默认浏览器集成:使用系统的默认浏览器获得更自然的体验
  • 会话持久性:保持浏览器会话处于打开状态以进行多步骤工作流

安装

# Install globally npm install -g screenshot-webpage-mcp # Or use locally in a project npm install screenshot-webpage-mcp

用法

工具

该 MCP 服务器提供了几种工具:

1. 登录并等待

在可见的浏览器窗口中打开网页进行手动登录,等待用户完成登录,然后保存 cookie。

{ "url": "https://example.com/login", "waitMinutes": 5, "successIndicator": ".dashboard-welcome", "useDefaultBrowser": true }
  • url (必填):登录页面的 URL
  • waitMinutes (可选):等待登录的最大分钟数(默认值:5)
  • successIndicator (可选):指示登录成功的 CSS 选择器或 URL 模式
  • useDefaultBrowser (可选):是否使用系统默认浏览器(默认值:true)
2. 屏幕截图

捕获给定 URL 的屏幕截图并将其作为 base64 编码图像返回。

{ "url": "https://example.com/dashboard", "fullPage": true, "width": 1920, "height": 1080, "format": "png", "quality": 80, "waitFor": "networkidle2", "delay": 500, "useSavedAuth": true, "reuseAuthPage": true, "useDefaultBrowser": true, "visibleBrowser": true }
  • url (必填):需要截图的网页地址
  • fullPage (可选):是否捕获整个页面或仅捕获视口(默认值:true)
  • width (可选):视口宽度(以像素为单位)(默认值:1920)
  • height (可选):视口高度(以像素为单位)(默认值:1080)
  • format (可选):图像格式 - “png”、“jpeg”或“webp”(默认:“png”)
  • quality (可选):图像质量(0-100),仅适用于 jpeg 和 webp
  • waitFor (可选):何时考虑页面加载 - “load”、“domcontentloaded”、“networkidle0”或“networkidle2”(默认值:“networkidle2”)
  • delay (可选):页面加载后的额外延迟(以毫秒为单位)(默认值:0)
  • useSavedAuth (可选):是否使用上次登录时保存的 cookie(默认值:true)
  • reuseAuthPage (可选):是否使用现有的认证页面(默认值:false)
  • useDefaultBrowser (可选):是否使用系统默认浏览器(默认值:false)
  • visibleBrowser (可选):是否显示浏览器窗口(默认值:false)
3. 屏幕截图元素

使用 CSS 选择器捕获网页上特定元素的屏幕截图。

{ "url": "https://example.com/dashboard", "selector": ".user-profile", "waitForSelector": true, "format": "png", "quality": 80, "padding": 10, "useSavedAuth": true, "useDefaultBrowser": true, "visibleBrowser": true }
  • url (必填):网页的 URL
  • selector (必需):要截图的元素的 CSS 选择器
  • waitForSelector (可选):是否等待选择器出现(默认值:true)
  • format (可选):图像格式 - “png”、“jpeg”或“webp”(默认:“png”)
  • quality (可选):图像质量(0-100),仅适用于 jpeg 和 webp
  • padding (可选):元素周围的填充(以像素为单位)(默认值:0)
  • useSavedAuth (可选):是否使用上次登录时保存的 cookie(默认值:true)
  • useDefaultBrowser (可选):是否使用系统默认浏览器(默认值:false)
  • visibleBrowser (可选):是否显示浏览器窗口(默认值:false)

清除特定域或所有域的已保存身份验证 cookie。

{ "url": "https://example.com" }
  • url (可选):需要清除 Cookie 的域名 URL。若未提供,则清除所有 Cookie。

默认浏览器模式

默认浏览器模式允许您使用系统自带的浏览器(Chrome、Edge 等),而不是 Puppeteer 自带的 Chromium 浏览器。此功能适用于:

  1. 使用现有的浏览器会话和扩展程序
  2. 使用已保存的凭据手动登录网站
  3. 为多步骤工作流程提供更自然的浏览体验
  4. 使用与用户相同的浏览器环境进行测试

要启用默认浏览器模式,请在工具参数中设置useDefaultBrowser: truevisibleBrowser: true

默认浏览器模式的工作原理

启用默认浏览器模式时:

  1. 该工具将尝试找到系统的默认浏览器(Chrome、Edge 等)
  2. 它会启动你的浏览器,并在随机端口上启用远程调试
  3. Puppeteer 连接到此浏览器实例,而不是启动自己的
  4. 您现有的配置文件、扩展程序和 Cookie 在会话期间可用
  5. 浏览器窗口仍然可见,因此您可以手动与其交互

此模式对于需要身份验证或复杂用户交互的工作流特别有用。

浏览器持久性

MCP 服务器可以在多个工具调用之间维持持久的浏览器会话:

  1. 当您使用login-and-wait时,浏览器会话保持打开状态
  2. 后续使用reuseAuthPage: true调用screenshot-pagescreenshot-element将使用同一页面
  3. 这允许多步骤工作流程,而无需重新进行身份验证

您访问的每个域名都会自动保存 Cookie:

  1. 使用login-and-wait后,cookie 将保存到主文件夹中的.mcp-screenshot-cookies目录中
  2. 当使用useSavedAuth: true再次访问同一域时,会自动加载这些 cookie
  3. 您可以使用clear-auth-cookies工具清除 cookies

示例工作流程:受保护的页面截图

以下是对需要身份验证的页面进行截图的示例工作流程:

  1. 手动登录阶段
{ "name": "login-and-wait", "parameters": { "url": "https://example.com/login", "waitMinutes": 3, "successIndicator": ".dashboard-welcome", "useDefaultBrowser": true } }

这将打开您的默认浏览器并显示登录页面。您可以手动登录。登录完成后(无论是检测到登录成功指示,还是离开登录页面),会话 Cookie 都会被保存。

  1. 使用已保存的会话截取屏幕截图
{ "name": "screenshot-page", "parameters": { "url": "https://example.com/account", "fullPage": true, "useSavedAuth": true, "reuseAuthPage": true, "useDefaultBrowser": true, "visibleBrowser": true } }

这将在同一浏览器窗口中使用您保存的身份验证 cookie 截取帐户页面的屏幕截图。

  1. 截取特定元素的屏幕截图
{ "name": "screenshot-element", "parameters": { "url": "https://example.com/dashboard", "selector": ".user-profile-section", "useSavedAuth": true, "useDefaultBrowser": true, "visibleBrowser": true } }
  1. 完成后清除 Cookies
{ "name": "clear-auth-cookies", "parameters": { "url": "https://example.com" } }

此工作流程允许您像普通用户一样与受保护的页面进行交互,并在默认浏览器中完成完整的身份验证流程。

无头模式与可见模式

  • 无头模式visibleBrowser: false ):更快,更适合不需要用户交互的自动化工作流程。
  • 可见模式( visibleBrowser: true ):显示浏览器窗口,允许用户交互和手动验证。 useDefaultBrowser: true时必需。

平台支持

默认浏览器检测适用于:

  • macOS :检测 Chrome、Edge 和 Safari
  • Windows :通过注册表或常见安装路径检测 Chrome 和 Edge
  • Linux :通过系统命令检测 Chrome 和 Chromium

故障排除

常见问题

  1. 未找到默认浏览器:如果系统找不到您的默认浏览器,它将恢复使用 Puppeteer 捆绑的 Chromium。
  2. 连接问题:如果连接到浏览器的调试端口时出现问题,请检查是否有另一个实例正在使用该端口。
  3. Cookie 问题:如果身份验证不起作用,请尝试使用clear-auth-cookies工具清除 cookie。

调试

出现问题时,MCP 服务器会将有用的错误消息记录到控制台。查看这些消息以获取故障排除信息。

-
security - not tested
F
license - not found
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

使用 Puppeteer 捕获网页截图,让 AI 代理能够直观地验证 Web 应用程序并在生成 Web 应用程序时查看其进度。

  1. 特征
    1. 安装
      1. 用法
        1. 工具
      2. 默认浏览器模式
        1. 默认浏览器模式的工作原理
      3. 浏览器持久性
        1. Cookie 管理
          1. 示例工作流程:受保护的页面截图
            1. 无头模式与可见模式
              1. 平台支持
                1. 故障排除
                  1. 常见问题
                  2. 调试

                Related MCP Servers

                • -
                  security
                  F
                  license
                  -
                  quality
                  Enables capturing screenshots of web pages and local HTML files through a simple MCP tool interface using Puppeteer with configurable options for dimensions and output paths.
                  Last updated -
                  1
                  0
                  4
                  JavaScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  Enables browser automation with Puppeteer, supporting navigation, form interactions, and connection to active Chrome instances for comprehensive web page interaction.
                  Last updated -
                  8
                  470
                  8
                  TypeScript
                  MIT License
                  • Apple
                  • Linux
                • A
                  security
                  A
                  license
                  A
                  quality
                  An official MCP server implementation that allows AI assistants to capture website screenshots through the ScreenshotOne API, enabling visual context from web pages during conversations.
                  Last updated -
                  1
                  6
                  TypeScript
                  MIT License
                  • Apple
                • -
                  security
                  -
                  license
                  -
                  quality
                  An MCP server that provides web development tools including taking screenshots of screens, enabling AI agents to capture and analyze visual content during development.
                  Last updated -
                  2
                  TypeScript

                View all related MCP servers

                MCP directory API

                We provide all the information about MCP servers via our MCP API.

                curl -X GET 'https://glama.ai/api/mcp/v1/servers/ananddtyagi/webpage-screenshot-mcp'

                If you have feedback or need assistance with the MCP directory API, please join our Discord server