Chrome extension and MCP server for AI-driven web automation.
browser-pilot-mcp/
├── src/
│ ├── host/ # MCP Server (Node.js)
│ │ └── index.ts # Server entry point
│ ├── extension/ # Chrome Extension
│ │ ├── service_worker.ts # Background service worker
│ │ ├── content.ts # Content script
│ │ ├── sidepanel/ # Side panel UI
│ │ │ ├── index.html # Side panel HTML
│ │ │ └── index.ts # Side panel TypeScript
│ │ └── manifest.json # Extension manifest
│ └── shared/ # Shared types and utilities
│ └── types.ts # Common TypeScript interfaces
├── scripts/
│ └── dev.sh # Development script
├── dist/ # Build output
│ ├── host/ # Built MCP server
│ └── extension/ # Built Chrome extension
└── package.json
-
Install dependencies:
bun install
-
Start development environment:
bun run dev
This runs both the MCP host server and Chrome extension in watch mode.
-
Load the extension in Chrome:
- Open Chrome and go to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select the
dist/extensiondirectory
- Open Chrome and go to
bun run build- Build both host and extension for productionbun run build:host- Build only the MCP serverbun run build:extension- Build only the Chrome extensionbun run dev:host- Build MCP server in watch modebun run dev:extension- Build Chrome extension in watch mode
bun test- Run tests oncebun run test:watch- Run tests in watch modebun run lint- Run ESLintbun run type-check- Run TypeScript type checking
- Bun runtime
- Chrome/Chromium browser
- TypeScript 5+
- An MCP-compatible AI assistant (like Claude Desktop, Kiro, or other MCP clients)
-
Build the MCP Server:
bun run build:host
-
Configure MCP Client:
Add the browser-pilot-mcp server to your MCP client configuration. The exact location depends on your client:
For Kiro IDE:
- Workspace config:
.kiro/settings/mcp.json - User config:
~/.kiro/settings/mcp.json
For Claude Desktop:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Example configuration:
{ "mcpServers": { "browser-pilot": { "command": "node", "args": ["./dist/host/index.js"], "cwd": "/path/to/browser-pilot-mcp", "env": { "NODE_ENV": "production" } } } } - Workspace config:
-
Install Chrome Extension:
bun run build:extension
- Open
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" → select
dist/extension/
- Open
-
Start Using:
- Restart your MCP client
- The browser-pilot tools should now be available
- Open a website in Chrome and start automating!
Once configured, you'll have access to web automation tools like:
navigate- Navigate to URLsclick- Click elements on pagestype- Type text into form fieldsscreenshot- Capture page screenshotsread_text- Extract text contentwait_for- Wait for elements to appear
- Server not connecting: Check that the path in your MCP config points to the built
dist/host/index.jsfile - Extension not working: Ensure the Chrome extension is loaded and active
- Permission errors: Check that the extension has necessary permissions for the target websites
-
Install dependencies:
bun install
-
Start development environment:
bun run dev
-
Load extension in Chrome (see Installation steps above)