Skip to main content
Glama

Peekaboo MCP

by steipete

image

Capture macOS screen content, target specific app windows or entire screens, and output as files or Base64 data. Optionally analyze images using AI models for insights.

Instructions

Captures macOS screen content and optionally analyzes it. Targets can be entire screen, specific app window, or all windows of an app (via app_target). Supports foreground/background capture. Output via file path or inline Base64 data (format: "data"). If a question is provided, image is analyzed by an AI model (auto-selected from PEEKABOO_AI_PROVIDERS). Window shadows/frames excluded. Peekaboo MCP 1.1.0 using openai/gpt-4-vision, anthropic/claude-3-opus, google/gemini-pro-vision

Input Schema

NameRequiredDescriptionDefault
app_targetNoOptional. Specifies the capture target. For example: Omit or use an empty string (e.g., `''`) for all screens. Use `'screen:INDEX'` (e.g., `'screen:0'`) for a specific display. Use `'frontmost'` for all windows of the current foreground application. Use `'AppName'` (e.g., `'Safari'`) for all windows of that application. Use `'PID:PROCESS_ID'` (e.g., `'PID:663'`) to target a specific process by its PID. Use `'AppName:WINDOW_TITLE:Title'` (e.g., `'TextEdit:WINDOW_TITLE:My Notes'`) for a window of 'AppName' matching that title. Use `'AppName:WINDOW_INDEX:Index'` (e.g., `'Preview:WINDOW_INDEX:0'`) for a window of 'AppName' at that index. Ensure components are correctly colon-separated.
capture_focusNoOptional. Focus behavior. 'auto' (default): bring target to front only if not already active. 'background': capture without altering window focus. 'foreground': always bring target to front before capture.auto
formatYesOptional. Output format. Can be `'png'`, `'jpg'`, `'jpeg'` (alias for jpg), or `'data'`. Format is case-insensitive (e.g., 'PNG', 'Png', 'png' are all valid). If `'png'` or `'jpg'`, saves the image to the specified `path`. If `'data'`, returns Base64 encoded PNG data inline in the response. If `path` is also provided when `format` is `'data'`, the image is saved (as PNG) AND Base64 data is returned. Defaults to `'data'` if `path` is not given. Invalid format values automatically fall back to 'png'.
pathYesOptional. Base absolute path for saving the image. Relevant if `format` is `'png'`, `'jpg'`, or if `'data'` is used with the intention to also save the file. If a `question` is provided and `path` is omitted, a temporary path is used for image capture, and this temporary file is deleted after analysis.
questionNoOptional. If provided, the captured image will be analyzed by an AI model. The server automatically selects an AI provider from the `PEEKABOO_AI_PROVIDERS` environment variable. The analysis result (text) is included in the response.

Input Schema (JSON Schema)

{ "description": "Captures screen content and optionally analyzes it. Targets entire screens, specific app windows, or all windows of an app (via `app_target`). Supports foreground/background capture. Output to file path or inline Base64 data (`format: \"data\"`). If a `question` is provided, an AI model analyzes the image. Window shadows/frames excluded.", "properties": { "app_target": { "description": "Optional. Specifies the capture target.\nFor example:\nOmit or use an empty string (e.g., `''`) for all screens.\nUse `'screen:INDEX'` (e.g., `'screen:0'`) for a specific display.\nUse `'frontmost'` for all windows of the current foreground application.\nUse `'AppName'` (e.g., `'Safari'`) for all windows of that application.\nUse `'PID:PROCESS_ID'` (e.g., `'PID:663'`) to target a specific process by its PID.\nUse `'AppName:WINDOW_TITLE:Title'` (e.g., `'TextEdit:WINDOW_TITLE:My Notes'`) for a window of 'AppName' matching that title.\nUse `'AppName:WINDOW_INDEX:Index'` (e.g., `'Preview:WINDOW_INDEX:0'`) for a window of 'AppName' at that index.\nEnsure components are correctly colon-separated.", "type": "string" }, "capture_focus": { "default": "auto", "description": "Optional. Focus behavior. 'auto' (default): bring target to front only if not already active. 'background': capture without altering window focus. 'foreground': always bring target to front before capture.", "enum": [ "background", "auto", "foreground" ], "type": "string" }, "format": { "description": "Optional. Output format.\nCan be `'png'`, `'jpg'`, `'jpeg'` (alias for jpg), or `'data'`.\nFormat is case-insensitive (e.g., 'PNG', 'Png', 'png' are all valid).\nIf `'png'` or `'jpg'`, saves the image to the specified `path`.\nIf `'data'`, returns Base64 encoded PNG data inline in the response.\nIf `path` is also provided when `format` is `'data'`, the image is saved (as PNG) AND Base64 data is returned.\nDefaults to `'data'` if `path` is not given.\nInvalid format values automatically fall back to 'png'.", "enum": [ "png", "jpg", "data" ], "type": "string" }, "path": { "description": "Optional. Base absolute path for saving the image.\nRelevant if `format` is `'png'`, `'jpg'`, or if `'data'` is used with the intention to also save the file.\nIf a `question` is provided and `path` is omitted, a temporary path is used for image capture, and this temporary file is deleted after analysis.", "type": "string" }, "question": { "description": "Optional. If provided, the captured image will be analyzed by an AI model.\nThe server automatically selects an AI provider from the `PEEKABOO_AI_PROVIDERS` environment variable.\nThe analysis result (text) is included in the response.", "type": "string" } }, "required": [ "path", "format" ], "type": "object" }
Install Server

Other Tools from Peekaboo MCP

Related Tools

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/steipete/Peekaboo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server