Choose your mode
Browser Jet Pilot supports two primary transport modes:- HTTP mode: Expose browser tools as an HTTP service for remote access
- Stdio mode: Direct integration with MCP clients like Claude Desktop
Option 1: HTTP mode (recommended for testing)
Start the server with HTTP transport:http://localhost:3100/mcp.
Option 2: Stdio mode (for Claude Desktop)
Start the server for stdio transport:Run your first browser sequence
This sequence starts a browser, navigates to a page, captures content, and closes cleanly.Verify server health
Check that the server is responding:Using BrowserAgent with AI
For AI-powered browser automation, provide an API key:Common scenarios
Take a screenshot
Fill a form
Extract structured data
Troubleshooting
curl healthz fails
Ifcurl http://localhost:3100/healthz fails or returns an error:
- Check if the server is running: Verify
node dist/index.jsis active and not crashed - Verify port: Ensure port 3100 is not already in use by another process
- Check host binding: If connecting from another machine, use
--host 0.0.0.0instead oflocalhost - Build output: Make sure you’ve run
npm run buildand thedist/directory exists
browser_start fails
Ifbrowser_start or any browser tool fails:
- Missing dependencies: Ensure Chromium is installed. The server downloads it on first use, which may take time
- Insufficient resources: Check available memory and disk space (Chromium needs ~300MB)
- Display issues (Linux): If running headless without a display, ensure XVFB or similar is configured
- Previous browser instance: A browser may already be running. Call
browser_endfirst to clean up
Tool calls return errors
If MCP tool calls return errors to your client:- Transport mismatch: Ensure your client uses the correct URL path (
/mcpfor HTTP mode) - Timeouts: Increase timeout values if browser operations take longer than expected
- Malformed requests: Verify tool names and parameters match the schema in /reference/tools
- Server logs: Check server output for detailed error messages and stack traces
Port conflicts
If you see “port already in use” errors:CDP connection issues
If connecting to an external CDP endpoint fails:- CDP endpoint availability: Verify the remote browser is running with
--remote-debugging-port=9222 - Network accessibility: Ensure the CDP URL is reachable from the server’s network
- Wrong CDP URL: Check that
CDP_URLincludes the correct host (notlocalhostif running in Docker) - Firewall: Confirm ports 9222 and related ports are not blocked
Next steps
- Deploy with Docker: /getting-started/docker
- Learn BrowserAgent and BrowserSkill: /guides/agent-and-skill
- Run reliability checks: /guides/reliability-checks
- View all tools: /reference/tools