Is your feature request related to a problem? Please describe.
There's currently no MCP tool to control Chrome's download behavior at runtime. This makes it hard for an agent to reliably download files to a specific folder during a session and then revert to the user's default behavior afterward.
Concretely, two Chrome preferences aren't exposed:
- "Ask where to save each file before downloading" — a boolean toggle (
download.prompt_for_download in Chrome's profile prefs).
- Downloads Location — a folder path (
download.default_directory).
emulate currently covers viewport, network conditions, geolocation, color scheme, user agent, and CPU throttling, but nothing about downloads.
Describe the solution you'd like
Add a tool (or extend emulate) that lets an agent set download behavior for the current page/browser context, e.g.:
downloadPath (string) — target directory for downloads, mapping to CDP Page.setDownloadBehavior / Browser.setDownloadBehavior with behavior: "allow" and downloadPath: <path>.
promptForDownload (boolean) — whether to prompt for a save location per file, if CDP/Chrome exposes a way to toggle this (otherwise behavior: "allow" vs "default"/"deny" may be the closest equivalent).
Ideally this is settable per-session and easy to reset back to the default (e.g. omitting the option, or an explicit "default" value, restores normal browser behavior — no permanent profile mutation required).
It'd also help to be able to read back the current state of these settings (current download path and whether prompting is enabled), so an agent can save the existing values before changing them and confirm what's actually in effect after — rather than only being able to set them blindly.
Describe alternatives you've considered
- Asking the user to manually change
chrome://settings/downloads before/after each session — defeats the purpose of driving the browser via MCP.
- Launching Chrome with a different
--user-data-dir per desired download folder — too heavyweight for a per-task override and doesn't compose with an already-running session.
Additional context
Use case: instruct an agent to download some files into a specific folder during a particular task, then have subsequent downloads revert to the default downloads path (e.g. ~/Downloads) without lingering side effects on the user's normal Chrome profile.
Is your feature request related to a problem? Please describe.
There's currently no MCP tool to control Chrome's download behavior at runtime. This makes it hard for an agent to reliably download files to a specific folder during a session and then revert to the user's default behavior afterward.
Concretely, two Chrome preferences aren't exposed:
download.prompt_for_downloadin Chrome's profile prefs).download.default_directory).emulatecurrently covers viewport, network conditions, geolocation, color scheme, user agent, and CPU throttling, but nothing about downloads.Describe the solution you'd like
Add a tool (or extend
emulate) that lets an agent set download behavior for the current page/browser context, e.g.:downloadPath(string) — target directory for downloads, mapping to CDPPage.setDownloadBehavior/Browser.setDownloadBehaviorwithbehavior: "allow"anddownloadPath: <path>.promptForDownload(boolean) — whether to prompt for a save location per file, if CDP/Chrome exposes a way to toggle this (otherwisebehavior: "allow"vs"default"/"deny"may be the closest equivalent).Ideally this is settable per-session and easy to reset back to the default (e.g. omitting the option, or an explicit
"default"value, restores normal browser behavior — no permanent profile mutation required).It'd also help to be able to read back the current state of these settings (current download path and whether prompting is enabled), so an agent can save the existing values before changing them and confirm what's actually in effect after — rather than only being able to set them blindly.
Describe alternatives you've considered
chrome://settings/downloadsbefore/after each session — defeats the purpose of driving the browser via MCP.--user-data-dirper desired download folder — too heavyweight for a per-task override and doesn't compose with an already-running session.Additional context
Use case: instruct an agent to download some files into a specific folder during a particular task, then have subsequent downloads revert to the default downloads path (e.g.
~/Downloads) without lingering side effects on the user's normal Chrome profile.