关于 Capture Screen MCP
Capture Screen MCP 是面向 Windows 的本地 MCP 服务,可捕获显示器、桌面区域和活动窗口,也可删除已保存的截图。适用于需要屏幕图像及截图文件管理工具的 MCP 客户端。
主要功能
- 01列出已连接的显示器
- 02捕获桌面、显示器、区域或活动窗口
- 03将截图保存为 PNG 文件
- 04按日期范围或批量删除截图
- 05可选择临时隐藏重叠的 Windows Terminal 窗口
适用场景
- 01为 MCP 客户端捕获指定显示器
- 02保存活动窗口或区域截图
- 03按日期清理或批量清理截图
MCP 相关
该服务在本地通过 stdio 运行,向 MCP 客户端提供显示器查询、屏幕捕获和截图删除工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
CaptureScreenMCP
面向 Windows 的本地运行型 MCP 服务(stdio transport)。
以 C# / .NET 10 .NET tool 的形式发布到 NuGet.org,提供屏幕捕获和删除捕获图像的工具。
- NuGet:CaptureScreenMcp
- MCP Registry 名称:
io.github.ochtum/capture-screen - NuGet 包 ID:
CaptureScreenMcp - 工具命令:
capture-screen-mcp
功能
- 获取已连接显示器的信息
- 捕获整个桌面、指定显示器、指定区域或活动窗口,并保存为 PNG
- 批量删除输出目录中的捕获图像
- 按日期/日期时间范围删除捕获图像
- 执行
capture_screen/capture_display/capture_region时,临时隐藏与捕获区域重叠的Windows Terminal(默认启用)
可用工具
list_displays()capture_screen(outputPath?: string)capture_display(display?: int | string, outputPath?: string)capture_region(x: int, y: int, width: int, height: int, outputPath?: string)capture_active_window(outputPath?: string)delete_all_capture_images()delete_capture_images_by_datetime(targetDate?: string, startDatetime?: string, endDatetime?: string)
必要环境
- Windows
- .NET 10 SDK
- 从 NuGet 启动 MCP 服务时使用
dnx。 - 开发期间从源代码启动时使用
dotnet run。
- 从 NuGet 启动 MCP 服务时使用
环境变量
CAPTURE_SCREEN_DEFAULT_DISPLAY- 省略
capture_display中的display参数时使用的默认值 - 示例:
primary、left、right、プライマリ、左、右、2
- 省略
CAPTURE_SCREEN_OUTPUT_DIR- 保存目录(默认:
C:\capture_screen)
- 保存目录(默认:
CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL1/true/on表示启用,0/false/off表示禁用- 默认启用
从 NuGet 使用
通过 MCP 客户端启动 NuGet.org 上已发布的包时,使用 dnx 运行 CaptureScreenMcp。
{
"servers": {
"capture-screen": {
"type": "stdio",
"command": "dnx",
"args": ["[email protected]", "--yes"],
"env": {
"CAPTURE_SCREEN_OUTPUT_DIR": "C:\\capture_screen",
"CAPTURE_SCREEN_DEFAULT_DISPLAY": "primary",
"CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL": "1"
}
}
}
}
也可以将其作为常规 .NET tool 安装并启动。
dotnet tool install --global CaptureScreenMcp --version 1.0.5
capture-screen-mcp
从源代码进行开发运行
构建
dotnet restore
dotnet build
启动 MCP 服务(stdio)
dotnet run --project src
以下是开发期间直接引用源代码树时的连接配置示例。
{
"servers": {
"capture-screen": {
"type": "stdio",
"command": "dotnet",
"args": ["run", "--project", "src"],
"env": {
"CAPTURE_SCREEN_OUTPUT_DIR": "C:\\capture_screen",
"CAPTURE_SCREEN_DEFAULT_DISPLAY": "primary",
"CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL": "1"
}
}
}
}
发布步骤
发布到 NuGet.org
- 更新
src/CaptureScreenMcp.csproj中的<Version>。 - 将
.mcp/server.json顶层的version和packages[0].version更新为相同版本。 dotnet pack src/CaptureScreenMcp.csproj -c Releasedotnet nuget push src/bin/Release/*.nupkg --api-key <NUGET_API_KEY> --source https://api.nuget.org/v3/index.json
此包会被识别为 NuGet MCP 服务,因此包含以下内容:
.mcp/server.jsonREADME.md中的 `` 注释PackageIcon指定的icon.pngMcpServerpackage type- .NET tool 设置(
PackAsTool/ToolCommandName)
发布到 MCP Registry
仅发布到 NuGet.org 不会自动将其列入 registry.modelcontextprotocol.io。
NuGet.org 的包验证完成后,使用 MCP Publisher 发布 .mcp/server.json。
mcp-publisher login github
mcp-publisher publish .mcp/server.json
server.json 中的 name 必须与 NuGet 包内 README.md 的 mcp-name 一致。
此外,packages[0].version 必须指向 mcp-name 匹配的 NuGet 包版本。
权限与注意事项
- 本服务为本地运行型服务,以与 MCP 客户端相同的用户权限运行。
- 屏幕捕获结果会保存为本地文件。请注意画面中可能包含机密信息。
- 图像删除工具会删除
CAPTURE_SCREEN_OUTPUT_DIR目录下的图像文件。 - 此实现仅适用于 Windows。在 Windows 以外的系统上运行会报错。
清单
- 开发运行用:
server.json - NuGet MCP 发布用:
.mcp/server.json
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。