@pokutuna/mcp-chrome-tabs logo

@pokutuna/mcp-chrome-tabs

Community
pokutuna

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

Publisherpokutuna
Repositorymcp-chrome-tabs
LanguageTypeScript
Forks
5
Stars
33
Available tools
0
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    @pokutuna/mcp-chrome-tabs exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    33 stars and 5 forks from the linked repository.

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

json
{
  "mcpServers": {
    "chrome-tabs": {
      "command": "npx",
      "args": ["-y", "@pokutuna/mcp-chrome-tabs@latest"]
    }
  }
}

Or for Claude Code:

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

bash
# 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:

json
{
  "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:

bash
npx @pokutuna/mcp-chrome-tabs --application-name=Safari --experimental-browser=safari

Arc

bash
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
  • Always available regardless of --check-interval setting

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.

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "mcpServers": {
    "chrome-tabs": {
      "command": "npx",
      "args": [
        "-y",
        "@pokutuna/mcp-chrome-tabs@latest"
      ]
    }
  }
}

Use @pokutuna/mcp-chrome-tabs MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once @pokutuna/mcp-chrome-tabs is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add @pokutuna/mcp-chrome-tabs as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the @pokutuna/mcp-chrome-tabs MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "pokutuna-mcp-chrome-tabs": {
      "command": "npx",
      "args": [
        "-y",
        "@pokutuna/mcp-chrome-tabs@latest"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the @pokutuna/mcp-chrome-tabs MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the @pokutuna/mcp-chrome-tabs MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use @pokutuna/mcp-chrome-tabs to help me with this task?
@pokutuna/mcp-chrome-tabs
Sure. I read it.
Here is what I found using @pokutuna/mcp-chrome-tabs.

Frequently asked questions

What is the @pokutuna/mcp-chrome-tabs MCP server used for?

@pokutuna/mcp-chrome-tabs is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use @pokutuna/mcp-chrome-tabs MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use @pokutuna/mcp-chrome-tabs with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use @pokutuna/mcp-chrome-tabs MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With @pokutuna/mcp-chrome-tabs connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect @pokutuna/mcp-chrome-tabs MCP to TypingMind?

@pokutuna/mcp-chrome-tabs runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does @pokutuna/mcp-chrome-tabs MCP provide in TypingMind?

@pokutuna/mcp-chrome-tabs exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use @pokutuna/mcp-chrome-tabs MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If @pokutuna/mcp-chrome-tabs requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇