REC 00:00:00;00
screencast-mcp Workflows Connect GitHub ↗

SCREENCAST-MCP / CONNECT

Connect your client

screencast-mcp speaks MCP over stdio, so any MCP client can run it. You need Windows for capture, plus ffmpeg and ffprobe on PATH (or FFMPEG_PATH / FFPROBE_PATH); winget install Gyan.FFmpeg covers both.

00:00PICK YOUR CLIENT

Claude Code

One command. On native Windows, npx needs the cmd /c wrapper:

claude mcp add screencast -- cmd /c npx -y @tmhs/screencast-mcp

Add --scope user to make it available in every project, or --scope project to share it through a checked-in .mcp.json. Check it with claude mcp list, or /mcp inside a session.

Claude Desktop

One click: download screencast-mcp-<version>.mcpb from the latest release and open it, or drag it into Settings › Extensions. Claude Desktop runs it with its own Node, and lets you pick an output folder and point at ffmpeg.exe if it is not on PATH.

Or by hand: Settings › Developer › Edit Config opens %APPDATA%\Claude\claude_desktop_config.json. Add:

{
  "mcpServers": {
    "screencast": {
      "command": "npx",
      "args": [
        "-y",
        "@tmhs/screencast-mcp"
      ]
    }
  }
}

Restart Claude Desktop after saving.

Cursor

Add to ~/.cursor/mcp.json for every project, or .cursor/mcp.json in one project:

{
  "mcpServers": {
    "screencast": {
      "command": "npx",
      "args": [
        "-y",
        "@tmhs/screencast-mcp"
      ]
    }
  }
}

Then check that it is enabled in Cursor's MCP settings. The inline images that screenshot and sample_frames return show up in the chat.

VS Code

From a terminal:

code --add-mcp '{"name":"screencast","command":"npx","args":["-y","@tmhs/screencast-mcp"]}'

Or add .vscode/mcp.json to a workspace. VS Code uses servers, not mcpServers:

{
  "servers": {
    "screencast": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@tmhs/screencast-mcp"
      ]
    }
  }
}

Use it from Copilot Chat in agent mode. The server's prompts appear as /mcp.screencast.* slash commands.

00:20CHECK IT WORKS

Take a screenshot of my primary monitor and tell me what's on it.

The agent calls screenshot { "target": "monitor:0" } and gets the image back inline. Then try a workflow.

Running from a clone instead of the published package? Point the client at the build: "command": "node", "args": ["C:/path/to/screencast-mcp/dist/index.js"].