google-surf-mcp
local MCP servergoogle-surf-mcp is a local MCP server: Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links. Install it from npm as google-surf-mcp.
Installation
Terminal
claude mcp add google-surf-mcp -e SEARCH_API=... -e SURF_SEARCH_PROVIDER=... -e SURF_SCHOLAR_PROVIDER=... -e SURF_BROWSER_ENGINE=... -e CHROME_PATH=... -e SURF_PROFILE_ROOT=... -e SURF_RESEARCH=... -e SURF_RETRIEVAL_MODE=... -e SURF_RESEARCH_ROOT=... -e SURF_RESEARCH_VECTOR_MODEL=... -e SURF_RESEARCH_VECTOR_LOW_MEMORY=... -e SURF_RESEARCH_VECTOR_THREADS=... -e SURF_RESEARCH_REPO_AUTO=... -e SURF_RESEARCH_REPO_AUTO_MAX_MB=... -e SURF_RESEARCH_REPO_AUTO_MAX_FILES=... -e SURF_RESEARCH_BROKER_IDLE_MS=... -e SURF_RESEARCH_READ_CONCURRENCY=... -e SURF_RESEARCH_QUERY_TIMEOUT_MS=... -e GITHUB_TOKEN=... -e SURF_LOCALE=... -e SURF_TZ=... -e SURF_HEADLESS=... -e SURF_IDLE_CLOSE_MS=... -e SURF_ALLOW_PRIVATE=... -e SURF_LLM_HEAL=... -e SURF_LLM_PROVIDER=... -e SURF_LLM_MODEL=... -e ANTHROPIC_API_KEY=... -e ORCAROUTER_API_KEY=... -- npx -y google-surf-mcp
Run in your project folder. Add --scope user to use it everywhere.
Claude Desktop, Cursor & other clients
Add to claude_desktop_config.json or .cursor/mcp.json.
{
"mcpServers": {
"google-surf-mcp": {
"command": "npx",
"args": [
"-y",
"google-surf-mcp"
],
"env": {
"SEARCH_API": "...",
"SURF_SEARCH_PROVIDER": "...",
"SURF_SCHOLAR_PROVIDER": "...",
"SURF_BROWSER_ENGINE": "...",
"CHROME_PATH": "...",
"SURF_PROFILE_ROOT": "...",
"SURF_RESEARCH": "...",
"SURF_RETRIEVAL_MODE": "...",
"SURF_RESEARCH_ROOT": "...",
"SURF_RESEARCH_VECTOR_MODEL": "...",
"SURF_RESEARCH_VECTOR_LOW_MEMORY": "...",
"SURF_RESEARCH_VECTOR_THREADS": "...",
"SURF_RESEARCH_REPO_AUTO": "...",
"SURF_RESEARCH_REPO_AUTO_MAX_MB": "...",
"SURF_RESEARCH_REPO_AUTO_MAX_FILES": "...",
"SURF_RESEARCH_BROKER_IDLE_MS": "...",
"SURF_RESEARCH_READ_CONCURRENCY": "...",
"SURF_RESEARCH_QUERY_TIMEOUT_MS": "...",
"GITHUB_TOKEN": "...",
"SURF_LOCALE": "...",
"SURF_TZ": "...",
"SURF_HEADLESS": "...",
"SURF_IDLE_CLOSE_MS": "...",
"SURF_ALLOW_PRIVATE": "...",
"SURF_LLM_HEAL": "...",
"SURF_LLM_PROVIDER": "...",
"SURF_LLM_MODEL": "...",
"ANTHROPIC_API_KEY": "...",
"ORCAROUTER_API_KEY": "..."
}
}
}
}Fill in the environment variables with your own credentials.
What you need
- Runtime: Node.js 18+ (runs with npx).
- MCP client: Claude Code, Codex, Antigravity, Claude Desktop, Cursor or any other client that speaks MCP over stdio.
- Environment variables:
SEARCH_API,SURF_SEARCH_PROVIDER,SURF_SCHOLAR_PROVIDER,SURF_BROWSER_ENGINE,CHROME_PATH,SURF_PROFILE_ROOT,SURF_RESEARCH,SURF_RETRIEVAL_MODE,SURF_RESEARCH_ROOT,SURF_RESEARCH_VECTOR_MODEL,SURF_RESEARCH_VECTOR_LOW_MEMORY,SURF_RESEARCH_VECTOR_THREADS,SURF_RESEARCH_REPO_AUTO,SURF_RESEARCH_REPO_AUTO_MAX_MB,SURF_RESEARCH_REPO_AUTO_MAX_FILES,SURF_RESEARCH_BROKER_IDLE_MS,SURF_RESEARCH_READ_CONCURRENCY,SURF_RESEARCH_QUERY_TIMEOUT_MS,GITHUB_TOKEN,SURF_LOCALE,SURF_TZ,SURF_HEADLESS,SURF_IDLE_CLOSE_MS,SURF_ALLOW_PRIVATE,SURF_LLM_HEAL,SURF_LLM_PROVIDER,SURF_LLM_MODEL,ANTHROPIC_API_KEY,ORCAROUTER_API_KEY
Summary
Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.
google-surf-mcp vs similar servers
| Server | Stars | Type | API key | Runtime |
|---|---|---|---|---|
| google-surf-mcp | 290 | Local | Yes | npm |
| OpenMetadata | 15K | Hosted | No | None |
| Firecrawl MCP Server | 7,526 | Local | Yes | npm |
| arxiv-mcp-server | 3,177 | Local | Yes | pypi |
| brave | 1,477 | Hosted | Yes | None |
Questions
It reads 29 environment variables: SEARCH_API, SURF_SEARCH_PROVIDER, SURF_SCHOLAR_PROVIDER, SURF_BROWSER_ENGINE, CHROME_PATH, SURF_PROFILE_ROOT, SURF_RESEARCH, SURF_RETRIEVAL_MODE, SURF_RESEARCH_ROOT, SURF_RESEARCH_VECTOR_MODEL, SURF_RESEARCH_VECTOR_LOW_MEMORY, SURF_RESEARCH_VECTOR_THREADS, SURF_RESEARCH_REPO_AUTO, SURF_RESEARCH_REPO_AUTO_MAX_MB, SURF_RESEARCH_REPO_AUTO_MAX_FILES, SURF_RESEARCH_BROKER_IDLE_MS, SURF_RESEARCH_READ_CONCURRENCY, SURF_RESEARCH_QUERY_TIMEOUT_MS, GITHUB_TOKEN, SURF_LOCALE, SURF_TZ, SURF_HEADLESS, SURF_IDLE_CLOSE_MS, SURF_ALLOW_PRIVATE, SURF_LLM_HEAL, SURF_LLM_PROVIDER, SURF_LLM_MODEL, ANTHROPIC_API_KEY, ORCAROUTER_API_KEY. Set them in your MCP config before starting the server.
Node.js 18+ (runs with npx), plus an MCP client such as Claude Code, Codex, Claude Desktop or Cursor.
google-surf-mcp is a local MCP server distributed as the npm package google-surf-mcp.
Run: claude mcp add google-surf-mcp -e SEARCH_API=... -e SURF_SEARCH_PROVIDER=... -e SURF_SCHOLAR_PROVIDER=... -e SURF_BROWSER_ENGINE=... -e CHROME_PATH=... -e SURF_PROFILE_ROOT=... -e SURF_RESEARCH=... -e SURF_RETRIEVAL_MODE=... -e SURF_RESEARCH_ROOT=... -e SURF_RESEARCH_VECTOR_MODEL=... -e SURF_RESEARCH_VECTOR_LOW_MEMORY=... -e SURF_RESEARCH_VECTOR_THREADS=... -e SURF_RESEARCH_REPO_AUTO=... -e SURF_RESEARCH_REPO_AUTO_MAX_MB=... -e SURF_RESEARCH_REPO_AUTO_MAX_FILES=... -e SURF_RESEARCH_BROKER_IDLE_MS=... -e SURF_RESEARCH_READ_CONCURRENCY=... -e SURF_RESEARCH_QUERY_TIMEOUT_MS=... -e GITHUB_TOKEN=... -e SURF_LOCALE=... -e SURF_TZ=... -e SURF_HEADLESS=... -e SURF_IDLE_CLOSE_MS=... -e SURF_ALLOW_PRIVATE=... -e SURF_LLM_HEAL=... -e SURF_LLM_PROVIDER=... -e SURF_LLM_MODEL=... -e ANTHROPIC_API_KEY=... -e ORCAROUTER_API_KEY=... -- npx -y google-surf-mcp
Run: codex mcp add google-surf-mcp --env SEARCH_API=... --env SURF_SEARCH_PROVIDER=... --env SURF_SCHOLAR_PROVIDER=... --env SURF_BROWSER_ENGINE=... --env CHROME_PATH=... --env SURF_PROFILE_ROOT=... --env SURF_RESEARCH=... --env SURF_RETRIEVAL_MODE=... --env SURF_RESEARCH_ROOT=... --env SURF_RESEARCH_VECTOR_MODEL=... --env SURF_RESEARCH_VECTOR_LOW_MEMORY=... --env SURF_RESEARCH_VECTOR_THREADS=... --env SURF_RESEARCH_REPO_AUTO=... --env SURF_RESEARCH_REPO_AUTO_MAX_MB=... --env SURF_RESEARCH_REPO_AUTO_MAX_FILES=... --env SURF_RESEARCH_BROKER_IDLE_MS=... --env SURF_RESEARCH_READ_CONCURRENCY=... --env SURF_RESEARCH_QUERY_TIMEOUT_MS=... --env GITHUB_TOKEN=... --env SURF_LOCALE=... --env SURF_TZ=... --env SURF_HEADLESS=... --env SURF_IDLE_CLOSE_MS=... --env SURF_ALLOW_PRIVATE=... --env SURF_LLM_HEAL=... --env SURF_LLM_PROVIDER=... --env SURF_LLM_MODEL=... --env ANTHROPIC_API_KEY=... --env ORCAROUTER_API_KEY=... -- npx -y google-surf-mcp
Similar MCP servers
NameStars
- OpenMetadataio.github.open-metadata/openmetadata-mcp15K
- Firecrawl MCP Serverio.github.firecrawl/firecrawl-mcp-server7,526
- arxiv-mcp-serverio.github.blazickjp/arxiv-mcp-server3,177
- braveai.smithery/brave1,477
- SoloMDio.github.zhitongblog/solomd1,130
- QueryWeavercom.falkordb/QueryWeaver1,081
- fastCRWio.github.us/fastcrw1,079
- Marmot Data Catalogio.github.marmotdata/marmot618