Skip to main content
Glama

Sedna Browser MCP

A standalone visual-first browser MCP: look at a live page, act on it, receive the resulting screenshot, and continue in the same browser. A Rust/RMCP host supervises the existing Node/Playwright runtime. Both local stdio and authenticated Streamable HTTP/HTTPS use that same worker implementation.

HTTP candidate status: implementation and tests are present, but this revision has not been compiled or tested over HTTP in its authoring environment. The container has no Rust toolchain/package access. Only the recorded JavaScript/schema checks passed here. See current validation. No GitHub repository or PR has been created by this archive.

Get started

Requires Node.js 22+, Rust (the repository pins 1.99.0), a native C toolchain and Chromium system libraries.

npm ci
npm run setup
node scripts/start.mjs --check

The pending HTTP lockfile is regenerated explicitly during setup. The final release build then uses --locked. Install Linux browser system libraries with npx playwright install --with-deps chromium when necessary.

Stdio remains the default:

node scripts/start.mjs

For an authenticated HTTP service, copy and configure an example outside the repository, then run:

node scripts/start.mjs --transport http --http-config /etc/browser-mcp/http.json

See HTTP/HTTPS setup and ownership, proxy example, native TLS example, and Codex HTTP configuration. HTTP always requires issuer-validated, audience-bound, scoped JWTs. A TLS proxy is not a substitute for authorization inside the server.

Related MCP server: mcp-cdp

Tools

Tool

Purpose

browser_observe

Inline current screenshot, geometry and compact controls.

browser_step

Bounded ordered actions (including persistent CSS viewport/scroll changes), cleanup, partial receipts and resulting image.

browser_review

Explicit responsive captures with per-view geometry and restoration receipts.

browser_inspect

Bounded recent console/network records and sequence cursors.

browser_tabs

Explicit tab operations and actual Chrome target identities.

browser_session

Lifecycle and last-operation reconciliation; HTTP adds owned create/list/close.

Over HTTP, call browser_session with action: "create", then pass its browser_session_id on subsequent calls. Two agents sharing credentials do not automatically share a browser. Stdio keeps its private implicit worker. Screenshots are typed MCP image blocks, not filenames or base64 embedded in text.

The existing viewport/action semantics and recovery model are documented in architecture, protocol, and operations. HTTP leases add a transport-independent owner check; they do not replace browser/page/observation identities.

Verify and publish PR #1

node scripts/verify.mjs

This resolves any pending lockfile, formats Rust, compiles/tests both transport modes, runs real Chromium and native TLS tests, and checks packaging. Failures stop the run. It writes concrete evidence to docs/verification-run.json.

To create the requested new public repository using an authenticated GitHub CLI:

node scripts/publish-pr1.mjs

The script targets only sednalabs/browser-mcp, refuses to modify an existing repository, runs verification first, creates a minimal licensed main, then pushes the implementation branch and opens draft PR #1. It never merges a PR or force-pushes. It requires gh, git and permission to create organization repositories. Only the explicit SOURCE_MANIFEST.json inventory is copied.

Licence and security

Apache-2.0. NOTICE preserves Sedna/OpenAI Codex provenance. Read SECURITY.md before exposing a browser service. Browser users can act on the network reachable from their browser host; run it in an appropriately isolated environment. The optional CDP endpoint stays private.

The initial server retains stdio compatibility for MCP 2025-11-25 and targets MCP 2026-07-28 via the maintained RMCP 3.5.1 source. Version support is not a claim that this HTTP candidate has already passed its required integration tests.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Enables agents to inspect and drive Electron or Chrome/Chromium apps via the Chrome DevTools Protocol, exposing DOM snapshots, console logs, network requests, and gated interactions like clicking, typing, and navigating.
    6
    252 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Lets coding agents control and inspect a live Chrome browser for reliable automation, in-depth debugging, and performance analysis. Provides access to Chrome DevTools capabilities such as tracing, network inspection, screenshots, and console messages through MCP clients.
    2,950,197 npm
    Apache 2.0
  • A
    license
    B
    quality
    B
    maintenance
    Enables agents to inspect localhost web applications through Chrome DevTools Protocol by listing Chrome targets, attaching to a page, capturing and querying network, console, navigation, and WebSocket events, and managing ephemeral sessions.
    8
    1
    MIT