How browserbase/mcp-server-browserbase works
Browserbase MCP Server is a self-hostable MCP interface for cloud browser automation using Browserbase and Stagehand. An MCP client invokes a registered tool; Context executes its handler, which manages a session or uses Stagehand to navigate, act, observe, or extract page information, then returns tool content. Configuration selects session and model options, while CLI wiring exposes stdio or HTTP transport. The README documents six tools and both transports; sampled excerpts show the registration and some tool/session flows, but not every tool implementation or the transport internals.
Main entry points: context.ts Tool context · src/index.ts MCP server · tools/index.ts Tool registry · program.ts CLI startup
Components 20
MCP entry
- CLI startup
src/program.ts - MCP server
src/index.ts - Tool context
src/context.ts - MCP resources
src/mcp/resources.ts - MCP sampling
src/mcp/sampling.ts
Browser tools
- Tool registry
src/tools/index.ts - Tool contract
src/tools/tool.ts - Session tools
src/tools/session.ts - Navigate
src/tools/navigate.ts - Act
src/tools/act.ts - Observe
src/tools/observe.ts - Extract
src/tools/extract.ts
Session runtime
- Session manager
src/sessionManager.ts - Stagehand runtime
src/sessionManager.ts
Configuration and transport
- Configuration
src/config.ts - MCP transports
src/transport.ts - Server lifecycle
src/server.ts
Other components
- MCP client
- Browserbase
- Web page
Connections 29
- MCP client → MCP server: invokes tools
README.md - CLI startup → Configuration: resolves config
src/program.ts - CLI startup → MCP server: creates server
src/program.ts - CLI startup → MCP transports: starts transport
src/program.ts - CLI startup → Server lifecycle: creates lifecycle
src/program.ts - MCP server → Tool context: creates context
src/index.ts - MCP server → Tool registry: registers tools
src/index.ts - MCP server → MCP resources: registers handlers
src/index.ts - MCP server → Tool context: dispatches tools
src/index.ts - Tool context → Tool contract: executes handlers
src/context.ts - Tool registry → Navigate: exports tool
src/tools/index.ts - Tool registry → Act: exports tool
src/tools/index.ts - Tool registry → Observe: exports tool
src/tools/index.ts - Tool registry → Extract: exports tool
src/tools/index.ts - Tool registry → Session tools: exports tools
src/tools/index.ts - Navigate → Tool context: gets Stagehand
src/tools/navigate.ts - Act → Tool context: uses session
src/tools/act.ts - Observe → Tool context: uses session
src/tools/observe.ts - Extract → Tool context: uses session
src/tools/extract.ts - Session tools → Session manager: manages session
src/tools/session.ts - Tool context → Session manager: owns sessions
src/context.ts - Session manager → Stagehand runtime: creates and closes
src/sessionManager.ts - Stagehand runtime → Browserbase: connects session
README.md - Navigate → Web page: navigates
src/tools/navigate.ts - Stagehand runtime → Web page: controls browser
README.md - Configuration → Session manager: configures sessions
- MCP transports → MCP server: serves MCP
- Tool context → MCP resources: lists and reads
src/context.ts - MCP sampling → MCP server: sampling integration