Screeny

Screeny

Privacy-first macOS MCP server that provides visual context for AI agents through window screenshots

8
Stars
1
Forks
0
Releases

Overview

Screeny is a privacy-first, macOS-only MCP server that enables AI agents to obtain visual context by capturing screenshots of pre-approved application windows. It enforces Screen Capture permission and a Window Approval setup so only user-approved windows can be captured, in the background, without changing window focus. All processing stays on the local machine and there are no external connections, with screenshots deleted after use. The server exposes two MCP tools: listWindows, which lists only user-approved windows, and takeScreenshot, which captures a screenshot of a window by its ID and returns a full-pixel JPEG image with a base64 payload. By default the base64 cap is Medium (250KB) and can be configured and clamped to 100–900KB. Users can choose presets Tiny, Small, Medium, Large, or XL during setup, stored in ~/.screeny/config.json as max_b64_kb, with an optional SCREENY_MAX_B64_KB environment variable. Approvals are saved to ~/.screeny/approved_windows.json, and you can re-run setup to update the list. A screeny://info endpoint provides server information, and the README shows integration examples for MCP clients like Claude Desktop and Cursor.

Details

Owner
rohanrav
Language
Python
License
MIT License
Updated
2025-12-07

Features

listWindows

Lists all approved application windows available for screenshot capture; only shows user-approved windows.

takeScreenshot

Captures a screenshot of a specific window by ID; runs in the background; returns full pixel data as JPEG with a configurable base64 payload cap (default Medium/250KB; 100–900KB range).

Window Approval System

Explicit user approvals for windows; approvals saved to ~/.screeny/approved_windows.json; interactive setup or auto-approve-all option.

Privacy-first, Local Processing

All processing stays on-device; no external connections; screenshots are temporary and deleted immediately after use.

Configurable Screenshot Presets

Advanced option to configure preset size (Tiny/Small/Medium/Large/XL); saved as max_b64_kb in ~/.screeny/config.json; clamped to 100–900KB; override via SCREENY_MAX_B64_KB.

Server Information Endpoint

screeny://info endpoint provides server information and configuration details.

MCP Client Integration Examples

README provides MCP client integration examples (e.g., Claude Desktop and Cursor) to configure and run Screeny with common MCP runtimes.

Audience

AI agentsProvide privacy-preserving visual context for AI agents by supplying pre-approved macOS window screenshots.

Tags

privacymacOSscreenshotswindow-approvalMCPserverlocal-processingJPEG