mcpField
S
shotanvil

shotanvil

远程服务
github.com/Psykepro浏览器自动化010 周前更新
代码仓库

关于 shotanvil

shotanvil 是网页截图与渲染 API,供需要将网页或 HTML 转为图像、PDF 或文本元数据的开发者使用。此仓库提供调用示例和同步自线上 API 的 OpenAPI 规范副本。

主要功能

  1. 01截取网页并导出 PNG、JPEG、WebP 或 PDF
  2. 02渲染内联 HTML
  3. 03捕获整页内容
  4. 04返回图像及提取文本和元数据
  5. 05支持缓存及广告、Cookie 横幅屏蔽

适用场景

  1. 01生成网页截图用于测试或记录
  2. 02将 HTML 渲染为图像
  3. 03提取网页文本与元数据

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://api.shotanvil.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

详细介绍

shotanvil-examples

shotanvil 截图 API 的用法示例和实时同步的 OpenAPI 规范副本——1 screenshot = 1 request,真正免费的免费套餐,价格每月 $9 起。

基础 URL:https://api.shotanvil.com

访问方式

GET /take 和 POST /render-html 支持以下三种访问方式,并按此顺序检查:

  1. x402 — 发送 X-Payment 标头(按次付费,无需注册,通过测试网结算)。
  2. API key — 发送 X-Api-Key: <key> 或 ?access_key=<key>。
  3. 无密钥 — 不需要凭据,按 IP 限流,仅在运营方启用了无密钥访问时可用。

无效的 API key 始终会返回 401,绝不会回退到无密钥访问,即使已启用无密钥访问也是如此——付费 key 即使拼写错误,也不会在不提示的情况下悄悄降级到较低套餐。

在 shotanvil.com 获取 API key。

快速入门

截取屏幕截图:

curl "https://api.shotanvil.com/take?url=https://example.com" \
  -H "X-Api-Key: $SHOTANVIL_API_KEY" \
  -o screenshot.png

获取文本和元数据(JSON 格式),而不是原始字节:

curl "https://api.shotanvil.com/take?url=https://example.com&response_format=json" \
  -H "X-Api-Key: $SHOTANVIL_API_KEY"

渲染内嵌 HTML:

curl -X POST https://api.shotanvil.com/render-html \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: $SHOTANVIL_API_KEY" \
  -d '{"html": "<html><body><h1>Hello</h1></body></html>"}' \
  -o out.png

更多可运行示例:examples/curl.sh、 examples/node/screenshot.mjs。

常用的 GET /take 参数

参数类型说明
url字符串,必填目标页面 URL,仅限 http/https。
format字符串png(默认)、jpeg、webp 或 pdf。
full_page布尔值截取整个可滚动页面,而不只是视口。
viewport_width / viewport_height整数320–3840 / 240–2160。
cache_ttl整数缓存此精确渲染结果的秒数,范围为 0–86400。
fresh布尔值本次请求绕过缓存读取。
block_ads布尔值使用基于 EasyList 的屏蔽列表拦截广告网络请求。
block_cookie_banners布尔值注入 CSS 隐藏规则,隐藏常见的 Cookie 同意横幅。
dark_mode布尔值导航前模拟 prefers-color-scheme: dark。
response_format字符串binary(默认)返回原始字节;json 则以 JSON 包装图片(base64)和提取的文本/元数据。

完整参数参考、请求/响应架构以及每个字段的示例见 openapi.json——在任意 OpenAPI 查看器中打开(例如 editor.swagger.io),即可浏览规范。

速率限制

每个 API key 都有每秒速率限制和每日调用上限。GET /usage 会报告当前 key 当天的用量。超出任一限制都会返回 429,并包含 retry_after_s 字段。

保持 openapi.json 同步

此仓库中的 openapi.json 是一份特定时间点的副本,从实时 GET https://api.shotanvil.com/openapi.json 端点获取——它并非手动编写,会随着 API 的演进而逐渐过时。

在将其用于日常浏览以外的用途之前,或在未来更新此仓库之前,请重新获取并比较差异:

curl -sS https://api.shotanvil.com/openapi.json -o /tmp/openapi.latest.json
diff openapi.json /tmp/openapi.latest.json

如果存在差异,请检查差异,将 openapi.json 替换为最新副本并提交——不要直接手动编辑 openapi.json。

许可证

此仓库中的示例采用 MIT 许可证——可自由复制和改编。openapi.json 描述 shotanvil API,仅供参考。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。