Skip to main content
Glama

@pokutuna/mcp-chrome-tabs

by pokutuna

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

Related MCP server: Fetch MCP Server

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)

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

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

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

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

-
security - not tested
-
license - not tested
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pokutuna/mcp-chrome-tabs'

If you have feedback or need assistance with the MCP directory API, please join our Discord server