Newton Browser

io.github.Koala-StudiosPublished by GitHub account Koala-Studiosv0.4.1Updated Oct 25, 2026

Local-only Chrome and Edge control for MCP clients through an origin-scoped extension.

Overview

AI-generated overview

Local MCP server that launches isolated Chrome or Edge sessions and lets an assistant observe pages, act on controls, read documents and take screenshots.

What you can do
Start, list and stop isolated browser sessions, and select among pages and tabs, including popups attached as session pages. Observe pages for bounded controls with refs, or read links, tables and forms in records mode. Perform typed actions or action sequences and get receipts with dispatch and postcondition state. Read page text with a continuation cursor and capture screenshots with sensitive fields masked. Inspect console output and network activity when recording is opted in, and discover or set up an existing browser.
When to use it
Useful when an assistant needs to drive a real local Chrome or Edge browser for web tasks, form interaction, page reading or visual checks, with each session isolated from the user's normal profile. It suits desktop setups where a local stdio MCP client can launch a browser process.
Requirements
Runs as a local stdio process on the user's machine. Needs Node.js 24 or newer, a current local Chrome or Edge installation, and an MCP client that supports the stated protocol version, local stdio servers and image content. No API keys or accounts are declared; optional setup selects a default browser and a shared login source.
Before you install
This is an unreleased development checkpoint, not a completed real-world acceptance, and no npm or browser-store release exists. By default browser traffic uses ordinary Chromium networking without a proxy, origin allowlist or request filtering. Console and network recording is opt-in because pages can see it. Importing a profile copies authentication-bearing files, and browser encryption may make them unusable. Page content is treated as untrusted data.

Installation

In SourceWeft

  1. Open Newton Browser in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Newton Browser

Newton Browser is a local MCP browser-control product for agents. Each session launches an isolated Chrome or Edge process and controls it through inherited private CDP pipes. By default browser traffic uses Chromium's normal networking with no Newton proxy, origin allowlist, request interception, or resource filtering.

The default runtime requires no browser extension, relay, daemon, debug TCP port, database, telemetry, hosted service, or model-provider integration.

Status

The default source runtime now uses the replacement shared engine, with isolated workers from a shared Newton login source and an optional thin existing-browser adapter. Native actions, precise editing, contextual controls, records/documents, screenshots, tab ownership and update foundations are implemented. This is an unreleased development checkpoint, not completed real-world acceptance.

The legacy direct runtime is retired (2026-09-25): the session engine is the only action, receipt and ref authority. Build, typecheck, boundary lint and the full suite pass. Feedback/reading refinements, platform and authenticated task QA, and three unchanged packed release gates remain open. See the current progress ledger, remaining roadmap and consolidation record.

Version 0.7.2 is published as a GitHub prerelease tarball verified on macOS Chrome; Windows and Linux receipts for it remain open. No npm or browser-store release exists.

Newton implements only stateless MCP 2026-07-28 over newline-delimited stdio JSON. Clients send protocol version and capabilities in every request. Newton exposes no legacy handshake or framing mode.

Requirements

  • Node.js 24 or newer.
  • A current local Chrome or Edge installation.
  • An MCP client that supports MCP 2026-07-28, local stdio servers, and image content.

Build and connect

powershell
pnpm install --frozen-lockfilepnpm buildnode apps/mcp-server/dist/index.js doctor --live

That is enough for ephemeral sessions: Newton discovers Chrome or Edge and creates a fresh isolated identity per session. Optional setup only selects a default browser:

powershell
node apps/mcp-server/dist/index.js setup --browser chrome

Every owned session is an isolated copy of a shared login source (default unless the session names another). To sign in once for later sessions, open the source's visible browser, sign in personally, and confirm:

powershell
node apps/mcp-server/dist/index.js source login --id default --browser chrome

Newton never asks an agent to enter or retrieve credentials. The published sign-in becomes the source's next generation; running sessions keep their own copies, and nothing a session does is merged back.

MCP configuration

json
{  "mcpServers": {    "newton-browser": {      "command": "node",      "args": ["C:\\absolute\\path\\newton-browser\\apps\\mcp-server\\dist\\index.js"]    }  }}

The local installer can update Codex configuration or print a generic entry:

powershell
node apps/mcp-server/dist/index.js install codex --dry-runnode apps/mcp-server/dist/index.js install generic

Codex installation enables Codex's mcp_2026_07_28 feature, pins CODEX_MCP_PROTOCOL_VERSION=2026-07-28, and verifies the exact candidate's live stateless discovery, self-reported package version, and required browser-tool catalog before atomically replacing its configuration. The resulting entrypoint/version pair is pinned; incompatible or stale candidates cannot displace a working install.

Agent workflow

Tools (tools/list is authoritative): browser.session.start, browser.observe, browser.act, browser.command, browser.document.read, browser.document.continue, browser.screenshot, browser.console, browser.network, browser.pages.list, browser.page.select, browser.sessions.list, browser.session.stop, and the operator-selected existing-browser tools browser.existing.discover and browser.existing.setup.

A normal loop:

  1. browser.session.start with a complete URL returns the session, its first page and nextCommandId.
  2. browser.observe returns bounded controls with refs; records mode reads links, tables and forms; browser.document.read reads text with a continuation cursor.
  3. browser.act performs one typed action or a sequence and returns a receipt: dispatch, postcondition, and the next state when it changed. Reuse a commandId only for the identical command; after an uncertain receipt, reconcile with browser.command rather than replaying.
  4. browser.session.stop ends the session independently of its queue.

Popups and new tabs are attached as session pages without changing the selected page; browser.pages.list and browser.page.select move between them. A hung renderer is reopened on the same page and the receipt says so. Console and network recording is opt-in because enabling it is visible to pages.

Identities and opaque profile import

Identities are the store's opaque browser profiles; login sources and session copies are built on them. Operator utilities:

powershell
newton-browser identity create --browser chromenewton-browser identity listnewton-browser identity lease-inspect --id nbi_<opaque-id>newton-browser identity lease-recover --id nbi_<opaque-id>newton-browser identity delete --id nbi_<opaque-id>newton-browser identity import --browser chrome `  --user-data-root "C:\path\to\User Data" `  --profile-directory Default

Import byte-copies a narrow allowlist of authentication-bearing files from a closed, stable local profile and never modifies the source. Passwords, autofill, history, downloads, extensions, sessions, service workers, and caches are excluded. Browser encryption may prevent copied authentication from remaining usable; Newton does not bypass that protection.

Security boundary

  • Browsers run on inherited private CDP pipes: no debug port, relay or extension in owned mode.
  • A hosting process can restrict owned browsers to public internet addresses (NEWTON_BROWSER_EGRESS=public); otherwise networking is ordinary Chromium networking.
  • Page content is untrusted data; it cannot authorize effects or select local files.
  • Screenshots mask password and sensitive-autocomplete fields across frames and shadow roots, plus any explicit sensitive zones.
  • Network response bodies are available only as bounded text from the page's own origin; headers are never kept.

See Security, Privacy, and MCP clients.

Development and release

powershell
pnpm buildpnpm lintpnpm typecheckpnpm testpnpm evalpnpm eval:agent-costpnpm pack:checkpnpm eval:real-sitespnpm release:check

Run pnpm eval:real-sites once per required browser/platform. Release then requires pnpm release:check to pass from the exact packed candidate three consecutive times on Windows and Linux with no skipped critical tests, plus the pinned Linux Chrome for Testing matrix and matching cross-platform tarball hashes.

Repository layout

text
apps/mcp-server/      stateless stdio MCP host and owned-browser runtimepackages/core/        schemas, redaction, provenance, and safety policypackages/driver/      strict TypeScript CDP driverscripts/              builds, release checks, and live harnessesskills/newton-browser agent operating guidancetest/                 fixtures, regressions, and bounded evidence

License

The source is licensed under the MIT License. Publishing or distributing a Newton Browser release remains a separate maintainer-controlled action.

Source: README.md at commit e2cb84f

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.4.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts