mcpField
C
Capture Screen MCP

Capture Screen MCP

本地服务
github.com/ochtum媒体与设计328 周前更新

关于 Capture Screen MCP

Capture Screen MCP 是面向 Windows 的本地 MCP 服务,可捕获显示器、桌面区域和活动窗口,也可删除已保存的截图。适用于需要屏幕图像及截图文件管理工具的 MCP 客户端。

主要功能

  1. 01列出已连接的显示器
  2. 02捕获桌面、显示器、区域或活动窗口
  3. 03将截图保存为 PNG 文件
  4. 04按日期范围或批量删除截图
  5. 05可选择临时隐藏重叠的 Windows Terminal 窗口

适用场景

  1. 01为 MCP 客户端捕获指定显示器
  2. 02保存活动窗口或区域截图
  3. 03按日期清理或批量清理截图

MCP 相关

该服务在本地通过 stdio 运行,向 MCP 客户端提供显示器查询、屏幕捕获和截图删除工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
nugetCaptureScreenMcp1.0.5

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

英语 日语

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。

环境变量

  • CAPTURE_SCREEN_DEFAULT_DISPLAY
    • 省略 capture_display 中的 display 参数时使用的默认值
    • 示例:primary、left、right、プライマリ、左、右、2
  • CAPTURE_SCREEN_OUTPUT_DIR
    • 保存目录(默认:C:\capture_screen)
  • CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL
    • 1/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
  1. 更新 src/CaptureScreenMcp.csproj 中的 <Version>。
  2. 将 .mcp/server.json 顶层的 version 和 packages[0].version 更新为相同版本。
  3. dotnet pack src/CaptureScreenMcp.csproj -c Release
  4. dotnet nuget push src/bin/Release/*.nupkg --api-key <NUGET_API_KEY> --source https://api.nuget.org/v3/index.json

此包会被识别为 NuGet MCP 服务,因此包含以下内容:

  • .mcp/server.json
  • README.md 中的 `` 注释
  • PackageIcon 指定的 icon.png
  • McpServer package 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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。