Skip to main content
Glama
cmann50

MCP Chrome Google Search

by cmann50

MCP Chrome Google Search Tool

MCP tool for Google search and webpage content extraction using Chrome browser. Works with Claude to enable Google search and content fetching capabilities.

Quick Installation

  1. Configure Claude Desktop

    • Open Claude Desktop on Mac

    • Go to Claude > Settings > Developer > Edit Config

    • Add the following to your config file:

    {
      "mcpServers": {
        "mcp-chrome-google-search": {
          "command": "npx",
          "args": [
            "-y",
            "@cmann50/mcp-chrome-google-search"
          ]
        }
      }
    }
    • Restart Claude Desktop

  2. First Time Setup

    • Grant Accessibility Permissions

      • On first run, approve macOS accessibility permissions prompt

      • Navigate to: System Preferences > Security & Privacy > Privacy > Accessibility

      • Add and enable permissions for your terminal app

    • Enable Chrome JavaScript from Apple Events

      • Open Chrome

      • Navigate to: View > Developer > Allow JavaScript from Apple Events

      • One-time setup only

Once configured, Claude will be able to perform Google searches and extract webpage content through Chrome when you make requests.

Related MCP server: Web Search MCP

Key Advantages

  • Free to search google

  • Opens and small windows and uses your chrome browser, so should not get blocked

  • Since it is using your Chrome window it can access authenticated content. Claude can just open the URL in your browser.

Platform Support

  • ✅ macOS

  • ❌ Windows (not supported)

  • ❌ Linux (not supported)

Requirements

  1. macOS

  2. Google Chrome

  3. Node.js 20 or higher

Alternative Installation Methods

NPX Installation

npx mcp-chrome-google-search

Custom Installation

  1. Checkout from git

  2. Run npm run build

  3. Add to Claude config (use absolute path):

{
    "google-tools": {
        "command": "node",
        "args": [
            "/your/checkout/path/mcp/mcp-chrome-google-search/dist/index.js"
        ]
    }
}

Local development

To test changes locally bump package.json version and run to put it in edit mode:

npm install -g .

Then just do npm run build and the files will go in dist where claude is monitoring

Then press ctrl-R in claude desktop, no need to restart it

Debugging

Log Monitoring

# Follow logs in real-time
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log

Dev Tools Access

  1. Enable developer settings:

echo '{"allowDevTools": true}' > ~/Library/Application\ Support/Claude/developer_settings.json
  1. Open DevTools: Command-Option-Shift-i in Claude desktop

  2. Use ctrl-r in Claude desktop while tailing for better errors

Troubleshooting

Chrome JavaScript Error

If you see:

execution error: Google Chrome got an error: Executing JavaScript through AppleScript 
is turned off. For more information: https://support.google.com/chrome/?p=applescript (12)

Solution:

  1. Open Chrome

  2. View > Developer > Allow JavaScript from Apple Events

Accessibility Permission Issues

If Chrome control fails:

  1. Open System Preferences

  2. Security & Privacy > Privacy > Accessibility

  3. Ensure terminal app is listed and enabled

  4. Use lock icon to make changes if needed

Implementation Details

  • Uses AppleScript for Chrome control

  • Visible automation - Chrome windows will open/navigate

  • Each request opens a new Chrome tab

  • Close unused tabs periodically for optimal performance

  • Only use with trusted Claude instances (has Chrome control access)

Support

  • Create GitHub issues for problems

  • Include macOS and Chrome version details

License

MIT License - see LICENSE file for details

Available Tools

2 tools
web_fetchC

Extract readable text content from a webpage using Chrome browser automation.

Key Features:

  • Returns main content text and optionally links

ParametersJSON Schema
NameRequiredDescriptionDefault
includeLinksNoWhether to include extracted links in the output
urlYesWebpage URL to fetch (must include http:// or https://)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions Chrome browser automation and returning main content text with optional links, but lacks critical behavioral details: it doesn't specify if this is a read-only operation, potential rate limits, authentication needs, error handling for inaccessible pages, or what 'readable text' entails (e.g., stripping HTML, handling dynamic content). The description adds some context but leaves significant gaps for a tool interacting with external webpages.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured with a clear opening sentence followed by a bullet point. Every sentence earns its place by stating the core purpose and a key feature. However, the bullet point format is slightly redundant with the main sentence, and it could be more front-loaded by integrating the optional links feature into the initial statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of web scraping (external interactions, potential failures) and lack of annotations or output schema, the description is incomplete. It doesn't explain return values beyond 'main content text and optionally links', leaving the agent uncertain about output structure, error responses, or behavioral constraints like timeouts or permissions. For a tool with no structured safety hints, this is inadequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear descriptions for both parameters in the schema itself. The description adds minimal value beyond the schema: it mentions 'optionally links' which aligns with the 'includeLinks' parameter but doesn't provide additional semantic context. With high schema coverage, the baseline is 3, and the description doesn't significantly enhance parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Extract readable text content from a webpage using Chrome browser automation.' It specifies the verb (extract), resource (text content from a webpage), and method (Chrome browser automation). However, it doesn't explicitly differentiate from its sibling 'web-search' tool, which likely searches rather than extracts content from a specific URL.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It mentions 'optionally links' as a feature but doesn't clarify scenarios where including links is beneficial or when to choose this over 'web-search'. There's no mention of prerequisites, limitations, or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.3/5.0
Disambiguation5/5

The two tools have clearly distinct purposes: web_fetch extracts content from a specific webpage, while web_search performs web searches and returns result pages. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the task.

Naming Consistency5/5

Both tool names follow a consistent snake_case pattern with a clear verb-noun structure: web_fetch and web_search. The naming is predictable and readable, with no deviations in style or convention.

Tool Count2/5

With only 2 tools, the server feels thin for a Google Search domain, which typically involves more operations like advanced filtering, image search, or history management. While the tools cover basic fetch and search, the scope is limited and could benefit from additional functionality to fully represent the domain.

Completeness3/5

The tools cover core search and content extraction, but there are notable gaps for a Google Search server, such as no tools for image search, news search, or handling search settings. Agents can perform basic tasks but may encounter dead ends for more advanced operations, indicating incomplete coverage of the domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Transforms Chrome browser into an AI-controlled automation tool that allows AI assistants like Claude to access browser functionality, enabling complex automation, content analysis, and semantic search while preserving your existing browser environment.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables web searching through Google, DuckDuckGo, and Bing using a headless Chrome browser, returning structured results with titles, URLs, and snippets. Also supports fetching and extracting text content from any webpage.
    12
    MIT
  • A
    license
    B
    quality
    A
    maintenance
    Enables controlling a real Chrome browser from MCP hosts like Claude, with extension-based or CDP fallback, supporting tabs, navigation, interaction, and page reading tools.
    33
    40
    5
    MIT

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/cmann50/mcp-chrome-google-search'

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