网页截图服务

一个基于MCP协议的网页截图服务,能够捕获完整网页截图并以base64格式返回,适用于LLM应用集成。

  • by Koki-Taniguchi
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 koki-taniguchi/vibe-web-screenshot-mcp

使用说明

MCP服务器截图

一种模型上下文协议(MCP)服务器,使用 mcp走 以及chromedp,将它们作为base64编码的图像返回。

日语

特性

  • 全页截图:捕获整个网页的屏幕截图
  • Base64编码:以base64格式返回屏幕截图
  • MCP协议支持:易于与LLM应用程序集成

需求

  • 达到1.24或更高
  • 谷歌Chrome或Chromium浏览器

安装

  1. 安装依赖项:
go mod tidy
  1. 构建程序:
go build -o screenshot-server main.go

用作MCP服务器

1.启动服务器

./screenshot-server

服务器使用stdio传输通过MCP协议进行通信。

2.可用工具

full_screenshot

捕获指定URL的完整页面截图。

参数:

  • url (string,必填):用于捕获以下内容的屏幕截图的URL

示例用法:

{
  "method": "tools/call",
  "params": {
    "name": "full_screenshot",
    "arguments": {
      "url": "https://example.com"
    }
  }
}

3.与LLM应用程序集成

此MCP服务器可以与Claude Desktop、Cursor和其他MCP兼容的LLM应用程序一起使用。

游标配置示例

添加以下内容 .cursor/mcp.json:

{
  "mcpServers": {
    "screener": {
      "command": "/path/to/screenshot-server",
      "args": []
    }
  }
}

重要提示

  • 截图可能需要时间(最多30秒超时)
  • 设置2秒等待时间以确保页面加载完成
  • 以无头模式运行,因此不显示浏览器窗口
  • 当作为MCP服务器运行时,stdin/stdout用于MCP协议通信

故障排除

未找到铬

确保您的系统上安装了Google Chrome或Chromium。

超时错误

检查您的网络连接和页面加载速度。如果需要,可以调整超时时间。

MCP客户端连接问题

  • 验证服务器是否正常运行
  • 检查MCP客户端配置
  • 查看日志中的错误消息

开发者信息

依赖项

构建和测试

# Build
go build -o screenshot-server main.go

# Test tools
echo -e '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"cursor","version":"1.0.0"}}}\n{"jsonrpc":"2.0","method":"initialized"}\n{"jsonrpc":"2.0","id":2,"method":"tools/list"}' | screenshot-server