Metadata-Version: 2.4
Name: chrome-devtools-mcp-canpoint
Version: 0.1.0
Summary: Session-local Chrome launcher for Chrome DevTools MCP workflows.
Author: whqp
License-Expression: MIT
Project-URL: Homepage, https://github.com/whqp/chrome-devtools-mcp-canpoint
Project-URL: Issues, https://github.com/whqp/chrome-devtools-mcp-canpoint/issues
Keywords: mcp,chrome,devtools,browser,automation
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Software Development :: Debuggers
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# chrome-devtools-mcp-canpoint

Session-local Chrome launcher for Chrome DevTools MCP workflows.

This wrapper starts one dedicated Chrome process per MCP server process. Each
session gets its own random remote debugging port and a generated user data
directory under the current working directory, so multiple agent sessions do not
fight over port `9222` or a shared Chrome profile.

## Usage

Run it directly with `uvx`:

```powershell
uvx chrome-devtools-mcp-canpoint -- <downstream-mcp-command>
```

Example:

```powershell
uvx chrome-devtools-mcp-canpoint -- npx -y chrome-devtools-mcp@latest --browser-url={browser_url}
```

If Chrome is not installed in the default Windows location, pass it explicitly:

```powershell
uvx chrome-devtools-mcp-canpoint --chrome-path "D:\Apps\Chrome\chrome.exe" -- npx -y chrome-devtools-mcp@latest --browser-url={browser_url}
```

## Codex MCP Config

After publishing to PyPI, configure Codex like this:

```toml
[mcp_servers.chrome-devtools]
command = "uvx"
args = [
  "chrome-devtools-mcp-canpoint",
  "--",
  "npx",
  "-y",
  "chrome-devtools-mcp@latest",
  "--browser-url={browser_url}",
  "--no-usage-statistics"
]
startup_timeout_sec = 60
```

## Session Profile Directory

By default, generated Chrome profiles are created under:

```text
<current-working-directory>/.chrome-mcp-sessions/<uuid>
```

Override the parent directory with `--session-root`:

```powershell
uvx chrome-devtools-mcp-canpoint --session-root .\.chrome-mcp-sessions -- npx -y chrome-devtools-mcp@latest --browser-url={browser_url}
```

Use `--user-data-dir` only when you want an exact profile directory instead of a
generated per-session subdirectory.

## Environment Passed to the Downstream MCP

The downstream command receives these variables:

- `CHROME_DEVTOOLS_URL`: `http://127.0.0.1:<random-port>`
- `BROWSER_URL`: same value as `CHROME_DEVTOOLS_URL`
- `CHROME_REMOTE_DEBUGGING_PORT`: selected port
- `CHROME_USER_DATA_DIR`: session profile path

Configure the real Chrome MCP package to use one of these values as its browser
endpoint. This wrapper also expands placeholders in downstream command
arguments:

- `{browser_url}` or `{devtools_url}`: `http://127.0.0.1:<random-port>`
- `{port}`: selected port
- `{user_data_dir}`: generated profile path

## Cleanup

When the downstream MCP exits, this wrapper terminates only the Chrome process it
started. Temporary profiles are deleted by default.

Use `--keep-profile` when debugging:

```powershell
uvx chrome-devtools-mcp-canpoint --keep-profile -- npx -y chrome-devtools-mcp@latest --browser-url={browser_url}
```

## Options

```powershell
uvx chrome-devtools-mcp-canpoint --help
```

Useful options:

- `--chrome-path`: path to `chrome.exe`
- `--session-root`: parent directory for generated project-local profiles
- `--user-data-dir`: explicit profile directory instead of a generated one
- `--keep-profile`: leave the temporary profile on disk
- `--headless`: start Chrome with `--headless=new`
- `--chrome-arg`: pass extra arguments to Chrome, repeatable
- `--devtools-timeout`: seconds to wait for `/json/version`

## Development

Use the project virtual environment for local development:

```powershell
.\.venv\Scripts\python.exe -m pip install -e .
.\.venv\Scripts\python.exe -m unittest discover -v
.\.venv\Scripts\chrome-devtools-mcp-canpoint.exe --help
```

Build distributions:

```powershell
.\.venv\Scripts\python.exe -m build
```
