多屏截图服务

轻量级MCP服务器,用于快速捕获所有可用显示器的截图并自动压缩,支持多平台和WSL环境。

  • by Kirchlive
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Kirchlive/getscreen_mcp

使用说明

GetScreen MCP服务器

一个轻量级的模型上下文协议(MCP)服务器,用于快速捕获所有可用监视器的屏幕截图,并自动压缩。

特性

  • 多显示器支持:自动捕获所有连接的显示器
  • WSL支持:通过PowerShell集成在Windows WSL中无缝工作
  • 快速压缩:利用Sharp实现最佳JPEG压缩
  • 简单集成:带可选参数的单个工具
  • 轻量级:相关性最小,性能最高
  • 交叉平台的:Linux、macOS和Windows(包括WSL)

新功能

增强WSL支持

WSL支持已通过自动检测和PowerShell集成得到改进。无论您使用 wsl 命令方法或更简单的基于节点的直接执行方法。

主要特点:

  • 通过以下方式自动检测WSL /proc/version 环境检查
  • 无缝集成PowerShell以捕获Windows主机显示
  • 支持直接节点执行和WSL命令包装器
  • WSL环境检测无需额外配置

工作原理: 在WSL中运行时,该工具会自动检测环境,并利用Windows主机上的PowerShell捕获屏幕截图。这种方法确保从Windows端访问所有显示信息,同时保持与基于WSL的工具的完全兼容性。

安装

git clone https://github.com/Kirchlive/getscreen_mcp.git
cd getscreen_mcp
npm install
npm run build

配置

克劳德代码

将以下内容添加到您的Claude配置中:

macOS: ~/Users/USERNAME/.claude.json 视窗: C:\Users\USERNAME\.claude.json Linux/WSL: ~/home/USERNAME/.claude.json

{
  "mcpServers": {
    "getscreen": {
      "command": "node",
      "args": ["/ABSOLUT/PATH/TO/getscreen_mcp/build/index.js"]
    }
  }
}

用法

屏幕截图工具

这 screenshot 该工具捕获所有可用的监视器并返回压缩图像。

参数 (全部可选):

  • quality (数字,1-100):JPEG质量。默认值:80
  • maxWidth (数字):最大宽度(像素)。图像按比例调整大小。

例子:

Take a screenshot
Take a screenshot with high quality (quality: 95)
Take a screenshot and resize it to max. 1920px width (maxWidth: 1920)

技术细节

平台检测

该工具会自动检测环境并选择最佳方法:

  • WSL:通过在Windows主机上使用PowerShell powershell.exe
  • Linux/macOS:用途 screenshot-desktop 用于本地捕获

组件

  • WSL捕捉:PowerShell系统。窗户。形式和系统。绘图
  • 本地捕获: screenshot-desktop 适用于Linux/macOS
  • 压缩: sharp 用于快速图像处理和JPEG压缩
  • 格式:图像以base64编码的JPEG格式返回
  • 演出:并行捕获所有监视器以获得最大速度

WSL实施

在WSL环境中:

  1. 通过检测 /proc/version (检查“microsoft”或“WSL”)
  2. PowerShell脚本在Windows主机上执行
  3. 所有监视器均通过以下方式捕获 System.Windows.Forms.Screen::AllScreens
  4. 截图以PNG格式捕获,然后压缩为具有所需质量的JPEG
  5. Base64编码传输回WSL

许可证

麻省理工学院