Contributions are welcome! Here's how to get started.
git clone https://github.com/ofershap/real-browser-mcp.git
cd real-browser-mcp
npm installnpm run build # Compile TypeScript
npm run dev # Watch mode
npm test # Run tests
npm run typecheck # Type check without emittingEach tool lives in its own file under mcp-server/src/tools/. To add one:
- Create
mcp-server/src/tools/my-tool.tswith aToolDefinitionexport - Add the handler in
extension/background.jsin thedispatch()function - Export it from
mcp-server/src/tools/index.ts - Add a test in
tests/tools/
- Fork the repository
- Create a feature branch (
git checkout -b feat/my-feature) - Make your changes
- Run
npm run typecheck && npm test && npm run build - Commit using conventional commits (
feat:,fix:, etc.) - Push and open a pull request
mcp-server/src/
index.ts Entry point, MCP server setup
bridge.ts WebSocket bridge with reliability features
tools/ One file per tool (click.ts, scroll.ts, etc.)
extension/
background.js Service worker, tool handlers
content.js Console capture
popup/ Connection status UI
agent-config/ Cursor rules, commands, Claude Code configs
tests/ Bridge + registry tests