Tabpilot MCP logo

Tabpilot MCP

by hunglp97

Drive an existing logged-in Chrome session with token-efficient page reading, SPA form handling, and remote debugging support.

Install Tabpilot MCP

Pick your client, then add it in one click or paste the config.

STDIOPython
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "hunglp97-tabpilot-mcp": {
      "command": "uvx",
      "args": [
        "tabpilot-mcp"
      ]
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Automated check passed— started and listed 17 tools correctly (13d ago).

Overview

The hunglp97/tabpilot-mcp MCP server connects AI agents to an existing, logged-in Google Chrome session rather than launching a blank browser. It reads pages with selector-based and link-density extraction, clicks elements, fills modern SPA forms, handles survey grids, and captures screenshots from background tabs. Use it for authenticated workflows involving SSO, saved cookies, React interfaces, or long-running headless Ubuntu deployments. Chrome can connect through CDP, while macOS also supports an AppleScript fallback.

Use cases

  • Automate authenticated Chrome workflows without re-entering SSO credentials
  • Read targeted sections of long pages within a limited token budget
  • Fill React forms and multi-row survey grids
  • Operate Chrome on a headless Ubuntu server
  • Capture screenshots from background tabs

Key features

  • Existing Chrome session and cookie access
  • Token-bounded page and DOM reading
  • React-aware form filling
  • Survey matrix automation
  • Portal-based option selection
  • Background tab screenshots

Tools17

What Tabpilot MCP lets your agent do. Expand a tool for its parameters.

Verified live~4.3k tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 3d ago

Recent health check succeeded.

6/6 checks healthy over the last 24d

What it can do

From the 17 tools this server returned when we ran it.

Runs commands · 1Can delete or modify data · 1Handles credentials · 1Makes network requests · 4Read-only tools · 15
Network at startup2 connections
Files written at startup10

Observed 2026-10-27 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 7d ago via OSV.dev · tabpilot-mcp (PyPI)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars5Stargazers on the source repository.
Last commit1mo agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed17Callable tools this server registers over MCP.

How Tabpilot MCP works

What hunglp97/tabpilot-mcp does

The hunglp97/tabpilot-mcp MCP server lets an MCP-compatible agent control a real Google Chrome profile that already contains its cookies, sessions, and authentication state. It is intended for workflows where opening a new browser would require repeated login or would not behave like a normal user browser.

The server supports both page inspection and interaction. Agents can read focused sections instead of receiving an entire document, inspect specific DOM properties, click controls, populate inputs, choose options from portal-based interfaces, complete multi-row survey grids, and take screenshots without bringing a background tab to the foreground.

This makes it relevant to the 📂 Browser Automation category, especially for authenticated web applications and single-page applications.

How it works

The hunglp97/tabpilot-mcp MCP server communicates with Chrome through the Chrome DevTools Protocol when Chrome is started with remote debugging enabled. On macOS, it can alternatively use AppleScript to drive an already-open Chrome window when the required JavaScript-from-Apple-Events setting is enabled.

Page reading uses progressive extraction. query_dom(selector) is intended for small checks such as button state, fields, badges, or alerts. read_tab(selector) limits output to a selected section, while read_tab() applies link-density filtering to remove much of the surrounding navigation and page clutter. Reads have a default maximum of 20,000 characters and report truncation so the agent can narrow its next query.

Form actions account for common SPA behavior. Native property setters and input/change events help update React-controlled fields. fill_matrix schedules survey-grid interactions row by row, and select_option_ui opens portal-rendered controls before selecting an option.

Setup and configuration

Install or test the package with Python tooling. The documented diagnostic command is:

bash
uvx tabpilot-mcp doctor

Installation through pip is also supported:

Terminal
pip install tabpilot-mcp

Register the server with an MCP client using the uvx command and tabpilot-mcp argument. Chrome must then be fully closed and relaunched with a remote debugging port and a persistent user-data directory. The README provides commands for macOS, Linux, and Windows.

On macOS, the debugging launch is optional if AppleScript fallback is used. In that case, enable “Allow JavaScript from Apple Events” in Chrome under View → Developer.

Tools and capabilities

The documented capabilities include:

  • Reading full pages with link-density filtering or reading selected elements with read_tab.
  • Querying focused DOM information with query_dom.
  • Clicking controls and filling forms using browser events.
  • Handling React, Vue, and Svelte-style form behavior.
  • Selecting options rendered by React-Select or similar portal-based UI components with select_option_ui.
  • Completing multi-row survey grids with fill_matrix.
  • Capturing screenshots from tabs that are not currently visible.
  • Running against headless Ubuntu with a systemd-based deployment stack.

Limitations and notes

The server requires access to a Chrome profile and does not create the authenticated session for you. Remote debugging must be configured when using CDP, and the macOS AppleScript route has its own Chrome permission prerequisite. Using a dedicated persistent profile is shown in the setup commands.

Read output is intentionally bounded and may be truncated. Agents should respond by querying a narrower selector rather than assuming omitted content.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Tabpilot MCP

hunglp97/tabpilot-mcp is an MCP server that connects AI agents to an existing, logged-in Google Chrome session. Its main tools and capabilities include token-efficient tab reading, targeted DOM queries, browser clicks, SPA form filling, survey matrix handling, portal-based option selection, and background-tab screenshots through Chrome automation.

Install it with `pip install tabpilot-mcp`, or run `uvx tabpilot-mcp doctor` without a separate installation. Then add an MCP server entry using the `uvx` command and `tabpilot-mcp` argument, and launch Chrome with remote debugging enabled and a persistent user-data directory.

After adding the server command and arguments, launch Chrome with the required remote debugging settings or use the documented macOS AppleScript fallback.

Yes, it is designed to handle common SPA form issues in React, Vue, and Svelte interfaces. Native property setters and input/change events update controlled fields, while `fill_matrix` handles survey rows and `select_option_ui` works with portal-rendered option lists.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewTabpilot MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/hunglp97-tabpilot-mcp?style=directory)](https://allmcps.com/mcp/hunglp97-tabpilot-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/hunglp97-tabpilot-mcp"><img src="https://allmcps.com/api/badge/hunglp97-tabpilot-mcp?style=directory" alt="Tabpilot MCP on AllMCPs" /></a>