google surf mcp for Cursor
io.github.harimxchoi/google-surf-mcp
Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.
client:Cursor
transport:stdio
runtime:npm
Install google surf mcp in Cursor
~/.cursor/mcp.json · windows: %USERPROFILE%\.cursor\mcp.json
{
"mcpServers": {
"google-surf-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"google-surf-mcp"
],
"env": {
"SEARCH_API": "<SEARCH_API>",
"SURF_SEARCH_PROVIDER": "<SURF_SEARCH_PROVIDER>",
"SURF_SCHOLAR_PROVIDER": "<SURF_SCHOLAR_PROVIDER>",
"SURF_BROWSER_ENGINE": "<SURF_BROWSER_ENGINE>",
"CHROME_PATH": "<CHROME_PATH>",
"SURF_PROFILE_ROOT": "<SURF_PROFILE_ROOT>",
"SURF_RESEARCH": "<SURF_RESEARCH>",
"SURF_RETRIEVAL_MODE": "<SURF_RETRIEVAL_MODE>",
"SURF_RESEARCH_ROOT": "<SURF_RESEARCH_ROOT>",
"SURF_RESEARCH_VECTOR_MODEL": "<SURF_RESEARCH_VECTOR_MODEL>",
"SURF_RESEARCH_VECTOR_LOW_MEMORY": "<SURF_RESEARCH_VECTOR_LOW_MEMORY>",
"SURF_RESEARCH_VECTOR_THREADS": "<SURF_RESEARCH_VECTOR_THREADS>",
"SURF_RESEARCH_REPO_AUTO": "<SURF_RESEARCH_REPO_AUTO>",
"SURF_RESEARCH_REPO_AUTO_MAX_MB": "<SURF_RESEARCH_REPO_AUTO_MAX_MB>",
"SURF_RESEARCH_REPO_AUTO_MAX_FILES": "<SURF_RESEARCH_REPO_AUTO_MAX_FILES>",
"SURF_RESEARCH_BROKER_IDLE_MS": "<SURF_RESEARCH_BROKER_IDLE_MS>",
"SURF_RESEARCH_READ_CONCURRENCY": "<SURF_RESEARCH_READ_CONCURRENCY>",
"SURF_RESEARCH_QUERY_TIMEOUT_MS": "<SURF_RESEARCH_QUERY_TIMEOUT_MS>",
"GITHUB_TOKEN": "<GITHUB_TOKEN>",
"SURF_LOCALE": "<SURF_LOCALE>",
"SURF_TZ": "<SURF_TZ>",
"SURF_HEADLESS": "<SURF_HEADLESS>",
"SURF_IDLE_CLOSE_MS": "<SURF_IDLE_CLOSE_MS>",
"SURF_ALLOW_PRIVATE": "<SURF_ALLOW_PRIVATE>",
"SURF_LLM_HEAL": "<SURF_LLM_HEAL>",
"SURF_LLM_PROVIDER": "<SURF_LLM_PROVIDER>",
"SURF_LLM_MODEL": "<SURF_LLM_MODEL>",
"ANTHROPIC_API_KEY": "<ANTHROPIC_API_KEY>",
"ORCAROUTER_API_KEY": "<ORCAROUTER_API_KEY>"
}
}
}
}
Use .cursor/mcp.json in a project root instead to scope it to that project. Cursor merges both. Cursor docs