Skip to content

Repository files navigation

brawsr MCP server

The authenticated local MCP bridge for brawsr browser sessions, checkpoints, rewind, and fork. It uses the official packaged @brawsr/sdk; it does not duplicate API models, poll orchestration, or browser/CDP behavior.

The v0.2 transport is local stdio and requires Node.js 22+.

Install and configure

MCP clients spawn the server locally. Pin the package version in client configuration so an MCP client restart cannot silently select a newer release:

{
  "mcpServers": {
    "brawsr": {
      "command": "npx",
      "args": ["-y", "@brawsr/mcp-server@0.2.0"],
      "env": {
        "BRAWSR_API_KEY": "your-brawsr-api-key"
      }
    }
  }
}

The npm package includes the official @brawsr/sdk; no second package install is required. BRAWSR_API_KEY is the only required environment variable. The production endpoint https://api.brawsr.io is built in.

For local development or another deployment, BRAWSR_BASE_URL may explicitly override that endpoint. BRAWSR_MCP_TIMEOUT_MS optionally changes the default bounded operation wait from 30 seconds and accepts an integer from 1 through 300000.

The API key is never a tool argument or result. Standard output is reserved for MCP protocol messages. Redacted lifecycle diagnostics use standard error. A direct shell launch uses the same executable:

BRAWSR_API_KEY=... npx -y @brawsr/mcp-server@0.2.0

Tools

  • brawsr_create_session, brawsr_list_sessions, brawsr_get_session, brawsr_update_session_label, brawsr_close_session
  • brawsr_close_sessions
  • brawsr_create_checkpoint, brawsr_get_checkpoint, brawsr_list_checkpoints, brawsr_delete_checkpoint
  • brawsr_list_rewindable_checkpoints, brawsr_list_session_activity, brawsr_get_session_lineage
  • brawsr_rewind, brawsr_fork
  • brawsr_get_operation, brawsr_wait_operation

Session creation accepts an optional display_label. The same label can be changed or cleared with one brawsr_update_session_label call. Session lists are newest-first, bounded, and may include retained closed or expired sessions. brawsr_get_session includes a CDP URL only while the session is attachable.

brawsr_list_checkpoints is capture history: it can include deleted captures for audit and dashboard views. Use brawsr_list_rewindable_checkpoints when choosing a valid rewind or fork target. Lineage returns one session, its optional parent fork edge, and one bounded page of direct children; callers can follow child session IDs to browse a nested fork tree. Pagination cursors are opaque and may be passed back unchanged.

Checkpoint, rewind, and fork are one high-level tool call. The packaged SDK hides ordinary 202 polling. Rewind returns as soon as its result is CDP-usable; the operation may finish bounded post-restore work in the background. A timeout stops only local waiting and returns the operation/idempotency recovery fields; server work continues.

Fork children are independent peer sessions, not implicit winners or losers. There is no browser-state merge and no automatic sibling cleanup. Rewind restores browser/client state, not remote website side effects, and makes old CDP/browser handles stale. Long-lived WSS/SSE/WebRTC streams may need application-level reconnection.

CDP URLs are sensitive structured outputs. The MCP server never returns the Authorization header. Use the ordinary SDK or a supported framework to attach; the MCP server does not proxy CDP.

Remote Streamable HTTP, OAuth, hosted multi-tenancy, legacy HTTP+SSE, and resumable MCP sessions are deferred beyond the local v0.2 stdio boundary.

Development

npm ci
npm run verify

Release archives are built reproducibly with the pinned Node 24 and npm 11.5.1 toolchain. CI also exercises the server and its real MCP client boundary on Node 22 and Node 24. npm hosts the executable package; the official MCP Registry hosts discovery metadata for io.github.brawsr/brawsr.

About

Model Context Protocol server for brawsr

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages