关于 CurlShot
CurlShot 是托管式 MCP 服务,可将公开网页捕获为图像、PDF 或滚动视频。它适用于需要网页视觉截取、但不希望安装服务端的 AI Agent 和 MCP 客户端。
主要功能
- 01将页面捕获为 PNG、JPEG、WebP 或 PDF
- 02录制页面滚动视频
- 03捕获整页或 CSS 选定元素
- 04设置设备预设和视口尺寸
- 05支持深色模式和请求缓存
适用场景
- 01为 Agent 捕获公开网页以供查看
- 02保存整页截图或指定页面元素
- 03录制页面从上到下滚动过程
MCP 相关
CurlShot 通过流式 HTTP 托管 MCP 端点提供 `take_screenshot` 和 `list_devices` 工具。截图请求需要 Bearer API 密钥,设备预设列表无需密钥。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://curlshot.com/api/mcpclaude mcp add --transport http sergiupogor-curlshot https://curlshot.com/api/mcp{"mcpServers":{"sergiupogor-curlshot":{"type":"http","url":"https://curlshot.com/api/mcp"}}}在 Cursor 中打开{"servers":{"sergiupogor-curlshot":{"type":"http","url":"https://curlshot.com/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"sergiupogor-curlshot":{"type":"http","url":"https://curlshot.com/api/mcp"}}}{"mcpServers":{"sergiupogor-curlshot":{"serverUrl":"https://curlshot.com/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://curlshot.com/api/mcp需要授权工具
2| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 页面的完整地址,以 http:// 或 https:// 开头。 |
| cache | boolean | 否 | 如果之前执行过相同请求,则重用已存储的副本。 |
| delay | number | 否 | 页面加载后额外等待的秒数。 |
| format | enum | 否 | 结果的文件格式。mp4、webm 和 gif 会录制页面从顶部到底部滚动的视频。png | jpeg | webp | pdf | mp4 | webm | gif |
| selector | string | 否 | 仅捕获与此 CSS 选择器匹配的第一个元素。 |
| block_ads | boolean | 否 | 阻止向广告网络发送请求。 |
| dark_mode | boolean | 否 | 请求页面使用深色主题。 |
| full_page | boolean | 否 | 捕获整个页面,而不仅是首屏。 |
| wait_until | enum | 否 | 用于标记页面已加载的页面事件。load | domcontentloaded | networkidle | commit |
| viewport_width | integer | 否 | 浏览器窗口的宽度,单位为像素。 |
| viewport_device | enum | 否 | 模拟设备预设(参见 list_devices)。iphone_se | iphone_12 | iphone_13 | iphone_13_mini | iphone_14 | iphone_14_plus | iphone_14_pro | iphone_14_pro_max | iphone_15 | iphone_15_plus | iphone_15_pro | iphone_15_pro_max | iphone_16 | iphone_16_plus | iphone_16_pro | iphone_16_pro_max | pixel_5 | pixel_7 | pixel_8 | pixel_8_pro | pixel_9 | pixel_9_pro | galaxy_s23 | galaxy_s24 | galaxy_s24_ultra | galaxy_a54 | ipad | ipad_mini | ipad_air | ipad_pro_11 | ipad_pro_13 | galaxy_tab_s9 | pixel_tablet | macbook_air_13 | macbook_pro_14 | macbook_pro_16 | laptop_hd | laptop_hidpi | desktop_hd | desktop_full_hd | desktop_qhd | desktop_4k | imac_24 |
| viewport_height | integer | 否 | 浏览器窗口的高度,单位为像素。 |
| block_cookie_banners | boolean | 否 | 隐藏 Cookie 同意横幅。 |
详细介绍
CurlShot MCP 服务
让你的 AI Agent 为网页截图。CurlShot 运行着一个托管的 Model Context Protocol 服务,因此无需安装任何内容:将 MCP 客户端指向该端点并添加 API 密钥即可。
https://curlshot.com/api/mcp
- **传输方式:**可流式传输的 HTTP(通过
POST传输 JSON-RPC 2.0)。该服务是无状态的,因此GET请求会返回405。 - 身份验证:
Authorization: Bearer YOUR_API_KEY - 协议版本:
2025-06-18、2025-03-26、2024-11-05
此仓库包含文档、server.json 清单(MCP Registry 格式)和许可证。服务本身运行在 curlshot.com。
工具
| 工具 | 功能 | 是否需要密钥 |
|---|---|---|
take_screenshot | 渲染公开网页,并以图片、PDF 或页面滚动视频的形式返回。每次成功调用都会消耗配额中的一次截图额度。命中缓存和渲染失败不收费。 | 是 |
list_devices | 列出 take_screenshot 在 viewport_device 中接受的设备预设(手机、平板、桌面设备)。 | 否 |
take_screenshot 参数:
| 参数 | 含义 |
|---|---|
url(必填) | 网页的完整地址,以 http:// 或 https:// 开头。 |
format | png、jpeg(默认)、webp、pdf、mp4、webm 或 gif。在包含视频功能的套餐中,视频格式会录制页面从顶部滚动到底部的过程。 |
full_page | 捕获整个页面,而不仅是首屏。 |
viewport_device | 设备预设,例如 iphone_15_pro(参见 list_devices)。 |
viewport_width、viewport_height | 浏览器窗口的像素尺寸(默认值为 1280 x 1024)。 |
dark_mode | 请求网页使用深色主题。 |
block_ads、block_cookie_banners | 默认启用。 |
selector | 仅捕获与此 CSS 选择器匹配的第一个元素。 |
wait_until、delay | 页面何时视为已加载,以及额外等待的秒数。 |
cache | 重用相同请求的缓存副本。 |
较小的结果会以内嵌图片的形式返回,模型可以直接查看。超过 6 MB 的结果会以下载链接形式返回,链接约一天后失效。
获取 API 密钥
- 在 curlshot.com/register 注册。免费套餐每月包含 100 次截图,无需信用卡。
- 在控制面板中为你的 Agent 创建单独的 API 密钥,以便单独撤销。
- 为该密钥关闭 Require signature。MCP 调用不会签名。
将密钥保存在客户端配置中,而不是提示词里。以下示例使用 YOUR_API_KEY 作为占位符。
客户端配置
Claude Code
claude mcp add --transport http curlshot https://curlshot.com/api/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
也可以将其作为 Claude Code 插件安装(包含 MCP 服务和 Agent 技能)。请先在环境中设置 CURLSHOT_API_KEY;插件会将其作为 bearer token 发送:
/plugin install curlshot --marketplace SergiuPogor/curlshot-mcp
Claude Desktop
Claude Desktop 会从配置文件启动本地(stdio)服务,因此请通过 mcp-remote 代理进行连接。编辑 claude_desktop_config.json(Settings → Developer → Edit Config):
{
"mcpServers": {
"curlshot": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://curlshot.com/api/mcp",
"--transport",
"http-only",
"--header",
"Authorization: Bearer YOUR_API_KEY"
]
}
}
}
保存后重启 Claude Desktop。此操作需要 Node.js。
Cursor
添加到 ~/.cursor/mcp.json(所有项目)或 .cursor/mcp.json(单个项目):
{
"mcpServers": {
"curlshot": {
"url": "https://curlshot.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
VS Code(GitHub Copilot)
添加到 .vscode/mcp.json。VS Code 会询问一次密钥并安全保存:
{
"inputs": [
{
"type": "promptString",
"id": "curlshot-api-key",
"description": "CurlShot API key",
"password": true
}
],
"servers": {
"curlshot": {
"type": "http",
"url": "https://curlshot.com/api/mcp",
"headers": {
"Authorization": "Bearer ${input:curlshot-api-key}"
}
}
}
}
Gemini CLI
此仓库也是一个 Gemini CLI 扩展。安装后按提示输入 API 密钥:
gemini extensions install https://github.com/SergiuPogor/curlshot-mcp
密钥会保存为 CURLSHOT_API_KEY 设置,并以 Authorization: Bearer ... 的形式发送。
Agent 技能(无需 MCP)
对于使用 Agent Skills 而非 MCP 的 Agent,skills/curlshot/SKILL.md 会指导 Agent 使用 curl 直接调用 HTTP API,并从 CURLSHOT_API_KEY 读取密钥:
npx skills add SergiuPogor/curlshot-mcp
其他客户端
任何支持通过可流式 HTTP 使用远程服务的客户端都可以使用。大多数客户端支持类似这样的配置:
{
"mcpServers": {
"curlshot": {
"type": "http",
"url": "https://curlshot.com/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
只能启动本地服务的客户端可以使用为 Claude Desktop 展示的 mcp-remote 命令。
使用 curl 试用
curl -X POST "https://curlshot.com/api/mcp" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "take_screenshot",
"arguments": { "url": "https://example.com", "format": "webp" }
}
}'
限制与定价
- 免费套餐:每月 100 张截图,无需银行卡。付费套餐起价为每月 $19。请参阅定价。
- 仅成功渲染的结果计入用量。缓存命中和渲染失败均免费。
- MCP 端点每个 IP 地址每分钟最多接受 120 个请求,此限制与套餐本身的限制分开计算。
- 达到月度限额后,工具会返回带有升级链接的错误,而不是图片。
链接
- 网站:curlshot.com
- 文档:curlshot.com/docs
- AI Agent 的 MCP 指南:curlshot.com/docs/guides/ai-agents
- 定价:curlshot.com/pricing
- 服务卡片:curlshot.com/.well-known/mcp.json
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。