JUHE API Marketplace
pokutuna avatar
MCP Server

@pokutuna/mcp-chrome-tabs

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

22
GitHub Stars
8/23/2025
Last Updated
MCP Server Configuration
1{
2 "name": "chrome-tabs",
3 "command": "npx",
4 "args": [
5 "-y",
6 "@pokutuna/mcp-chrome-tabs@latest"
7 ]
8}
JSON8 lines

README Documentation

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

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 (support is limited in most clients)

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 を許可

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

Command Line Options

The server accepts optional command line arguments for configuration:

  • --application-name - Application name to control (default: "Google Chrome")
  • --exclude-hosts - Comma-separated list of domains to exclude from tab listing and content access
  • --check-interval - Interval in milliseconds to check for tab changes and notify clients (default: 3000, set to 0 to disable)
  • --max-content-chars - Truncates tab content to a maximum number of characters (default: 20000)

Experimental Safari Support

Limited Safari support is available. 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

Experimental Arc Browser Support

Arc Browser support is available. Arc is Chrome-based and supports JavaScript execution from Apple Events:

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

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
tab://{windowId}/{tabId}

Resource template for accessing specific tabs.

  • URI pattern: tab://{windowId}/{tabId}
  • MIME type: text/markdown
  • Content: Content of the specified tab
  • Resources are dynamically generated based on currently open tabs

Quick Install

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source