
Chrome Tabs
Integrates with Chrome on macOS to view and manage browser tabs through AppleScript automation. Requires accessibility permissions to control Chrome tabs.
Integrates with Chrome on macOS to retrieve and manage browser tab information using AppleScript.
What it does
- Get all open Chrome tabs with titles and URLs
- Close specific tabs using stable unique IDs
- Activate and focus specific tabs
- Manage tabs across multiple Chrome windows
Best for
About Chrome Tabs
Chrome Tabs is a community-built MCP server published by kazuph that provides AI assistants with tools and capabilities via the Model Context Protocol. Chrome Tabs lets you manage and retrieve tab information from Chrome on macOS using AppleScript for seamless browser con It is categorized under browser automation. This server exposes 4 tools that AI clients can invoke during conversations and coding sessions.
How to install
You can install Chrome Tabs in your AI client of choice. Use the install panel on this page to get one-click setup for Cursor, Claude Desktop, VS Code, and other MCP-compatible clients. This server runs locally on your machine via the stdio transport.
License
Chrome Tabs is released under the MIT license. This is a permissive open-source license, meaning you can freely use, modify, and distribute the software.
Tools (4)
Get all open tabs from Google Chrome browser with unique tab IDs. Each tab has a stable, unique ID that persists across browser operations. Output shows both display format (1-1, 1-2) and Tab ID [Tab ID: 1234567890] for each tab. ALWAYS use the Tab ID number for reliable operations.
🔥 PREFERRED METHOD: Close a specific tab in Google Chrome using its unique tab ID. IMMUNE to tab reordering, window changes, and index shifting. Extract the Tab ID from [Tab ID: 1234567890] in get_tabs output. Example: if tab shows '[Tab ID: 1594670961]', use tabId: 1594670961
🔥 PREFERRED METHOD: Activate (focus) a specific tab in Google Chrome using its unique tab ID. Brings the tab to the front and makes it active. Extract the Tab ID from [Tab ID: 1234567890] in get_tabs output.
⚠️ LEGACY DANGER: Close a specific tab using window/tab index. HIGH RISK of closing wrong tabs due to index shifting when tabs are reordered/closed. STRONGLY DEPRECATED: Use close_tab_by_id instead. Only use if Tab ID is unavailable.
MCP Browser Tabs
Model Context Protocol server for retrieving and managing Chrome browser tabs information. This allows Claude Desktop (or any MCP client) to fetch information about and control currently open Chrome tabs.
Quick Start (For Users)
To use this tool with Claude Desktop, simply add the following to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"tools": {
"browser-tabs": {
"command": "npx",
"args": ["-y", "@kazuph/mcp-browser-tabs"]
}
}
}
This will automatically download and run the latest version of the tool when needed.
Required Setup
- Enable Accessibility for Chrome:
- Open System Settings
- Go to Privacy & Security > Accessibility
- Click the "+" button
- Add Google Chrome from your Applications folder
- Turn ON the toggle for Chrome
This accessibility setting is required for AppleScript to interact with Chrome tabs.
For Developers
The following sections are for those who want to develop or modify the tool.
Prerequisites
- Node.js 18+
- macOS (for AppleScript operations)
- Google Chrome
- Claude Desktop (install from https://claude.ai/desktop)
- tsx (install via
npm install -g tsx)
Installation
git clone https://github.com/kazuph/mcp-browser-tabs.git
cd mcp-browser-tabs
npm install
npm run build
Available Tools
-
get_tabs: Retrieves all open tabs from Google Chrome browser, returning their titles and URLs. Tabs are grouped by window and displayed in a format like "Window 1-1" (Window 1, Tab 1). -
close_tab: Closes a specific tab in Google Chrome using window and tab indices.- Parameters:
- windowIndex: Window number (starts from 1)
- tabIndex: Tab number within the window (starts from 1)
- Note: When closing multiple tabs, start from the highest index numbers to avoid index shifting. After closing tabs, use get_tabs to confirm the changes.
- Parameters:
Notes
- This tool is designed for macOS only due to its dependency on AppleScript.
- Requires Google Chrome to be installed and running.
- Accessibility permissions must be granted for Chrome.
License
MIT License - see the LICENSE file for details
Alternatives
Related Skills
Browse all skillsBrowser automation, debugging, and performance analysis using Puppeteer CLI scripts. Use for automating browsers, taking screenshots, analyzing performance, monitoring network traffic, web scraping, form automation, and JavaScript debugging.
Lightweight Chrome automation toolkit with shared configuration, JSON-first output, and six focused scripts for starting, navigating, inspecting, capturing, evaluating, and cleaning up browser sessions.
Guide users through browser automation setup using Chrome DevTools MCP as the primary path and the OpenCode browser extension as a fallback. Use when the user asks to set up browser automation, Chrome DevTools MCP, browser MCP, browser extension, or runs the browser-setup command.
This skill should be used for browser automation tasks using Chrome DevTools Protocol (CDP). Triggers when users need to launch Chrome with remote debugging, navigate pages, execute JavaScript in browser context, capture screenshots, or interactively select DOM elements. No MCP server required.
Manage cloud development sandboxes with cloudrouter. Create, sync, and access remote VMs. Includes browser automation via Chrome CDP for scraping, testing, and web interaction. Use when asked to create a sandbox, spin up a dev environment, run code in the cloud, automate a browser, or interact with remote VMs.
Control headless Chrome via Cloudflare Browser Rendering CDP WebSocket. Use for screenshots, page navigation, scraping, and video capture when browser automation is needed in a Cloudflare Workers environment. Requires CDP_SECRET env var and cdpUrl configured in browser.profiles.