NestDaddy

Screencast MCP

io.github.TMHSDigital/screencast-mcp ยท v0.49.1

Let AI agents record the Windows screen, watch it as frames, and edit it with ffmpeg

Connect Runs on your machine

Terminal
claude mcp add screencast-mcp -e SCREENCAST_HOME=<SCREENCAST_HOME> -e SCREENCAST_ALLOWED_DIRS=<SCREENCAST_ALLOWED_DIRS> -e FFMPEG_PATH=<FFMPEG_PATH> -e FFPROBE_PATH=<FFPROBE_PATH> -e SCREENCAST_WHISPER_MODEL=<SCREENCAST_WHISPER_MODEL> -e SCREENCAST_MAX_RECORDING_SEC=<SCREENCAST_MAX_RECORDING_SEC> -e SCREENCAST_JOB_TIMEOUT_MS=<SCREENCAST_JOB_TIMEOUT_MS> -e SCREENCAST_RETENTION_DAYS=<SCREENCAST_RETENTION_DAYS> -e SCREENCAST_PS_TIMEOUT_MS=<SCREENCAST_PS_TIMEOUT_MS> -e SCREENCAST_CONFIRM_CAPTURE=<SCREENCAST_CONFIRM_CAPTURE> -e SCREENCAST_TOOLSETS=<SCREENCAST_TOOLSETS> -- npx -y @tmhs/[email protected]
claude_desktop_config.json
{
  "mcpServers": {
    "screencast-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tmhs/[email protected]"
      ],
      "env": {
        "SCREENCAST_HOME": "<SCREENCAST_HOME>",
        "SCREENCAST_ALLOWED_DIRS": "<SCREENCAST_ALLOWED_DIRS>",
        "FFMPEG_PATH": "<FFMPEG_PATH>",
        "FFPROBE_PATH": "<FFPROBE_PATH>",
        "SCREENCAST_WHISPER_MODEL": "<SCREENCAST_WHISPER_MODEL>",
        "SCREENCAST_MAX_RECORDING_SEC": "<SCREENCAST_MAX_RECORDING_SEC>",
        "SCREENCAST_JOB_TIMEOUT_MS": "<SCREENCAST_JOB_TIMEOUT_MS>",
        "SCREENCAST_RETENTION_DAYS": "<SCREENCAST_RETENTION_DAYS>",
        "SCREENCAST_PS_TIMEOUT_MS": "<SCREENCAST_PS_TIMEOUT_MS>",
        "SCREENCAST_CONFIRM_CAPTURE": "<SCREENCAST_CONFIRM_CAPTURE>",
        "SCREENCAST_TOOLSETS": "<SCREENCAST_TOOLSETS>"
      }
    }
  }
}
~/.cursor/mcp.json
{
  "mcpServers": {
    "screencast-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tmhs/[email protected]"
      ],
      "env": {
        "SCREENCAST_HOME": "<SCREENCAST_HOME>",
        "SCREENCAST_ALLOWED_DIRS": "<SCREENCAST_ALLOWED_DIRS>",
        "FFMPEG_PATH": "<FFMPEG_PATH>",
        "FFPROBE_PATH": "<FFPROBE_PATH>",
        "SCREENCAST_WHISPER_MODEL": "<SCREENCAST_WHISPER_MODEL>",
        "SCREENCAST_MAX_RECORDING_SEC": "<SCREENCAST_MAX_RECORDING_SEC>",
        "SCREENCAST_JOB_TIMEOUT_MS": "<SCREENCAST_JOB_TIMEOUT_MS>",
        "SCREENCAST_RETENTION_DAYS": "<SCREENCAST_RETENTION_DAYS>",
        "SCREENCAST_PS_TIMEOUT_MS": "<SCREENCAST_PS_TIMEOUT_MS>",
        "SCREENCAST_CONFIRM_CAPTURE": "<SCREENCAST_CONFIRM_CAPTURE>",
        "SCREENCAST_TOOLSETS": "<SCREENCAST_TOOLSETS>"
      }
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "screencast-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@tmhs/[email protected]"
      ],
      "env": {
        "SCREENCAST_HOME": "<SCREENCAST_HOME>",
        "SCREENCAST_ALLOWED_DIRS": "<SCREENCAST_ALLOWED_DIRS>",
        "FFMPEG_PATH": "<FFMPEG_PATH>",
        "FFPROBE_PATH": "<FFPROBE_PATH>",
        "SCREENCAST_WHISPER_MODEL": "<SCREENCAST_WHISPER_MODEL>",
        "SCREENCAST_MAX_RECORDING_SEC": "<SCREENCAST_MAX_RECORDING_SEC>",
        "SCREENCAST_JOB_TIMEOUT_MS": "<SCREENCAST_JOB_TIMEOUT_MS>",
        "SCREENCAST_RETENTION_DAYS": "<SCREENCAST_RETENTION_DAYS>",
        "SCREENCAST_PS_TIMEOUT_MS": "<SCREENCAST_PS_TIMEOUT_MS>",
        "SCREENCAST_CONFIRM_CAPTURE": "<SCREENCAST_CONFIRM_CAPTURE>",
        "SCREENCAST_TOOLSETS": "<SCREENCAST_TOOLSETS>"
      }
    }
  }
}

Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.

Tools

This server runs locally, so its tools are listed by your MCP client once it starts.

Environment variables

NameDescription
SCREENCAST_HOME
Optional
Where recordings, frames, screenshots, and edits are written (default <homedir>/.screencast-mcp)
SCREENCAST_ALLOWED_DIRS
Optional
Semicolon-separated folders tools may read from and write to besides SCREENCAST_HOME; when set (or when the client sends roots), files elsewhere are refused. Also allows overwriting files in these folders
FFMPEG_PATH
Optional
Path to ffmpeg if it is not on PATH (ffmpeg and ffprobe are required)
FFPROBE_PATH
Optional
Path to ffprobe if it is not on PATH
SCREENCAST_WHISPER_MODEL
Optional
whisper.cpp model file (ggml-*.bin) used by transcribe when a call passes no model
SCREENCAST_MAX_RECORDING_SEC
Optional
Default recording cap in seconds when a call sets no maxDurationSec (default 3600; 0 disables it)
SCREENCAST_JOB_TIMEOUT_MS
Optional
Override the edit job timeout in milliseconds (default scales with the media length)
SCREENCAST_RETENTION_DAYS
Optional
At startup, delete screenshots, frames, leftover raw event logs, and index_recording indexes older than this many days (never recordings or edits; off by default)
SCREENCAST_PS_TIMEOUT_MS
Optional
Limit in milliseconds for the PowerShell helpers that list monitors and windows and run OCR (default 20000; OCR 60000)
SCREENCAST_CONFIRM_CAPTURE
Optional
Set to 1 to ask the user to confirm every live capture through MCP elicitation; clients without elicitation are refused (off by default)
SCREENCAST_TOOLSETS
Optional
Comma-separated toolsets to load: capture, watch, edit, produce, audio (doctor and get_media_info are always on; default all)

Details

Package@tmhs/[email protected] (NPM, stdio)
First published10 Nov 2026
Last updated10 Nov 2026
Registry nameio.github.TMHSDigital/screencast-mcp

More ai and media servers See all

Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.