AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Browserjack

mcp-stickerdaniel-browserjack · by stickerdaniel

Use the ChatGPT browser extension from Claude Code — a non-invasive MCP bridge to the locally installed OpenAI browser runtime on macOS

No reviews yet
0 installs
7 views
0.0% view→install

Install

$ agentstack add mcp-stickerdaniel-browserjack

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-stickerdaniel-browserjack)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
17d ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Browserjack? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Browserjack

[](https://github.com/stickerdaniel/browserjack/actions/workflows/ci.yml) [](https://www.npmjs.com/package/browserjack) [](LICENSE)

Use the ChatGPT browser extension from Claude Code. Browserjack is an experimental macOS bridge that exposes the browser runtime already installed with the official ChatGPT.app and ChatGPT/Codex Chrome extension as a local MCP server, so Claude Code can drive an authenticated Chrome or Helium session.

Browserjack does not replace OpenAI's native host, modify the extension, or redistribute proprietary OpenAI components. It starts OpenAI's bundled node_repl through the OpenAI-signed codex sandbox and exposes that runtime as a local stdio MCP server.

> [!WARNING] > Experimental. Browserjack relies on undocumented, build-specific OpenAI interfaces and can control authenticated browser sessions. It supports one verified ChatGPT.app build at a time and fails closed on everything else. Treat it as a developer tool, not a supported product.

Architecture

Claude Code
  → browserjack (stdio/JSONL metadata proxy)
  → OpenAI-signed codex sandbox
  → OpenAI node_repl and browser-client
  → official OpenAI native host
  → official ChatGPT/Codex extension
  → Chrome or Helium profile

Browserjack deliberately contains no navigation, screenshot, upload, Playwright, or CDP implementation. Those capabilities remain in OpenAI's installed browser runtime, which Browserjack only launches and speaks MCP to.

Requirements

  • macOS on Apple Silicon or Intel
  • Node.js 20 or newer
  • Official ChatGPT.app with the ChatGPT/Codex Chrome extension installed
  • Claude Code

The current compatibility manifest supports ChatGPT.app 26.715.72359 on arm64 only. Other builds are rejected until the manifest is extended (see [Compatibility](#compatibility)).

Install

npx browserjack setup --client claude --scope user

This installs an immutable, versioned runtime under ~/Library/Application Support/browserjack/ and registers a stable shim as a Claude Code MCP server. The MCP entry points at the installed shim, never at npx or @latest, so a later npx cache change cannot alter what Claude Code runs.

Verify the installation:

npx browserjack doctor

Then restart Claude Code and ask it to use the browserjack MCP server for a browser task.

Commands

browserjack run          Start the stdio MCP server (invoked by Claude Code)
browserjack doctor       Inspect ChatGPT.app, signatures, runtime, and compatibility
       --json            Machine-readable report
       --live            Additionally cold-start the runtime and verify the browser handshake
browserjack status       Report installation health (version, shim, current link, Node path)
browserjack setup        Install the runtime and register the MCP server
       --client          claude (direct MCP) or plugin (runtime only)
       --scope           user | local | project
       --mcp-name NAME   MCP server name (default: browserjack)
browserjack update       Reinstall this package version, reusing the recorded MCP identity
browserjack uninstall    Remove the installation and the owned MCP entry
       --keep-state      Keep releases and state, remove only the active link and shim

Exit codes

| Code | Meaning | | ---- | ---------------------------------------------------------------- | | 0 | Success | | 1 | Invalid arguments or an unexpected error | | 2 | Not ready or unhealthy (doctor/status found a failing check) | | 130 | Interrupted (SIGINT), from run |

Claude Code plugin

plugin/ contains a thin, disabled-by-default Claude Code plugin. It contributes setup, doctor, and browser skills and delegates MCP startup to the stable installed shim; it does not bundle a second runtime. Install the runtime in plugin mode to avoid registering a second MCP server:

npx browserjack setup --client plugin --scope user

Compatibility

Browserjack pins one verified ChatGPT.app build. Its browser client is matched byte-for-byte by SHA-256, and both ChatGPT.app and the native hosts are checked for the OpenAI Team ID 2DC432GLL2. When ChatGPT.app updates, doctor fails closed until the manifest is extended. Update Browserjack rather than trusting an unreviewed local hash. To request support for a new build, open a compatibility issue with your doctor --json output.

Sandbox scope

Browserjack launches OpenAI's runtime through codex sandbox. That runtime currently needs read-only filesystem access starting from / to start reliably and to support user-selected file uploads, so Browserjack requests it. Write access stays limited to CODEX_HOME and temporary directories, and trusted code is limited to the verified Chrome plugin directory. Narrowing the read scope is tracked as future work; see [docs/security.md](docs/security.md).

Environment

| Variable | Purpose | | -------------------------------- | ------------------------------ | | CHATGPT_APP_PATH | Override ChatGPT.app discovery | | CODEX_HOME | Override ~/.codex | | BROWSERJACK_HOME | Override the installation root | | BROWSER_USE_AVAILABLE_BACKENDS | Defaults to chrome |

FAQ

Why macOS only? Browserjack drives the browser runtime bundled with the macOS ChatGPT.app and its code-signed native hosts. There is no equivalent local runtime to reuse on Windows or Linux.

Why only one ChatGPT.app version? The OpenAI interfaces are undocumented and change between builds. Pinning one verified build and its exact browser-client hash is what keeps the trust boundary honest; a floating match would defeat the point.

What happens after a ChatGPT.app update? doctor fails the compatibility check and Browserjack refuses to start until the manifest is updated. A long-lived run process can survive an app update, so restart Claude Code after updating ChatGPT.app.

How is this different from Playwright MCP or a browser-use server? Those drive a browser they launch and control themselves. Browserjack reuses OpenAI's already-installed, already-authenticated browser runtime and its native host, so it works against your logged-in profiles without a separate automation stack.

Does this modify or reverse-engineer OpenAI's software? No binaries are modified, patched, or redistributed. Browserjack launches the OpenAI-signed codex sandbox, which starts OpenAI's own node_repl, and speaks the runtime's existing MCP protocol.

Does it read my browsing data? Browserjack itself does not log browser content, cookies, tokens, or form data, and has no telemetry. Content that Claude Code requests through the runtime does enter your Claude conversation; see [docs/privacy.md](docs/privacy.md).

Development

npm install
npm run verify   # typecheck + lint + format check + tests

Cold-start probe against a supported ChatGPT.app:

npm run build
node dist/cli.js doctor --live

Contributing

See [CONTRIBUTING.md](CONTRIBUTING.md). In short: keep the runtime dependency-free, never weaken signature or compatibility checks, and never contribute extracted OpenAI files.

Non-affiliation

Unofficial and not affiliated with or endorsed by OpenAI or Anthropic. ChatGPT, Codex, Claude, Chrome, and Helium are referenced descriptively. No vendor logos or proprietary files are included.

License

MIT for this project's original code. OpenAI components remain governed by their own terms and licenses.

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.