ChromeDevTools / ChromeDevTools/chrome-devtools-mcp

Add MCP tool to configure download behavior (prompt toggle, downloads location)

Open
#2,397 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

collecting-feedback
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:

  1. "Ask where to save each file before downloading" — a boolean toggle (download.prompt_for_download in Chrome's profile prefs).
  2. 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.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.