MCP服务器截图
一种模型上下文协议(MCP)服务器,使用 mcp走 以及chromedp,将它们作为base64编码的图像返回。
特性
- 全页截图:捕获整个网页的屏幕截图
- Base64编码:以base64格式返回屏幕截图
- MCP协议支持:易于与LLM应用程序集成
需求
- 达到1.24或更高
- 谷歌Chrome或Chromium浏览器
安装
- 安装依赖项:
go mod tidy- 构建程序:
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客户端配置
- 查看日志中的错误消息
开发者信息
依赖项
- :MCP协议实施
- :Chrome DevTools协议实现
构建和测试
# 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