@pokutuna/mcp-chrome-tabs

@pokutuna/mcp-chrome-tabs

pokutuna

Accesses content from your Chrome browser's open tabs without scraping or authentication. Works only on macOS using AppleScript automation.

provides direct access to your browser's open tabs content. No additional fetching or authentication required - simply access what you're already viewing.

29142 views4Local (stdio)

What it does

  • Read content from open Chrome tabs
  • Access currently active tab instantly
  • Convert tab content to markdown format
  • Monitor tab changes with notifications

Best for

Analyzing web content already open in browserAI workflows needing current tab contextmacOS users with Chrome-based research tasks
No web scraping requiredmacOS only via AppleScriptContent optimized for AI tokens

About @pokutuna/mcp-chrome-tabs

@pokutuna/mcp-chrome-tabs is a community-built MCP server published by pokutuna that provides AI assistants with tools and capabilities via the Model Context Protocol. Instantly access and read your open Chrome tabs — direct browser tabs content with no extra fetching or authentication. It is categorized under browser automation, developer tools.

How to install

You can install @pokutuna/mcp-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

@pokutuna/mcp-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.

@pokutuna/mcp-chrome-tabs

npm version

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.

README image

Key Features

  • Direct browser tab access - No web scraping needed, reads content from already open tabs
  • Content optimized for AI - Automatic content extraction and markdown conversion to reduce token usage
  • Active tab shortcut - Instant access to currently focused tab without specifying IDs
  • MCP listChanged notifications - Follows MCP protocol to notify tab changes (set --check-interval to enable)

Requirements

[!IMPORTANT]
macOS only - This MCP server uses AppleScript and only works on macOS.

  • Node.js 20 or newer
  • MCP Client such as Claude Desktop, Claude Code, or any MCP-compatible client
  • macOS only (uses AppleScript for browser automation)

Getting Started

First, enable "Allow JavaScript from Apple Events" in Chrome:

  • (en) View > Developer > Allow JavaScript from Apple Events
  • (ja) 表示 > 開発 / 管理 > Apple Events からの JavaScript を許可

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

Claude Code Plugin

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

Command Line Options

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 access

Resource 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 options

Resource Subscription (Optional)

Setting --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"
      ]
    }
  }
}

Other Browser Support (Experimental)

Safari

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

Arc

npx @pokutuna/mcp-chrome-tabs --application-name=Arc --experimental-browser=arc

MCP Features

Tools

list_tabs

List all open tabs in the user's browser with their titles, URLs, and tab references.

  • Returns: Markdown formatted list of tabs with tab IDs for reference
read_tab_content

Get readable content from a tab in the user's browser.

  • id (optional): Tab reference from list_tabs output (e.g., ID:12345:67890)
  • If id is omitted, uses the currently active tab
  • Returns: Clean, readable content extracted using Mozilla Readability
open_in_new_tab

Open a URL in a new tab to present content or enable user interaction with webpages.

  • url (required): URL to open in the browser
  • Returns: Tab ID in format ID:windowId:tabId for immediate access to the new tab

Resources

tab://current

Resource representing the content of the currently active tab.

  • URI: tab://current
  • MIME type: text/markdown
  • Content: Real-time content of the active browser tab
  • Always available regardless of --check-interval setting
tab://{windowId}/{tabId}

Resource template for accessing specific tabs.

  • URI pattern: tab://{windowId}/{tabId}
  • MIME type: text/markdown
  • Content: Content of the specified tab
  • Availability: Only when --check-interval is set to a value greater than 0
  • Resources are dynamically generated based on currently open tabs
  • When enabled, the server monitors tab changes and sends MCP listChanged notifications

Troubleshooting

Current Tabs (0 tabs exists) is displayed

Ensure "Allow JavaScript from Apple Events" is enabled in Chrome (see Getting Started).

If it was working before, try restarting your browser.

Alternatives

Related Skills

Browse all skills
chrome-devtools

Browser 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.

30
browser-tools

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.

5
browser-setup-devtools

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.

3
crewai-developer

Comprehensive CrewAI framework guide for building collaborative AI agent teams and structured workflows. Use when developing multi-agent systems with CrewAI, creating autonomous AI crews, orchestrating flows, implementing agents with roles and tools, or building production-ready AI automation. Essential for developers building intelligent agent systems, task automation, and complex AI workflows.

2
browser

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.

2
ccxt-typescript

CCXT cryptocurrency exchange library for TypeScript and JavaScript developers (Node.js and browser). Covers both REST API (standard) and WebSocket API (real-time). Helps install CCXT, connect to exchanges, fetch market data, place orders, stream live tickers/orderbooks, handle authentication, and manage errors. Use when working with crypto exchanges in TypeScript/JavaScript projects, trading bots, arbitrage systems, or portfolio management tools. Includes both REST and WebSocket examples.

1