Skip to content
appsgit

Google Surf MCP

Google Surf MCP is an MCP server that adds web browsing tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links. It has 291 GitHub stars, is released under the MIT license and runs locally with npx -y google-surf-mcp.

github.com/HarimxChoi/google-surf-mcp (opens in a new tab)

Install Google Surf MCP

Generated from the server's MCP registry entry. Replace your-value with your own values.

Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "google-surf-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "google-surf-mcp"
      ],
      "env": {
        "SEARCH_API": "your-value",
        "GITHUB_TOKEN": "your-value"
      }
    }
  }
}

Settings > Developer > Edit Config. macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\. Restart Claude Desktop afterwards.

Claude Code

claude mcp add --env SEARCH_API=your-value --env GITHUB_TOKEN=your-value --transport stdio google-surf-mcp -- npx -y google-surf-mcp

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "google-surf-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "google-surf-mcp"
      ],
      "env": {
        "SEARCH_API": "your-value",
        "GITHUB_TOKEN": "your-value"
      }
    }
  }
}

Project file; use ~/.cursor/mcp.json to enable it in every project.

VS Code

.vscode/mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "search_api",
      "description": "SEARCH_API",
      "password": true
    },
    {
      "type": "promptString",
      "id": "github_token",
      "description": "GITHUB_TOKEN",
      "password": true
    }
  ],
  "servers": {
    "google-surf-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "google-surf-mcp"
      ],
      "env": {
        "SEARCH_API": "${input:search_api}",
        "GITHUB_TOKEN": "${input:github_token}"
      }
    }
  }
}

Config formats checked against the official docs on Oct 7, 2026: modelcontextprotocol.io (opens in a new tab), code.claude.com (opens in a new tab), cursor.com (opens in a new tab), code.visualstudio.com (opens in a new tab).

Environment variables

Variables the server reads at startup.

NameRequiredDescription
SEARCH_APIsecretNoSearchApi API key. Required only for SearchApi primary or fallback modes.
SURF_SEARCH_PROVIDERNoProvider for search and search_parallel: browser, searchapi, or fallback. Defaults to browser.
SURF_SCHOLAR_PROVIDERNoProvider for scholar_search: browser, searchapi, or fallback. Defaults to browser.
SURF_BROWSER_ENGINENoBrowser engine: auto, native, or playwright. Auto uses one hidden native Chrome broker shared across local MCP sessions.
CHROME_PATHNoAbsolute path to the Chrome binary. Auto-detected on Windows/macOS/Linux when omitted.
SURF_PROFILE_ROOTNoDirectory for the warm Chrome profile. Defaults to ~/.google-surf-mcp.
SURF_RESEARCHNoEnable local project memory and hybrid retrieval. Defaults to true.
SURF_RETRIEVAL_MODENoShared route for search and search_parallel: live or hybrid. Defaults to hybrid.
SURF_RESEARCH_ROOTNoEmbedded SurrealDB data directory. Defaults to /research.
SURF_RESEARCH_VECTOR_MODELNoLocal model for HNSW retrieval and shared reranking. Defaults to Xenova/multilingual-e5-small; use off to disable.
SURF_RESEARCH_VECTOR_LOW_MEMORYNoDisable ONNX CPU memory arena and memory pattern. Defaults to true.
SURF_RESEARCH_VECTOR_THREADSNoONNX intra-op thread count from 1 to 16. Defaults to 4.
SURF_RESEARCH_REPO_AUTONoSparse-index at most one eligible small GitHub repository per search call. Defaults to true.
SURF_RESEARCH_REPO_AUTO_MAX_MBNoMaximum searchable repository source-text size in MB. Assets are excluded. Defaults to 20.
SURF_RESEARCH_REPO_AUTO_MAX_FILESNoMaximum repository source file count for automatic indexing. Defaults to 2000.
SURF_RESEARCH_BROKER_IDLE_MSNoShared research broker idle lifetime in milliseconds. Defaults to 60000.
SURF_RESEARCH_READ_CONCURRENCYNoMaximum concurrent research broker reads. Defaults to 4.
SURF_RESEARCH_QUERY_TIMEOUT_MSNoTimeout per embedded SurrealDB query in milliseconds. Defaults to 120000; timed-out retrieval lanes are reported as partial.
GITHUB_TOKENsecretNoOptional token that raises GitHub API limits for repository inspection.
SURF_LOCALENoBrowser locale, e.g. en-US.

About Google Surf MCP

Web searches, papers, and GitHub repositories are stored as PKM, ontology, and lineage. The view above is generated with projectmemory(action="export", exportformat="html", exportview="graph", allprojects=true).

  • google-search
  • mcp
  • model-context-protocol
  • playwright
  • academic-research
  • fetch
  • pdf-processing
  • self-healing

FAQ

Google Surf MCP FAQ

Still curious? Email info@appsgit.com.

What is Google Surf MCP?

Google Surf MCP is an MCP server that adds web browsing tools to AI assistants such as Claude Desktop, Claude Code and Cursor. Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links. It has 291 GitHub stars, is released under the MIT license and runs locally with npx -y google-surf-mcp. The source code is at github.com/HarimxChoi/google-surf-mcp.

How do I install the Google Surf MCP MCP server?

Add the command npx -y google-surf-mcp to your MCP client: put it in claude_desktop_config.json for Claude Desktop, run claude mcp add for Claude Code, or add it to .cursor/mcp.json (Cursor) or .vscode/mcp.json (VS Code). The snippets on this page are ready to paste.

Is Google Surf MCP free?

The server is open source under the MIT license, so running it is free. It needs credentials (SEARCH_API and GITHUB_TOKEN) for the service it connects to, which may require a paid account.

Is Google Surf MCP actively maintained?

The most recent commit was on Sep 10, 2026. The latest release is v1.1.3, published Sep 10, 2026. appsgit only lists MCP servers with a commit in the last six months and re-checks every server daily.