CaptureScreenMcp 1.0.5
{ "inputs": [ { "type": "promptString", "id": "CAPTURE_SCREEN_DEFAULT_DISPLAY", "description": "Default display selector when capture_display display argument is omitted." }, { "type": "promptString", "id": "CAPTURE_SCREEN_OUTPUT_DIR", "description": "Default output directory for PNG captures. Default is C:\\capture_screen." }, { "type": "promptString", "id": "CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL", "description": "Set 0/false/off to disable temporary hiding of overlapping Windows Terminal windows during capture." } ], "servers": { "capturescreenmcp": { "type": "stdio", "command": "dnx", "args": ["capturescreenmcp@1.0.5", "--yes"], "env": { "CAPTURE_SCREEN_DEFAULT_DISPLAY": "${input:CAPTURE_SCREEN_DEFAULT_DISPLAY}", "CAPTURE_SCREEN_OUTPUT_DIR": "${input:CAPTURE_SCREEN_OUTPUT_DIR}", "CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL": "${input:CAPTURE_SCREEN_HIDE_FOREGROUND_WINDOWS_TERMINAL}" } } } }
.vscode/mcp.json settings file.
dotnet tool install --global CaptureScreenMcp --version 1.0.5
dotnet new tool-manifest
dotnet tool install --local CaptureScreenMcp --version 1.0.5
#tool dotnet:?package=CaptureScreenMcp&version=1.0.5
nuke :add-package CaptureScreenMcp --version 1.0.5
<p align="left"> <a href="README_en.md"><img src="https://img.shields.io/badge/English Mode-blue.svg" alt="English"></a> <a href="README.md"><img src="https://img.shields.io/badge/日本語 モード-red.svg" alt="日本語"></a> </p>
CaptureScreenMCP
Windows 向けのローカル実行型 MCP サーバーです(stdio transport)。
C# / .NET 10 の .NET tool として NuGet.org に公開しており、画面キャプチャとキャプチャ画像削除ツールを提供します。
- NuGet: CaptureScreenMcp
- MCP Registry name:
io.github.ochtum/capture-screen - NuGet package ID:
CaptureScreenMcp - Tool command:
capture-screen-mcp
何ができるか
- 接続ディスプレイ情報の取得
- デスクトップ全体、指定ディスプレイ、指定領域、アクティブウィンドウの PNG キャプチャ
- 出力先ディレクトリ内のキャプチャ画像一括削除
- 日付/日時範囲でのキャプチャ画像削除
capture_screen/capture_display/capture_region実行時に、撮影領域に重なったWindows Terminalを一時的に非表示化(既定で有効)
利用可能な Tools
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_DISPLAYcapture_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 から利用する
NuGet.org の公開済みパッケージを MCP クライアントから起動する場合は、dnx で CaptureScreenMcp を実行します。
{
"servers": {
"capture-screen": {
"type": "stdio",
"command": "dnx",
"args": ["CaptureScreenMcp@1.0.5", "--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
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.