Back to Browse

Google Surf MCP Server

Developer ToolsUse Caution4.2MCP RegistryLocal
Free

Server data from the Official MCP Registry

Google search via Playwright with a warm Chrome profile. No API key, no proxies.

About

Google search via Playwright with a warm Chrome profile. No API key, no proxies.

Security Report

4.2
Use Caution4.2High Risk

The MCP server is generally well-structured with appropriate authentication patterns (no API keys required, uses persistent browser profiles), reasonable input validation via Zod schemas, and permissions that align with its search/extraction purpose. However, there are moderate-severity issues including inadequate SSRF controls (private IP blocking can be disabled via env var), potential sensitive data in telemetry logs, and error handling that may leak implementation details. The code quality is good overall but has some areas for improvement in secret handling and logging practices. Supply chain analysis found 4 known vulnerabilities in dependencies (1 critical, 3 high severity). Package verification found 1 issue.

4 files analyzed · 13 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

HTTP Network Access

Connects to external APIs or services over the internet.

network_websocket

Check that this permission is expected for this type of plugin.

env_vars

Check that this permission is expected for this type of plugin.

process_spawn

Check that this permission is expected for this type of plugin.

What You'll Need

Set these up before or after installing:

Absolute path to the Chrome binary. Auto-detected on Windows/macOS/Linux when omitted.Optional

Environment variable: CHROME_PATH

Directory for the warm Chrome profile. Defaults to ~/.google-surf-mcp.Optional

Environment variable: SURF_PROFILE_ROOT

Browser locale, e.g. en-US.Optional

Environment variable: SURF_LOCALE

IANA timezone, e.g. America/New_York. Defaults to system timezone.Optional

Environment variable: SURF_TZ

Set to 'false' to run Chrome visibly (demos/debugging). Defaults to true. CAPTCHA recovery always runs visible regardless.Optional

Environment variable: SURF_HEADLESS

Idle ms before closing the sequential ctx and pool. 0 disables idle auto-close. Defaults to 30000.Optional

Environment variable: SURF_IDLE_CLOSE_MS

Set to 'true' to allow extract on private/loopback addresses (localhost, 10.x, 192.168.x, 169.254.x, etc). Default blocks them as an SSRF guard.Optional

Environment variable: SURF_ALLOW_PRIVATE

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-harimxchoi-google-surf-mcp": {
      "env": {
        "SURF_TZ": "your-surf-tz-here",
        "CHROME_PATH": "your-chrome-path-here",
        "SURF_LOCALE": "your-surf-locale-here",
        "SURF_HEADLESS": "your-surf-headless-here",
        "SURF_PROFILE_ROOT": "your-surf-profile-root-here",
        "SURF_ALLOW_PRIVATE": "your-surf-allow-private-here",
        "SURF_IDLE_CLOSE_MS": "your-surf-idle-close-ms-here"
      },
      "args": [
        "-y",
        "google-surf-mcp"
      ],
      "command": "npx"
    }
  }
}

Reviews

No reviews yet

Be the first to review this server!