npx claudepluginhub pokutuna/mcp-chrome-tabsDirect access to your browser's open tabs content via MCP
Model Context Protocol (MCP) server that provides direct access to your browser's open tabs content. No additional fetching or authentication required - simply access what you're already viewing.
<img src="./demo/demo.webp" width="600px" />--check-interval to enable)[!IMPORTANT]
macOS only - This MCP server uses AppleScript and only works on macOS.
First, enable "Allow JavaScript from Apple Events" in Chrome:
When you first use the MCP server, macOS will prompt you to grant AppleScript automation permission to your MCP client (e.g., Claude Desktop, Claude Code). Click OK to allow access to Chrome. If you accidentally dismissed the dialog, you can enable it in System Settings > Privacy & Security > Automation.
Standard config works in most MCP clients (e.g., .claude.json, .mcp.json):
{
"mcpServers": {
"chrome-tabs": {
"command": "npx",
"args": ["-y", "@pokutuna/mcp-chrome-tabs@latest"]
}
}
}
Or for Claude Code:
claude mcp add -s user chrome-tabs -- npx -y @pokutuna/mcp-chrome-tabs@latest
You can also install this as a Claude Code plugin:
# Add the marketplace
/plugin marketplace add pokutuna/mcp-chrome-tabs
# Install the plugin
/plugin install mcp-chrome-tabs@mcp-chrome-tabs
The server accepts optional command line arguments for configuration:
Content Extraction Options
--max-content-chars - Maximum content characters per single read (default: 20000)--extraction-timeout - Timeout for content extraction worker in milliseconds (default: 20000)--exclude-hosts - Comma-separated list of domains to exclude from tab listing and content accessResource Options
--check-interval - Interval in milliseconds to check for tab changes and send listChanged notifications (default: 0 disabled, set to 3000 for 3 seconds)Browser Options
--application-name - Application name to control (default: "Google Chrome")--experimental-browser - Browser implementation to use: "chrome", "safari", or "arc" (default: "chrome")Other Options
--help - Show help message with all available optionsSetting --check-interval to a value greater than 0 enables resource subscription. When enabled, the server monitors tab list changes and sends MCP listChanged notifications to prompt clients to refresh their resource lists. This also makes tab://{windowId}/{tabId} resources available for all open tabs.
In 2025-10, few MCP clients support resource subscriptions. Resource subscription is disabled by default (--check-interval=0). Most users only need the tab://current resource, which is always available.
To enable resource subscription:
{
"mcpServers": {
"chrome-tabs": {
"command": "npx",
"args": [
"-y",
"@pokutuna/mcp-chrome-tabs@latest",
"--check-interval=3000"
]
}
}
}
Note that Safari lacks unique tab IDs, making it sensitive to tab order changes during execution:
npx @pokutuna/mcp-chrome-tabs --application-name=Safari --experimental-browser=safari
npx @pokutuna/mcp-chrome-tabs --application-name=Arc --experimental-browser=arc
List all open tabs in the user's browser with their titles, URLs, and tab references.
Get readable content from a tab in the user's browser.
id (optional): Tab reference from list_tabs output (e.g., ID:12345:67890)id is omitted, uses the currently active tabOpen a URL in a new tab to present content or enable user interaction with webpages.