Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Let AI agents record the Windows screen, watch it as frames, and edit it with ffmpeg
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
SCREENCAST_HOME, SCREENCAST_ALLOWED_DIRS, FFMPEG_PATH, FFPROBE_PATH, SCREENCAST_WHISPER_MODEL, SCREENCAST_MAX_RECORDING_SEC, SCREENCAST_JOB_TIMEOUT_MS, SCREENCAST_RETENTION_DAYS, SCREENCAST_PS_TIMEOUT_MS, SCREENCAST_CONFIRM_CAPTURE, SCREENCAST_TOOLSETSNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"screencast": {
"command": "npx",
"args": [
"-y",
"@tmhs/screencast-mcp"
],
"env": {
"SCREENCAST_HOME": "your-value",
"SCREENCAST_ALLOWED_DIRS": "your-value",
"FFMPEG_PATH": "your-value",
"FFPROBE_PATH": "your-value",
"SCREENCAST_WHISPER_MODEL": "your-value",
"SCREENCAST_MAX_RECORDING_SEC": "your-value",
"SCREENCAST_JOB_TIMEOUT_MS": "your-value",
"SCREENCAST_RETENTION_DAYS": "your-value",
"SCREENCAST_PS_TIMEOUT_MS": "your-value",
"SCREENCAST_CONFIRM_CAPTURE": "your-value",
"SCREENCAST_TOOLSETS": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add screencast --env SCREENCAST_HOME=your-value --env SCREENCAST_ALLOWED_DIRS=your-value --env FFMPEG_PATH=your-value --env FFPROBE_PATH=your-value --env SCREENCAST_WHISPER_MODEL=your-value --env SCREENCAST_MAX_RECORDING_SEC=your-value --env SCREENCAST_JOB_TIMEOUT_MS=your-value --env SCREENCAST_RETENTION_DAYS=your-value --env SCREENCAST_PS_TIMEOUT_MS=your-value --env SCREENCAST_CONFIRM_CAPTURE=your-value --env SCREENCAST_TOOLSETS=your-value -- npx -y @tmhs/screencast-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"screencast": {
"command": "npx",
"args": [
"-y",
"@tmhs/screencast-mcp"
],
"env": {
"SCREENCAST_HOME": "your-value",
"SCREENCAST_ALLOWED_DIRS": "your-value",
"FFMPEG_PATH": "your-value",
"FFPROBE_PATH": "your-value",
"SCREENCAST_WHISPER_MODEL": "your-value",
"SCREENCAST_MAX_RECORDING_SEC": "your-value",
"SCREENCAST_JOB_TIMEOUT_MS": "your-value",
"SCREENCAST_RETENTION_DAYS": "your-value",
"SCREENCAST_PS_TIMEOUT_MS": "your-value",
"SCREENCAST_CONFIRM_CAPTURE": "your-value",
"SCREENCAST_TOOLSETS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"screencast": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@tmhs/screencast-mcp"
],
"env": {
"SCREENCAST_HOME": "your-value",
"SCREENCAST_ALLOWED_DIRS": "your-value",
"FFMPEG_PATH": "your-value",
"FFPROBE_PATH": "your-value",
"SCREENCAST_WHISPER_MODEL": "your-value",
"SCREENCAST_MAX_RECORDING_SEC": "your-value",
"SCREENCAST_JOB_TIMEOUT_MS": "your-value",
"SCREENCAST_RETENTION_DAYS": "your-value",
"SCREENCAST_PS_TIMEOUT_MS": "your-value",
"SCREENCAST_CONFIRM_CAPTURE": "your-value",
"SCREENCAST_TOOLSETS": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
SCREENCAST_HOME envSCREENCAST_ALLOWED_DIRS envFFMPEG_PATH envFFPROBE_PATH envSCREENCAST_WHISPER_MODEL envSCREENCAST_MAX_RECORDING_SEC envSCREENCAST_JOB_TIMEOUT_MS envSCREENCAST_RETENTION_DAYS envSCREENCAST_PS_TIMEOUT_MS envSCREENCAST_CONFIRM_CAPTURE envSCREENCAST_TOOLSETS envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub TMHSDigital, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.48.0) llegó al registro hace 6 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Tools MCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Web production tools for AI agents: contrast, JP text, WebP, JSON-LD, slugs, dates and 40+ more
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
An MCP server that lets an agent record the screen, _watch_ the footage, and make minimal ffmpeg edits — over stdio, on Windows.
Capture the desktop, a monitor, a window, or a region; sample a recording into frames the agent can actually look at; trim, crop, redact, annotate, zoom toward clicks, and export for GitHub or social. No cloud service, no telemetry: ffmpeg and ffprobe behind 58 typed tools.
For developers who want their coding agent to see and prove UI changes on Windows: bug repros, UI verification, and demo clips the agent records, checks, and edits itself. Capture is Windows-only; the watch and edit tools work on any OS with ffmpeg. Free for non-commercial use (CC BY-NC-ND 4.0); why not OBS, Playwright, or a screenshot MCP?
Made with the tool: start_recording with events: true , one click, then zoom { highlightClicks: true } and export_gif . How it was made · more workflows
Quick start · Tools · Configuration · More docs · Privacy
The fastest path: npx -y @tmhs/screencast-mcp setup checks FFmpeg 8, OCR, and speech, offers winget install Gyan.FFmpeg when FFmpeg is missing, and adds the server to Claude Desktop, Claude Code, Cursor, and VS Code (backing up each config). --dry-run shows the changes first; --test records a 3-second GIF to prove it works. Or set it up by hand:
You need Windows 10 or 11, Node.js 22+, and FFmpeg 8 or newer on PATH (winget install Gyan.FFmpeg, the full build). Older builds run most tools, but transcribe (the whisper filter) and backend: "wgc" (gfxcapture) need FFmpeg 8, and essentials or distro builds can lack them (Ubuntu LTS apt install ffmpeg gives 6.x). Capture is Windows-only; the watch, edit, and produce tools work anywhere ffmpeg runs. After connecting, ask the agent to run doctor: it reports the ffmpeg version, the filters and devices it has, OCR, and anything missing.
Add it to your client:
| Client | How |
|---|---|
| Claude Code | claude mcp add screencast -- cmd /c npx -y @tmhs/screencast-mcp, or the plugin (the server plus bug-repro, README-demo, and UI-verify skills): /plugin install screencast --marketplace TMHSDigital/screencast-mcp (older Claude Code: /plugin marketplace add TMHSDigital/screencast-mcp, then /plugin install screencast@screencast-mcp) |
| Claude Desktop | Download screencast-mcp.mcpb from the latest release and open it (one click) |
| Cursor, VS Code, others | The JSON config below, or step-by-step on Connect your client |
{ "mcpServers": { "screencast": { "command": "npx", "args": ["-y", "@tmhs/screencast-mcp"] } } }
Then ask your agent:
Record my VS Code window for five seconds while I reproduce the bug, then show me the frames where something changed.
More in the workflows: a bug-repro GIF for a PR, a README demo, a UI verification loop, a social clip, a cheap review of a long recording, zoom toward clicks, and the whole edit in one call.
The core is the watch loop: the agent records, samples the footage into frames it can see, and checks what actually happened on screen. Capture only ever happens on an explicit tool call, and output lands under SCREENCAST_HOME, never in your checkout.
| Instead of | The difference |
|---|---|
| OBS, ShareX, Game Bar | Built for a person at the controls. Here the agent starts and stops the recording, looks at the frames, and makes the edits through typed tools, with no GUI step. |
| Playwright or Puppeteer video | Browser pages only, and the video is a file the model never sees. Here: any window or monitor, frames returned to the model, plus wait_for_change, find_text, and screen_diff for checking what happened. |
| A screenshot-only MCP server | Single stills. Here: video over time, an input event log, scene-change sampling, redaction, and export, so the agent can show a sequence, not one moment. |
58 tools in 6 toolsets, generated from the server's own schemas by npm run docs (do not edit between the markers). Each name links to its reference page with every parameter, an example call, and what it returns; mcp-tools.json is the same list as JSON, and llms-full.txt all of it in one file.
Always loaded, whatever SCREENCAST_TOOLSETS selects.
| Tool | What it does |
|---|---|
get_media_info | Probe a media file with ffprobe and return duration, resolution, frame rate, codecs, container format, and size. |
doctor | Check the setup: ffmpeg/ffprobe (FFmpeg 8+?), optional filters, capture devices, Windows OCR, settings, and enabled toolsets; problems says what is missing and how to fix it. Call on first use or when a tool reports a missing feature. |
Record or screenshot the desktop, a monitor, a window, or a region. Every capture is an explicit tool call: nothing records on its own.
| Tool | What it does |
|---|---|
start_recording | Start a background screen recording. Returns a session id; finalize it with stop_recording. Never auto-starts. |
stop_recording | Stop a recording gracefully so the file is finalized; returns the path and duration. |
pause_recording | Pause a recording; until resume_recording nothing is captured, and the gap is left out of the file, events, and markers. |
resume_recording | Resume a paused recording (same target and settings). |
save_replay | Save the last N seconds of a replay buffer (start_recording replayBufferSec) to an mp4; the buffer keeps running. |
list_sessions | List all recording sessions (active and finished) with their status, target, output path, and whether the process is still alive. |
get_session | Inspect a single recording session by id, including live status and whether its output file exists on disk. |
read_events | Read the input events (clicks, scroll, cursor, shortcuts, typing bursts) of a recording made with events: true, in video seconds and pixels; e.g. types: ['down'], then sample_frames there. |
add_marker | Mark a labelled moment on a recording, live or at a second. Kept in the session and a sidecar; chapters and pipeline turn markers into chapters. |
screenshot | Capture one PNG of the screen, a monitor, a window, or a region, returned inline and by path. |
list_audio_devices | List DirectShow audio devices and flag a likely loopback (Stereo Mix or a virtual-audio driver), for start_recording's audio.device. |
list_video_devices | List DirectShow cameras for start_recording's webcam.device. |
list_targets | List the desktop, monitors, and visible windows (topmost first, with capturability per backend). Each entry has a target string to pass as-is to capture tools; use it instead of guessing a title. |
Turn footage into something a model can read: frames, contact sheets, diffs, OCR, and a searchable text timeline.
| Tool | What it does |
|---|---|
review_recording | Open a recording for a person to review: in MCP Apps clients an inline player to scrub, trim, and redact, then export; elsewhere just the video's details. |
player_frames | Preview frames for the review player: JPEGs on an even grid over the video plus frames at scene changes, with their real times. Used by the inline player; agents should use sample_frames or contact_sheet instead. *(app-only: called by the review player, not the agent)* |
sample_frames | Sample PNG frames from a video (by fps, timestamps, or scene changes) and return the first few inline so the model can see what happened. |
contact_sheet | Tile timestamped frames of a video into one image to see a whole recording at a glance (the cheapest first look). |
screen_diff | Compare two screenshots or frames: SSIM score, changed share, and changed boxes in b's pixels, to check a UI change happened only where expected. |
wait_for_change | Wait until part of the screen changes or settles, instead of guessing a sleep. Returns the elapsed time, changed regions (screenshot pixels; add origin for desktop), and the final state. |
| [find_text](https://tmhsdigital.github.io/screencast-mc
Solo se muestra el principio; lee el resto en el repo