# Google Surf MCP (MCP server)

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

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

## Key facts

| Fact | Value |
|---|---|
| Repository | https://github.com/HarimxChoi/google-surf-mcp |
| GitHub stars | 291 |
| License | MIT |
| Language | TypeScript |
| Transport | stdio |
| Packages | npm: google-surf-mcp |
| Remote URL | none |
| Needs API key | yes |
| Official | no |
| Works with | Claude Desktop, Claude Code, Cursor, VS Code |
| Category | Web & browsing |
| Latest release | v1.1.3 (Sep 10, 2026) |
| Last commit | Sep 10, 2026 |
| MCP registry name | io.github.HarimxChoi/google-surf-mcp |

## Install

### Claude Desktop (claude_desktop_config.json)

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

```sh
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)

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

```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 2026-10-07.

## Environment variables

- `SEARCH_API` (secret): SearchApi API key. Required only for SearchApi primary or fallback modes.
- `SURF_SEARCH_PROVIDER`: Provider for search and search_parallel: browser, searchapi, or fallback. Defaults to browser.
- `SURF_SCHOLAR_PROVIDER`: Provider for scholar_search: browser, searchapi, or fallback. Defaults to browser.
- `SURF_BROWSER_ENGINE`: Browser engine: auto, native, or playwright. Auto uses one hidden native Chrome broker shared across local MCP sessions.
- `CHROME_PATH`: Absolute path to the Chrome binary. Auto-detected on Windows/macOS/Linux when omitted.
- `SURF_PROFILE_ROOT`: Directory for the warm Chrome profile. Defaults to ~/.google-surf-mcp.
- `SURF_RESEARCH`: Enable local project memory and hybrid retrieval. Defaults to true.
- `SURF_RETRIEVAL_MODE`: Shared route for search and search_parallel: live or hybrid. Defaults to hybrid.
- `SURF_RESEARCH_ROOT`: Embedded SurrealDB data directory. Defaults to /research.
- `SURF_RESEARCH_VECTOR_MODEL`: Local model for HNSW retrieval and shared reranking. Defaults to Xenova/multilingual-e5-small; use off to disable.
- `SURF_RESEARCH_VECTOR_LOW_MEMORY`: Disable ONNX CPU memory arena and memory pattern. Defaults to true.
- `SURF_RESEARCH_VECTOR_THREADS`: ONNX intra-op thread count from 1 to 16. Defaults to 4.
- `SURF_RESEARCH_REPO_AUTO`: Sparse-index at most one eligible small GitHub repository per search call. Defaults to true.
- `SURF_RESEARCH_REPO_AUTO_MAX_MB`: Maximum searchable repository source-text size in MB. Assets are excluded. Defaults to 20.
- `SURF_RESEARCH_REPO_AUTO_MAX_FILES`: Maximum repository source file count for automatic indexing. Defaults to 2000.
- `SURF_RESEARCH_BROKER_IDLE_MS`: Shared research broker idle lifetime in milliseconds. Defaults to 60000.
- `SURF_RESEARCH_READ_CONCURRENCY`: Maximum concurrent research broker reads. Defaults to 4.
- `SURF_RESEARCH_QUERY_TIMEOUT_MS`: Timeout per embedded SurrealDB query in milliseconds. Defaults to 120000; timed-out retrieval lanes are reported as partial.
- `GITHUB_TOKEN` (secret): Optional token that raises GitHub API limits for repository inspection.
- `SURF_LOCALE`: Browser locale, e.g. en-US.

## Similar MCP servers

- [Browser Use](https://appsgit.com/mcp-servers/browser-use): Control a real Chrome browser to complete any task: fill forms, extract data, book flights. (117,307 stars, MIT, official)
- [Scrapling MCP Server](https://appsgit.com/mcp-servers/scrapling-mcp-server): Web scraping with stealth HTTP, real browsers, and Cloudflare bypass. (86,017 stars, BSD-3-Clause)
- [Chrome DevTools MCP](https://appsgit.com/mcp-servers/chrome-devtools-mcp): MCP server for Chrome DevTools. (53,049 stars, Apache-2.0)
- [Bytedance Browser](https://appsgit.com/mcp-servers/bytedance-browser): MCP server for browser use access. (39,206 stars, Apache-2.0)
- [Bytedance Commands](https://appsgit.com/mcp-servers/bytedance-commands): An MCP server to run arbitrary commands. (39,206 stars, Apache-2.0)
- [Bytedance Search](https://appsgit.com/mcp-servers/bytedance-search): MCP server for web search operations. (39,206 stars, Apache-2.0)

---

Canonical page: https://appsgit.com/mcp-servers/google-surf-mcp
Source: appsgit (https://appsgit.com), the app store for github. Data from the GitHub API, refreshed nightly.
Machine access: JSON API https://appsgit.com/api/v1/apps (OpenAPI: https://appsgit.com/openapi.json), MCP server https://mcp.appsgit.com/mcp, full index https://appsgit.com/llms-full.txt.
