使用说明
MCP服务器截图
为macOS应用程序提供屏幕截图功能的模型上下文协议(MCP)服务器。
安装
快速入门(推荐)
-
下载通用二进制文件:
# Replace with actual release URL curl -L -o screenshot-mcp https://github.com/YOUR_USERNAME/screenshot-mcp/releases/latest/download/screenshot-mcp-universal chmod +x screenshot-mcp -
测试其工作原理:
echo '{"jsonrpc": "2.0", "id": "test", "method": "tools/list"}' | ./screenshot-mcp
从源代码构建
要求: 包子 >=1.0.0,macOS
git clone https://github.com/YOUR_USERNAME/screenshot-mcp.git
cd screenshot-mcp
bun install
bun run build-universal # Creates universal binary
配置
克劳德桌面
增添 ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"screenshot": {
"command": "/path/to/screenshot-mcp"
}
}
}
其他MCP客户端
在MCP客户端配置中使用二进制路径:
{
"command": "/usr/local/bin/screenshot-mcp"
}
用法
可用工具
take_screenshot-捕获特定应用程序的屏幕截图list_running_apps-获取正在运行的应用程序列表capture_region-捕获特定屏幕区域
内联图像嵌入
两者 take_screenshot 和 capture_region 现在内联返回实际的PNG图像(作为模型上下文协议 image 当文件大小低于嵌入阈值时。
响应内容顺序(嵌入成功):
{ type: "image", mimeType: "image/png", data: "<base64>" }{ type: "text", text: "Screenshot successfully taken and saved to: /abs/path.png (embedded inline, 842 KB)" }
如果图像超过阈值,则只返回一个文本项,包括注释:
Screenshot successfully taken and saved to: /abs/path.png (not embedded; 2100 KB exceeds 1000 KB limit)
大小阈值
- 默认值:1000000字节(约1MB)
- 每次通话覆盖
inlineMaxBytes - 通过环境变量进行全局覆盖
MCP_SCREENSHOT_EMBED_MAX_BYTES - 如果
returnData: true设置后,行为是相同的,除了它明确选择尝试嵌入(仍受大小阈值的约束)。
参数
take_screenshot 额外字段:
returnData?: boolean-请求嵌入(即使为false,小的时候也会自动嵌入)inlineMaxBytes?: number–每个呼叫字节阈值覆盖
capture_region 额外字段:
returnData?: booleaninlineMaxBytes?: number
备注
- 向后兼容性:现有客户端解析文本行仍然有效;文本项保留相同的前导短语
Screenshot successfully taken and saved to:/Region screenshot successfully captured and saved to:. - 图像base64数据没有前缀数据URI;它是每个MCP的原始base64
image内容规范。 - 大图像不会被两次读入内存;嵌入时只读取一次文件。
- 压缩(
compress: true)是最好的努力;它可能不会减小足够的大小(或根本不会)以进行嵌入。大小门始终使用任何压缩后的最终文件大小。
带有覆盖的请求示例
{
"name": "take_screenshot",
"arguments": {
"appName": "Visual Studio Code",
"compress": true,
"inlineMaxBytes": 1500000
}
}
示例
{
"name": "take_screenshot",
"arguments": {
"appName": "Visual Studio Code",
"compress": true
}
}
发展
bun run dev # Development server with hot reload
bun test # Run tests
bun run qa # Run all quality checks
演出
- 冷启动:约74毫秒
- 平行截图:比顺序快1.9倍
- 二进制大小:120MB通用二进制文件(英特尔+苹果硅)
- 压缩:可选PNG优化(~50-100ms开销)
平台支持
- macOS: ✅ 完全支持(英特尔和苹果硅)
- Linux: 🚧 规划(Wayland/X11)
- 视窗: 🚧 计划中(PowerShell/Win32)
特性
- 采用丁腈橡胶制造,性能快速
- 通用二进制支持Intel和Apple Silicon Mac
- 自包含的可执行文件(不需要依赖项)
- 多种截图工具和捕获策略
- 具有类型安全功能的综合测试套件
项目结构
screenshot_mcp/
├── src/
│ ├── index.ts # Main MCP server
│ └── index.test.ts # Test suite
├── src/winshot.ts # Pure TypeScript screenshot implementation (replaces prior shell script)
├── dist/ # Built binaries
└── package.json # Build scripts
许可证
麻省理工学院
