Remote Browser is an open-source, self-hosted browser orchestration system for AI agent harness engineering.
It launches and manages multiple isolated, containerized Chrome instances with CDP (Chrome Devtools Protocol) support for scalable web automation. Remote Browser is designed to integrate with AI agent runtimes and browser tools, and works with OpenClaw, Hermes Agent, etc.
It also bundles an MCP server for extracting personal data from many services: Amazon order history, Garmin activity stats, Zillow favorites, and more. This MCP server works with Claude Code, LM Studio, Gemini CLI, and many more.
Remote Browser is a Python app. To run it, you need uv and Podman:
uvx remotebrowserThen open http://localhost:23456.
Standard config works with most tools:
{
"mcpServers": {
"remotebrowser-mcp": {
"url": "http://127.0.0.1:23456/mcp"
}
}
}Claude Code
Use the Claude Code CLI to add the MCP server:
claude mcp add --transport http remotebrowser-mcp http://localhost:23456/mcpClaude Desktop
Follow the MCP install guide, use the standard config above.
Gemini CLI
Follow the MCP install guide, use the standard config above.
LM Studio
Go to Program in the right sidebar -> Install -> Edit mcp.json. Use the standard config above.
VS Code
Follow the MCP install guide, use the standard config above.
POST /api/v1/browsers/{browser_id} creates a new browser with the specified browser_id. The browser runs in a container.
Example: curl -X POST localhost:8300/api/v1/browsers/xyz123 creates a container named chromium-xyz123 and returns:
{ "container_name": "chromium-xyz123", "status": "created" }DELETE /api/v1/browsers/{browser_id} terminates the browser with the specified browser_id and returns the container name. Returns HTTP 404 if the browser ID is not found.
Example: curl -X DELETE localhost:8300/api/v1/browsers/xyz123 terminates the container named chromium-xyz123 and returns:
{ "container_name": "chromium-xyz123", "status": "deleted" }GET /api/v1/browsers/{browser_id} returns information about the browser with the specified browser_id. Returns HTTP 404 if the browser is not found.
Example: curl localhost:8300/api/v1/browsers/xyz123 returns:
{ "last_activity_timestamp": 1772069081 }GET /api/v1/browsers returns a JSON array of all running browser IDs.
Example: curl localhost:8300/api/v1/browsers returns:
["xyz123", "abc234"]To run the development version, clone this repository and run:
uv run -m uvicorn getgather.main:app --port 23456Supported deployment:
