Skip to content

feat: add experimental screencast recording tools#941

Merged
OrKoN merged 4 commits intoChromeDevTools:mainfrom
dobesv:feat/screencast-recording
Feb 20, 2026
Merged

feat: add experimental screencast recording tools#941
OrKoN merged 4 commits intoChromeDevTools:mainfrom
dobesv:feat/screencast-recording

Conversation

@dobesv
Copy link
Contributor

@dobesv dobesv commented Feb 12, 2026

Summary

Adds screencast_start and screencast_stop MCP tools that allow agents to record a video of a page using Puppeteer's page.screencast() API.

Only enabled if the command line option --experimental-screencast is provided

Closes #878.

New Tools

screencast_start

Starts recording a screencast (video) of the selected page in mp4 format.

Parameter Type Default Description
path string (optional) temp file Output file path

screencast_stop

Stops the active recording and reports the saved file path.

Design

  • Start/stop pair following the performance_start_trace / performance_stop_trace pattern
  • State management via getScreenRecorder() / setScreenRecorder() on the Context interface
  • Category: DEBUGGING (alongside take_screenshot)
  • ffmpeg dependency: Clear error message when ffmpeg is not installed
  • Temp file fallback: When no path is provided, creates a temp file with the correct extension

@google-cla
Copy link

google-cla bot commented Feb 12, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@OrKoN
Copy link
Collaborator

OrKoN commented Feb 16, 2026

@dobesv would you be able to sign the CLA for this PR?

@OrKoN OrKoN self-requested a review February 16, 2026 08:19
@dobesv
Copy link
Contributor Author

dobesv commented Feb 16, 2026

I did sign it but it seems to be looking at the co-author line added by the AI agent and saying the agent has to sign a cla as well?

@OrKoN
Copy link
Collaborator

OrKoN commented Feb 16, 2026

@dobesv could you update commits to remove the AI agent authorship? otherwise you would need the AI agent to sign the CL.

@dobesv dobesv force-pushed the feat/screencast-recording branch 2 times, most recently from ab2a9b2 to e897112 Compare February 16, 2026 16:22
Screencast tools (screencast_start, screencast_stop) are registered when the --experimental-screencast CLI flag is provided.

These allow the agent to start/stop a screencast recording in mp4 format.

ffmpeg must be installed in order to record a screencast.
@dobesv dobesv force-pushed the feat/screencast-recording branch from e897112 to 277fe0d Compare February 16, 2026 16:26
@dobesv
Copy link
Contributor Author

dobesv commented Feb 16, 2026

I cleaned up the commit and removed extra options other than path for now.

@OrKoN OrKoN changed the title feat: add screencast recording tools (closes #878) feat: add experimental screencast recording tools Feb 18, 2026
@OrKoN OrKoN force-pushed the feat/screencast-recording branch from bb0caad to 37f0b49 Compare February 20, 2026 12:49
@OrKoN OrKoN enabled auto-merge February 20, 2026 12:50
@OrKoN OrKoN added this pull request to the merge queue Feb 20, 2026
Merged via the queue into ChromeDevTools:main with commit 33446d4 Feb 20, 2026
27 of 30 checks passed
github-merge-queue bot pushed a commit that referenced this pull request Feb 25, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](chrome-devtools-mcp-v0.17.3...chrome-devtools-mcp-v0.18.0)
(2026-02-24)


### 🎉 Features

* `--slim` mode for maximum token savings
([#958](#958))
([c402b43](c402b43))
* add a new skill for accessibility debugging and auditing with Chrome
DevTools MCP.
([#1002](#1002))
([b0c6d04](b0c6d04))
* add experimental screencast recording tools
([#941](#941))
([33446d4](33446d4))
* add skill to debug and optimize LCP
([#993](#993))
([2cd9b95](2cd9b95))
* add storage-isolated browser contexts
([#991](#991))
([59f6477](59f6477))
* add take_memory_snapshot tool
([#1023](#1023))
([7ffdc5e](7ffdc5e))
* support any-match text arrays in wait_for
([#1011](#1011))
([496ab1b](496ab1b))
* support type_text
([#1026](#1026))
([b5d01b5](b5d01b5))


### 🛠️ Fixes

* detect X server display on Linux
([#1027](#1027))
([1746ed9](1746ed9))


### ♻️ Chores

* cleanup string and structured console formatters
([#1005](#1005))
([0d78685](0d78685))
* extract version in a seprate file
([#1032](#1032))
([0106865](0106865))
* move emulation settings to context
([#1000](#1000))
([bc3c40e](bc3c40e))
* optimize slim tool descriptions and params
([#1028](#1028))
([ca6635d](ca6635d))
* simplify JavaScript code examples, update code block language, and
refine descriptions in a11y debugging skill documentation.
([#1009](#1009))
([5cedcaa](5cedcaa))
* types for JSON output of IssueFormatter
([#1007](#1007))
([9ef4479](9ef4479))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
wolfib pushed a commit to wolfib/chrome-devtools-mcp that referenced this pull request Mar 10, 2026
## Summary

Adds `screencast_start` and `screencast_stop` MCP tools that allow
agents to record a video of a page using Puppeteer's `page.screencast()`
API.

Only enabled if the command line option `--experimental-screencast` is
provided

Closes ChromeDevTools#878.

## New Tools

### `screencast_start`
Starts recording a screencast (video) of the selected page in mp4
format.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `path` | string (optional) | temp file | Output file path |

### `screencast_stop`
Stops the active recording and reports the saved file path.

## Design

- **Start/stop pair** following the `performance_start_trace` /
`performance_stop_trace` pattern
- **State management** via `getScreenRecorder()` / `setScreenRecorder()`
on the Context interface
- **Category**: `DEBUGGING` (alongside `take_screenshot`)
- **ffmpeg dependency**: Clear error message when ffmpeg is not
installed
- **Temp file fallback**: When no `path` is provided, creates a temp
file with the correct extension

---------

Co-authored-by: Alex Rudenko <alexrudenko@chromium.org>
wolfib pushed a commit to wolfib/chrome-devtools-mcp that referenced this pull request Mar 10, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.18.0](ChromeDevTools/chrome-devtools-mcp@chrome-devtools-mcp-v0.17.3...chrome-devtools-mcp-v0.18.0)
(2026-02-24)


### 🎉 Features

* `--slim` mode for maximum token savings
([ChromeDevTools#958](ChromeDevTools#958))
([c402b43](ChromeDevTools@c402b43))
* add a new skill for accessibility debugging and auditing with Chrome
DevTools MCP.
([ChromeDevTools#1002](ChromeDevTools#1002))
([b0c6d04](ChromeDevTools@b0c6d04))
* add experimental screencast recording tools
([ChromeDevTools#941](ChromeDevTools#941))
([33446d4](ChromeDevTools@33446d4))
* add skill to debug and optimize LCP
([ChromeDevTools#993](ChromeDevTools#993))
([2cd9b95](ChromeDevTools@2cd9b95))
* add storage-isolated browser contexts
([ChromeDevTools#991](ChromeDevTools#991))
([59f6477](ChromeDevTools@59f6477))
* add take_memory_snapshot tool
([ChromeDevTools#1023](ChromeDevTools#1023))
([7ffdc5e](ChromeDevTools@7ffdc5e))
* support any-match text arrays in wait_for
([ChromeDevTools#1011](ChromeDevTools#1011))
([496ab1b](ChromeDevTools@496ab1b))
* support type_text
([ChromeDevTools#1026](ChromeDevTools#1026))
([b5d01b5](ChromeDevTools@b5d01b5))


### 🛠️ Fixes

* detect X server display on Linux
([ChromeDevTools#1027](ChromeDevTools#1027))
([1746ed9](ChromeDevTools@1746ed9))


### ♻️ Chores

* cleanup string and structured console formatters
([ChromeDevTools#1005](ChromeDevTools#1005))
([0d78685](ChromeDevTools@0d78685))
* extract version in a seprate file
([ChromeDevTools#1032](ChromeDevTools#1032))
([0106865](ChromeDevTools@0106865))
* move emulation settings to context
([ChromeDevTools#1000](ChromeDevTools#1000))
([bc3c40e](ChromeDevTools@bc3c40e))
* optimize slim tool descriptions and params
([ChromeDevTools#1028](ChromeDevTools#1028))
([ca6635d](ChromeDevTools@ca6635d))
* simplify JavaScript code examples, update code block language, and
refine descriptions in a11y debugging skill documentation.
([ChromeDevTools#1009](ChromeDevTools#1009))
([5cedcaa](ChromeDevTools@5cedcaa))
* types for JSON output of IssueFormatter
([ChromeDevTools#1007](ChromeDevTools#1007))
([9ef4479](ChromeDevTools@9ef4479))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Screen cast recording

2 participants