内容
# 网站快照 MCP 服务器
赋予 Claude、Cursor 等 AI 代理**查看任意网页**的能力 — 通过 [Site-Shot](https://www.site-shot.com/) 获取网站截图,并遵循 [模型上下文协议](https://modelcontextprotocol.io)。
真实的 Chromium 渲染 · 全页捕获 · 国家代理 · 自动 **广告和 cookie 横幅移除**
(更干净的图像,更少的视觉 tokens)。
## 快速开始(Claude 桌面版)
1. 在 <https://www.site-shot.com/pricing/> 获取 Site-Shot API 密钥。
2. 将以下内容添加到您的 Claude 桌面版配置(`claude_desktop_config.json`):
```json
{
"mcpServers": {
"site-shot": {
"command": "npx",
"args": ["-y", "site-shot-mcp"],
"env": { "SITESHOT_API_KEY": "您的_API_密钥" }
}
}
}
```
3. 重启 Claude 桌面版。要求它 *"截取 https://news.ycombinator.com 的全页截图"*,它将调用服务器并向您显示图像。
在任何 MCP 客户端(Cursor、Cline、VS Code、LangChain、CrewAI)中,均以相同方式工作 — 将客户端指向
`npx -y site-shot-mcp`,并在环境中设置 `SITESHOT_API_KEY`。
## 工具
### `capture_screenshot`
截取网页截图(默认视口)。
| 参数 | 类型 | 默认值 | 备注 |
|---|---|---|---|
| `url` | 字符串(必填) | — | 要捕获的页面 |
| `full_page` | 布尔值 | `false` | 捕获整个可滚动页面 |
| `width` / `height` | 数字 | 1280 / 1024 | 视口/设备尺寸 |
| `format` | `"png"` \| `"jpeg"` | `png` | 图像格式 |
| `block_ads` | 布尔值 | `true` | 移除广告 |
| `block_cookie_banners` | 布尔值 | `true` | 移除 cookie 同意弹窗 |
| `country` | 字符串 | — | 代理国家,例如 `"Germany"`(自动 IP/语言/时区/地理位置) |
| `language` / `time_zone` / `geolocation` | 字符串 | — | 手动覆盖 |
| `wait_ms` | 数字 | — | 捕获前等待(SPA/动画) |
| `max_height` | 数字 | 20000(全页) | 捕获高度上限 |
以 MCP 图像形式返回截图。
### `capture_full_page`
与 `capture_screenshot` 相同,但启用全页捕获。
## 配置
| 环境变量 | 必需 | 描述 |
|---|---|---|
| `SITESHOT_API_KEY` | 是 | 您的 Site-Shot API 密钥(用作 `userkey`)。 |
服务器是对现有 Site-Shot HTTP API (`https://api.site-shot.com/`) 的薄封装 — 无需单独的后端。
## 本地开发
```bash
npm install
npm run check # 语法检查
npm run smoke # 离线测试(模拟 fetch,无需 API 密钥)
SITESHOT_API_KEY=您的密钥 npm start # 在标准输入/输出上运行服务器
```
## 要求
Node.js ≥ 18(使用内置的 `fetch`)。
## 许可证
MIT