Skip to main content
Glama

Liberty Browser

Tests

Liberty Browser is a local Python MCP server and CLI that controls installed Google Chrome through Chrome DevTools Protocol (CDP), using a dedicated persistent profile.

Open-web focus

Liberty Browser supports navigation across HTTP and HTTPS sites without a built-in website allowlist. Websites retain their own sign-in, verification, and access requirements.

Related MCP server: devtools-fleet-mcp

How it works

  1. Run liberty-browser login to open installed Google Chrome with a dedicated profile for manual sign-in.

  2. Close the Chrome windows using that profile.

  3. Call an MCP browser tool. Liberty Browser starts the same Chrome profile with loopback CDP, waits for readiness, verifies the process and profile, and connects.

Playwright provides the CDP connection API. All browser actions use installed Google Chrome. Cookies and signed-in state remain in the local profile outside this repository.

Requirements

  • Windows

  • Python 3.10 or newer

  • Google Chrome installed

Install

py -m venv .venv
.\.venv\Scripts\python.exe -m pip install "git+https://github.com/andrey-barros-dev/liberty-browser.git"
.\.venv\Scripts\Activate.ps1

MCP configuration

{
  "mcpServers": {
    "liberty-browser": {
      "command": "liberty-browser-mcp",
      "args": []
    }
  }
}

Use the absolute path to .venv/Scripts/liberty-browser-mcp.exe when the command is not on PATH. liberty-browser-codex is a compatibility alias for the same persistent Chrome MCP runtime. MCP messages use stdio.

CLI

liberty-browser login
liberty-browser tabs list
liberty-browser navigate https://example.com
liberty-browser inspect
liberty-browser shell

Browser actions automatically launch or reconnect to the dedicated Chrome profile. Closing the MCP connection leaves Chrome running.

Configuration

Variable

Purpose

Default

BROWSER_MCP_PROFILE

Dedicated persistent Chrome profile

%LOCALAPPDATA%/LibertyBrowser/profile

BROWSER_MCP_CDP_PORT

Loopback CDP port

9224

BROWSER_MCP_TIMEOUT_MS

Browser action timeout

10000

Development

python -m pip install -e ".[test]"
python -m pytest -q

Tests use temporary Chrome profiles and local fixture pages. See Architecture, Contributing, and Security.

Privacy and security

The persistent profile contains browser session data. Keep it private and outside source control. A connected MCP client can act with that session's permissions. Website verification remains under the website's control.

License

MIT. See LICENSE.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Drives your real local Chrome with profile isolation, allowing LLMs to interact with your logged-in sessions without modifying your actual profile.
    13
    22 npm
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables multiple AI agents to each run Google's full Chrome DevTools toolset in an isolated Chrome instance with saved logins, origin allowlists, reconnect recovery, and process cleanup. It also provides visibility into running browsers so stale sessions can be inspected or reaped.
    38
    187 npm
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables AI agents to drive a live, persistent self-hosted Chromium session over MCP, running browser actions via Playwright/CDP, capturing page snapshots, screenshots and videos, and managing uploads and downloads in the same tabs and signed-in accounts a human user can take over at any time.
    1 npm
    Apache 2.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to control an existing signed-in Chrome profile through MCP stdio, using its current tabs, cookies, and logins without pairing or a separate browser. It exposes tab management, page interaction, screenshots, and Chrome DevTools Protocol commands.
    29 npm
    MIT