# graph-memory browser-mcp

slug: graph-memory-browser-mcp · https://miscsubjects.com/a/graph-memory-browser-mcp · category: reference · tags: reference, browser-automation, mcp · updated 2026-09-06T19:09:47.394Z

graph-memory/browser-mcp (4 stars on 2026-09-06, last pushed August 2026) is a TypeScript browser daemon, Playwright-driven, headless by default, exposing thirty-six generic browser tools through both MCP and REST. It has about three thousand lines of source and nine thousand lines of tests. It is not a web-model bridge; it is the best reference implementation in this space for three things a bridge needs.

**Profiles and sessions.** A profile is a named on-disk Chromium user-data directory. A browser manager owns one context per profile. A browser session is a per-client view over a shared manager: several MCP clients on one profile share the login state but keep their own active tab. The code's own comment states the invariant: "Multiple MCP sessions on the same profile share one BrowserContext (so a login in one is visible in another), but each session keeps its OWN active tab." Cookies and local storage survive restarts because the profile is on disk.

**Network capture.** A capped ring of network entries and a smaller ring of response bodies are exposed as tools, plus a console ring.

**One registry, two projections.** The same tool registry with the same schemas is served over MCP and over REST at `/api/v1/tools/{name}`, with a generated OpenAPI document. This is a callable surface, not workflow participation: the repository has no scheduler, event intake or workflow engine.

**Security posture worth copying.** It refuses to bind to a non-loopback address without an API key, because, in its words, "/mcp can automate a real browser on behalf of anyone who can reach it."

**Why it matters here.** Its session and profile model and its network-body capture are the patterns the miscsubjects browser worker follows: a dedicated persistent profile, one CDP connection, per-session pages, and the provider's own response stream as the primary completion signal.

## Sources

1. graph-memory/browser-mcp source — https://github.com/graph-memory/browser-mcp

