ChromeDevTools / ChromeDevTools/chrome-devtools-mcp
Add MCP tool to configure download behavior (prompt toggle, downloads location)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 52.3k
- Forks
- 4.3k
- Avg merge
- 2d 7h
- Merged PRs (30d)
- 83
Description
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_downloadin 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 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
- Asking the user to manually change
chrome://settings/downloadsbefore/after each session — defeats the purpose of driving the browser via MCP. - Launching Chrome with a different
--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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing emulate tool and the download-related CDP entry points named in the issue: Page.setDownloadBehavior and Browser.setDownloadBehavior. Determine how per-session setting, reset behavior, prompt control, and state readback fit the current MCP design; done means agents can set and restore the download path and prompt behavior without permanent profile mutation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- devtools, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100