ScreenshotOne

官方

使用ScreenshotOne渲染网站截图

你可以用 ScreenshotOne MCP 做什么?

  • 截取屏幕截图 — 让你的助手渲染任意 url 的屏幕截图,并返回临时截图、内容和切片 URL。
  • 将屏幕截图保存为文件 — 使用 render-website-screenshot-as-file 获取可保存或附加的图片或 PDF 文件。
  • 将页面内容提取为 Markdown — 使用 extract-website-markdown 读取或分析页面清理后的文本,无需截图。
  • 控制截取选项 — 切换 block_banners、block_ads、full_page 和 full_page_slices,以调整截取方式。
  • 查看 API 用量 — 使用 get-usage 查看你的 ScreenshotOne 配额和并发用量。

文档

ScreenshotOne MCP Server

一个官方的 MCP (Model Context Protocol) 服务器实现,适用于 ScreenshotOne。

关于构建它的原因以及对 MCP 未来的一些想法。

ScreenshotOne 还提供官方托管的 MCP 服务器。有关设置说明和最新更新,请参阅 ScreenshotOne MCP integration。

ScreenshotOne Server MCP server

工具

  • render-website-screenshot:渲染网站截图,并按要求返回临时截图、内容和切片 URL。
  • render-website-screenshot-as-file:渲染网站截图或 PDF,并将文件作为 MCP 资源嵌入响应中,同时返回临时 URL。
  • extract-website-markdown:渲染网站,并直接以文本形式返回清理后的 Markdown。
  • get-usage:获取 ScreenshotOne API 配额和并发使用情况。

截图工具提供以下专用选项:

  • url
  • block_banners(默认为 true)
  • block_ads(默认为 true)
  • image_quality(默认为 80)
  • full_page(默认为 false)
  • full_page_slices(默认为 false;需要 full_page=true)
  • metadata_content(默认为 false)
  • metadata_content_format(html 或 markdown;需要 metadata_content=true)

元数据内容和整页切片的选项名称和值与 ScreenshotOne API 一致。该工具不提供响应类型或缓存控制;它始终请求 JSON 响应,并禁用 API 缓存。

设置 metadata_content=true 和 metadata_content_format=markdown,即可随截图获取临时 Markdown 内容 URL。设置 full_page=true 和 full_page_slices=true,即可获取较小的纵向截图 URL。当 AI 代理需要分析可能无法可靠地作为一张大图处理的长页面时,建议使用切片。

成功捕获后,会以文本和结构化内容的形式返回所请求的 URL:

{
    "url": "https://<screenshotone-cache-domain>/...",
    "content": {
        "url": "https://<screenshotone-cache-domain>/...",
        "expires": "Sun, 07 Sep 2026 12:00:00 GMT",
        "format": "markdown"
    },
    "slices": [
        {
            "index": 0,
            "offset_y": 0,
            "width": 1280,
            "height": 4000,
            "url": "https://<screenshotone-cache-domain>/..."
        }
    ]
}

这些 URL 都是临时的。截图 URL 最长可用四小时,而元数据内容会包含确切的过期时间。请下载需要保留的任何文件。

render-website-screenshot-as-file 适用于需要获取文件本身的客户端,例如需要保存或附加文件,或无法下载链接的客户端。它接受 url、format(默认为 jpg、png、webp、gif、jp2、tiff、avif、heif 或 pdf)、block_banners、block_ads、image_quality、full_page 和 full_page_max_height(需要 full_page=true)。它会将文件作为嵌入资源返回(type: "resource",包含 base64 blob 及其 MIME 类型),并以文本和结构化内容的形式返回文件名、URI、MIME 类型、大小和临时 URL。大于 5 MB 的文件不会嵌入;该工具会返回错误,建议使用更小的格式、质量或高度,并附上临时 URL。

extract-website-markdown 仅接受 url。它是 ScreenshotOne 的 format=markdown API 请求的专用快捷方式,并在一个 MCP 文本响应中直接返回生成的 Markdown。当代理需要读取或分析页面内容而不需要截图时,请使用它。

用法

构建

请务必先安装依赖项并进行构建:

npm install && npm run build

获取 ScreenshotOne API 密钥

在 ScreenshotOne 注册并获取 API 密钥。

使用 npx 运行

无需克隆仓库,即可直接从 npm 包运行 CLI:

SCREENSHOTONE_API_KEY=your_api_key npx --yes @screenshotone/mcp

使用 Claude for Desktop

将以下内容添加到你的 ~/Library/Application\ Support/Claude/claude_desktop_config.json 中:

{
    "mcpServers": {
        "screenshotone": {
            "command": "npx",
            "args": ["--yes", "@screenshotone/mcp"],
            "env": {
                "SCREENSHOTONE_API_KEY": "<your api key>"
            }
        }
    }
}

独立运行或用于其他项目

SCREENSHOTONE_API_KEY=your_api_key node build/index.js

许可证

ScreenshotOne MCP Server 采用 MIT License 授权。