eyes-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| EYES_MAX_SIDE_PX | No | Longest side after downscale (token-cost guard). | 1920 |
| EYES_TTL_SECONDS | No | Seconds before a capture is swept from disk. | 60 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| capture_monitorA | Screenshot a full monitor. If |
| capture_active_windowA | Screenshot the currently focused window (uses hyprctl activewindow geometry). |
| capture_windowA | Screenshot a window matching a class or title substring (case-insensitive). Picks the largest match if multiple. |
| capture_regionC | Screenshot an arbitrary rectangle in global compositor coords. |
| list_monitorsA | List available monitors (name, position, size, focused flag). |
| list_windowsA | List open windows with class, title, and geometry. |
| list_capturesA | List captures still alive in the current session (within TTL). |
| cleanup_capturesA | Immediately delete all session captures (does not stop the TTL sweeper). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 8 tools
The four capture tools target distinct scopes (monitor, active window, matched window, arbitrary region), and the list tools cover distinct resources (windows, monitors, captures). capture_active_window vs capture_window could be briefly confused since both capture a window, but descriptions clarify the difference (focused vs class/title match).
All names follow a clean verb_noun snake_case pattern: capture_* for screenshots, list_* for enumeration, cleanup_* for deletion. The convention is applied uniformly with no deviations.
Eight tools is well-scoped for a screen-capture utility, with each tool earning its place across capture targets, discovery, and session cleanup. No redundant or filler tools.
The surface covers capture across monitor/window/region plus discovery (list_windows, list_monitors) and lifecycle management (list_captures, cleanup_captures), which is strong. Minor gaps like delayed/timed capture or annotation are absent but not essential to the core workflow.