一个使用Puppeteer捕获网页截图的MCP(模型上下文协议)服务器。此服务器允许AI代理通过视觉方式验证Web应用程序,并在生成Web应用时查看其进度。
将生成的screenshot-webpage-mcp.dxt文件拖放到Claude桌面中进行自动安装!
要从源代码安装和构建MCP:
# 克隆仓库(如果尚未克隆)
git clone https://github.com/ananddtyagi/webpage-screenshot-mcp.git
cd webpage-screenshot-mcp
# 安装依赖
npm install
# 构建项目
npm run build
该MCP服务器使用TypeScript编写并编译成JavaScript。dist文件夹包含编译后的JavaScript文件。
要将此MCP添加到Claude桌面或Cursor:
Claude桌面:
"webpage-screenshot": {
"command": "node",
"args": [
"~/path/to/webpage-screenshot-mcp/dist/index.js"
]
}
Cursor:
"webpage-screenshot": {
"command": "node",
"args": ["~/path/to/webpage-screenshot-mcp/dist/index.js"]
}
此MCP服务器提供多个工具:
在可见的浏览器窗口中打开网页进行手动登录,等待用户完成登录后保存cookies。
{
"url": "https://example.com/login",
"waitMinutes": 5,
"successIndicator": ".dashboard-welcome",
"useDefaultBrowser": true
}
url(必需):登录页面的URLwaitMinutes(可选):最大等待时间(默认:5分钟)successIndicator(可选):表示成功登录的CSS选择器或URL模式useDefaultBrowser(可选):是否使用系统的默认浏览器(默认:true)捕获给定URL的截图并以base64编码的图片形式返回。
{
"url": "https://example.com/dashboard",
"fullPage": true,
"width": 1920,
"height": 1080,
"format": "png",
"quality": 100,
"waitFor": "networkidle2",
"delay": 500,
"useSavedAuth": true,
"reuseAuthPage": true,
"useDefaultBrowser": true,
"visibleBrowser": true
}
url(必需):要截图的网页URLfullPage(可选):是否捕获整个页面或仅视口(默认:true)width(可选):视口宽度(像素,默认:1920)height(可选):视口高度(像素,默认:1080)format(可选):图片格式 - "png", "jpeg", 或 "webp"(默认:"png")quality(可选):图片质量(0-100),仅适用于jpeg和webpwaitFor(可选):何时认为页面已加载 - "load", "domcontentloaded", "networkidle0", 或 "networkidle2"(默认:"networkidle2")delay(可选):页面加载后的额外延迟(毫秒,默认:0)useSavedAuth(可选):是否使用之前登录保存的cookies(默认:true)reuseAuthPage(可选):是否使用已存在的认证页面(默认:false)useDefaultBrowser(可选):是否使用系统的默认浏览器(默认:false)visibleBrowser(可选):是否显示浏览器窗口(默认:false)使用CSS选择器捕获网页上特定元素的截图。
{
"url": "https://example.com/dashboard",
"selector": ".user-profile",
"waitForSelector": true,
"format": "png",
"quality": 100,
"padding": 10,
"useSavedAuth": true,
"useDefaultBrowser": true,
"visibleBrowser": true
}
url(必需):网页的URLselector(必需):用于截图的元素的CSS选择器waitForSelector(可选):是否等待选择器出现(默认:true)format(可选):图片格式 - "png", "jpeg", 或 "webp"(默认:"png")quality(可选):图片质量(0-100),仅适用于jpeg和webppadding(可选):元素周围的填充(像素,默认:0)useSavedAuth(可选):是否使用之前登录保存的cookies(默认:true)useDefaultBrowser(可选):是否使用系统的默认浏览器(默认:false)visibleBrowser(可选):是否显示浏览器窗口(默认:false)清除特定域或所有域的保存认证cookies。
{
"url": "https://example.com"
}
url(可选):要清除cookies的域名。如果没有提供,则清除所有cookies。默认浏览器模式允许您使用系统的常规浏览器(如Chrome、Edge等)而不是Puppeteer捆绑的Chromium。这对于以下情况非常有用:
要启用默认浏览器模式,在您的工具参数中设置useDefaultBrowser: true和visibleBrowser: true。
当您启用默认浏览器模式时:
这种模式特别适合需要身份验证或复杂用户交互的工作流。
MCP服务器可以在多个工具调用之间维持持久的浏览器会话:
login-and-wait时,浏览器会话保持打开screenshot-page或screenshot-element时,如果设置了reuseAuthPage: true,则使用同一页面每次访问的域都会自动保存cookies:
login-and-wait之后,cookies会被保存到家目录下的.mcp-screenshot-cookies目录useSavedAuth: true,这些cookies会自动加载clear-auth-cookies工具清除cookies这是一个示例工作流,用于获取需要身份验证的页面的截图:
{
"name": "login-and-wait",
"parameters": {
"url": "https://example.com/login",
"waitMinutes": 3,
"successIndicator": ".dashboard-welcome",
"useDefaultBrowser": true
}
}
这将在您的默认浏览器中打开登录页面。您可以手动登录,一旦完成(通过检测成功指示器或导航离开登录页面),会话cookies将被保存。
{
"name": "screenshot-page",
"parameters": {
"url": "https://example.com/account",
"fullPage": true,
"useSavedAuth": true,
"reuseAuthPage": true,
"useDefaultBrowser": true,
"visibleBrowser": true
}
}
这将使用您保存的身份验证cookies在同一浏览器窗口中截取账户页面的截图。
{
"name": "screenshot-element",
"parameters": {
"url": "https://example.com/dashboard",
"selector": ".user-profile-section",
"useSavedAuth": true,
"useDefaultBrowser": true,
"visibleBrowser": true
}
}
{
"name": "clear-auth-cookies",
"parameters": {
"url": "https://example.com"
}
}
此工作流允许您像普通用户一样与受保护的页面互动,完成完整的身份验证流程。
visibleBrowser: false):更快,更适合不需要用户交互的自动化工作流。visibleBrowser: true):显示浏览器窗口,允许用户交互和手动验证。要求useDefaultBrowser: true。默认浏览器检测支持:
clear-auth-cookies工具清除cookies。当出现问题时,MCP服务器会在控制台记录有用的错误消息。检查这些消息以获取故障排除信息。