interceptor_chrome_devtools_pull_sidecar
Install Chrome DevTools sidecar locally to enable full DevTools bridge capabilities for network traffic interception and modification.
Instructions
Install/pull chrome-devtools-mcp sidecar locally so full DevTools bridge actions are available.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | Sidecar version to install | 0.2.2 |
| timeout_ms | No | Install timeout in milliseconds | |
| save_exact | No | When true, persist to package.json with --save-exact (default false uses --no-save) |
Implementation Reference
- src/tools/devtools.ts:404-457 (handler)The tool 'interceptor_chrome_devtools_pull_sidecar' is defined within 'registerDevToolsTools'. It uses 'npm install' to pull the sidecar package.
export function registerDevToolsTools(server: McpServer): void { server.tool( "interceptor_chrome_devtools_pull_sidecar", "Install/pull chrome-devtools-mcp sidecar locally so full DevTools bridge actions are available.", { version: z.string().optional().default("0.2.2").describe("Sidecar version to install"), timeout_ms: z.number().optional().default(180000).describe("Install timeout in milliseconds"), save_exact: z.boolean().optional().default(false) .describe("When true, persist to package.json with --save-exact (default false uses --no-save)"), }, async ({ version, timeout_ms, save_exact }) => { try { const cwd = findProjectRoot(); const spec = `chrome-devtools-mcp@${version}`; const args = save_exact ? ["install", "--save-exact", spec] : ["install", "--no-save", spec]; const before = getLocalSidecarStatus(); const result = await runInstallCommand("npm", args, cwd, timeout_ms); resetSidecarResolutionCache(); const after = getLocalSidecarStatus(); const ok = result.exitCode === 0 && !result.timedOut && after.available; return { content: [{ type: "text", text: truncateResult({ status: ok ? "success" : "error", installed: ok, version, mode: save_exact ? "save-exact" : "no-save", cwd, before, after, command: `npm ${args.join(" ")}`, exitCode: result.exitCode, timedOut: result.timedOut, stdoutTail: result.stdout.slice(-1500), stderrTail: result.stderr.slice(-1500), ...(ok ? {} : { hint: "Install failed or sidecar not resolvable. Check network/npm registry access and rerun this tool.", }), }), }], }; } catch (e) { return { content: [{ type: "text", text: JSON.stringify({ status: "error", error: errorToString(e) }) }] }; } }, );