# Marey [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/anilyesilkaya/marey  
**GitHub Stars:** 1  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/marey

## Description
Give AI agents eyes for motion: see what changed on screen, not just how it looks.

## Tools
Capabilities this server exposes over MCP:

- **record** — Records the screen for a **fixed duration** and returns a timestamped contact sheet
- **start_recording** — Begins an **open-ended** recording the user controls
- **stop_recording** — Stops the open-ended recording and returns the contact sheet
- **capture** — Captures a single screenshot
- **get_frame** — Returns one frame from a recording at **full resolution
- **list_windows** — Lists window IDs, titles, bounds, and hidden state
- **observe** — Records until the user finishes through the local control page
- **replay** — Keeps a rolling buffer and returns clips around user markers
- **status** — Reports recording state
- **get_frames** — Returns a contact sheet for a time range, with optional crop

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "marey": {
    "command": "npx",
    "args": ["-y","@anilyesilkaya/marey"]
  }
}
```

## Documentation

## What the Marey MCP server does

The Marey MCP server gives an AI agent a way to inspect changes on a screen over time. Instead of returning only a current screenshot or asking the agent to interpret a video, it captures a sequence of frames and composes them into a timestamped contact sheet. The returned image lets the agent compare states such as before an interaction, during a transition, and after a layout change.

The server is suited to visual debugging. Examples supported by the project include controls that jump during dragging, menus that open and close unexpectedly, canvases that update in the wrong order, and animations that stutter. Individual frames remain available at their original resolution when the contact sheet is not detailed enough.

## How it works

An MCP client requests a capture or recording. Marey samples the selected screen area at a target frame rate, numbers and timestamps the frames, builds a contact sheet, and returns that image as MCP image content. The response also includes capture metadata and paths to the saved full-resolution frames.

Fixed-duration work uses `record`, while interactions whose timing is controlled by a person can use `start_recording` followed by `stop_recording`. The `observe` workflow records until the user finishes through a local control page. `replay` maintains a rolling buffer and produces clips around user markers. Only one recording can be active at a time, and an unattended open-ended recording is subject to a safety cap.

## Setup and configuration

The README shows a direct installation command:

```bash
claude mcp add marey -- npx -y @anilyesilkaya/marey
```

Marey is distributed for execution through `npx`, with no runtime dependencies and no repository clone required according to the README. Capture settings can select the primary display, a virtual display, or a window. Window capture can use an exact native window ID from `list_windows` or a visible title substring; a relative rectangle can further limit the source area.

Recordings accept a target frame rate, an optional start delay, and presentation settings. The `detail` choices are `overview`, `high`, and `max`; callers can instead set contact-sheet columns and thumbnail width directly. Capturing a smaller window can preserve more readable detail than shrinking an entire desktop into a sheet.

## Tools and capabilities

The Marey MCP server exposes ten tools:

- `record` captures for a specified duration and returns a timestamped contact sheet.
- `start_recording` and `stop_recording` bracket a recording controlled by the user.
- `capture` takes one screenshot using the same region-selection behavior.
- `get_frame` returns one saved frame at full resolution.
- `get_frames` creates a contact sheet for a time range and can apply a crop.
- `list_windows` reports window IDs, titles, bounds, and hidden state.
- `observe` records through the local control-page workflow.
- `replay` returns clips around markers from a rolling buffer.
- `status` reports the current recording state.

Raw frames are stored locally under capture directories, and recording responses identify the frame paths. A client without filesystem access can still request a selected frame through `get_frame`, because the frame is returned over MCP.

## Limitations and notes

A contact sheet divides its available image area among its columns, so adding more thumbnail width alone does not guarantee readable text. The README recommends fewer columns, a narrower capture region, or opening an original frame when fine detail matters. The achieved frame rate and any gaps are reported rather than assumed to match the requested rate.

The server captures screen content, so it is intended for visual interaction analysis rather than DOM or application-state inspection. The README's browser demonstration requires Chrome, Chromium, or Edge and allows `CHROME_BIN` to specify the browser path; that requirement applies to the demonstration workflow described there.

_Full upstream README: https://allmcps.com/mcp/marey/readme_

