ScreenshotOne.com - MCP Server

ScreenshotOne.com - MCP Server

site icon
2025.05.06 1
TypeScript网页截图自动化测试浏览器自动化
screenshotone-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务,用于连接 AI 助手与 ScreenshotOne.com API,实现网页截图功能。该服务支持多种截图方式,包括自定义视口大小、设备模拟、全页截图、元素选择等,并支持多种输出格式。
View on GitHub

Overview

基本能力

产品定位

screenshotone-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务,用于连接 AI 助手与 ScreenshotOne.com API,实现网页截图功能。

核心功能

  • 支持对任何 URL 进行截图
  • 渲染 HTML 内容并截图
  • 自定义视口大小和设备模拟
  • 支持全页截图
  • 使用 CSS 选择器选择特定元素
  • 多种输出格式(PNG、JPEG、WebP、PDF)
  • 屏蔽广告、跟踪器和 Cookie 横幅
  • 注入自定义 CSS 和 JavaScript
  • 控制等待行为和计时

适用场景

  • 自动化测试中的网页截图
  • 网页内容存档
  • 网页设计审查
  • 网页性能监控

工具列表

  • take-screenshot: 用于截取网页截图,支持多种参数配置。

常见问题解答

  • 如何获取 API 密钥? 访问 ScreenshotOne.com 创建 API 密钥。
  • 如何调试截图问题? 使用 --upload-debug 参数启用调试模式。

使用教程

使用依赖

  • Node.js (>=18.x): 下载
  • Git: 用于版本控制

安装教程

# 克隆仓库
git clone https://github.com/mrgoonie/screenshotone-mcp-server.git
cd screenshotone-mcp-server

# 安装依赖
npm install

调试方式

# 启动开发服务器(stdio 传输)
npm run dev:server

# 启动开发服务器(HTTP 传输)
npm run dev:server:http

# 测试截图功能
npm run dev:cli -- take-screenshot --url "https://example.com" --access-key "your-access-key"

架构

项目结构

src/
├── cli/              # 命令行接口
├── controllers/      # 业务逻辑
├── resources/        # MCP 资源
├── services/         # 外部 API 交互
├── tools/            # MCP 工具定义
├── types/            # 类型定义
├── utils/            # 共享工具
└── index.ts          # 入口文件

开发脚本

# 启动开发服务器
npm run dev:server

# 运行 CLI
npm run dev:cli -- [command] [args]

# 构建项目
npm run build

# 启动生产服务器
npm run start:server

测试

# 运行所有测试
npm test

# 生成测试覆盖率报告
npm run test:coverage

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。