Provides tools for capturing screenshots of displays and windows, recording window activity, and listing available displays and windows on macOS systems.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Screenshot MCP (macOS)take a screenshot of my main display"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Screenshot MCP (macOS)
Minimal MCP server for macOS screenshots with a Swift CLI backend. Supports:
display screenshots
window screenshots
window recording (duration or start/stop)
listing displays/windows
Requirements
macOS 12+ (CoreGraphics APIs)
Swift (Xcode CLI tools)
Node.js 18+
Screen Recording permission granted to the terminal or host app
Quickstart
npm install
swift build
node server.jsSwiftUI UI (no Xcode)
swift build
swift run screenshot_mcp_appDebug logs
The SwiftUI app writes logs to ~/Documents/screenshot_mcp/debug.log by default.
MCP Tools
list_displayslist_windowsscreenshot_display{ display_id, output_path? }screenshot_window{ window_id, output_path? }record_window_duration{ window_id, duration_seconds, fps?, system_audio?, output_path? }record_window_start{ window_id, fps?, system_audio?, output_path? }record_window_stop{ recording_id }
CLI Usage
swift run screenshot_mcp list-displays
swift run screenshot_mcp list-windows
swift run screenshot_mcp screenshot-display <display_id> ./captures/display.png
swift run screenshot_mcp screenshot-window <window_id> ./captures/window.png
swift run screenshot_mcp record-window-duration <window_id> ./captures/window.mp4 5 10 true
swift run screenshot_mcp record-window-start <window_id> ./captures/window.mp4 10 true
# stop with Ctrl+C or SIGINTConfiguration
SCREENSHOT_MCP_BIN: path to the compiled Swift binarySCREENSHOT_MCP_OUTPUT_DIR: default output directory for screenshots
Notes
The Swift CLI uses
CGDisplayCreateImageandCGWindowListCreateImage.Window recording samples window frames (default 10 fps) and writes MP4 via
AVAssetWriter.System audio capture requires macOS 13+ and records all system audio, not just the window.
If screenshots are blank, ensure Screen Recording permission is granted.
License
MIT