io.github.HarimxChoi/google-surf-mcp
Web, academic and code search with graph RAG, data lineage, ontology and cross-project schema links.
The current version, v1.1.3, was published to the official MCP registry on 2026-09-10. It is distributed as google-surf-mcp on npm, filed under Search by this index, and declares 29 environment variables. Removals and unreachable sources are measured across every server this index tracks, contract drift across the servers that answer in consecutive snapshots; the index's current counts put this record in context.
Using io.github.HarimxChoi/google-surf-mcp in Claude, Cursor, Gemini CLI, Cline, or Zed?
MCP tool contracts can change remotely with no version bump. The mcpindex gate pins each contract and HOLDs the call when it drifts-before your agent acts. Zero credentials. This is not the package install for this server itself (use Install this server for that).
Rewrites your MCP host config so each server launches behind the gate. Inspect first: curl -fsSL https://mcpindex.ai/install.sh | less
uv tool install mcpindex-gate && mcpindex-config-wireSemantic screen found no manipulation pattern in the description. Conformance probe not yet run.
mcpindex.integrity.descriptionpassINFOevidence“Normal capability description”via static_description
- - Semantic screen only - the deterministic conformance probe has not run on this server
- - Confidence is reported but not yet calibrated (v1)
- - Screen reads the tool description, not the live behavior
- - advisory
- - registry description only no input schema
- - screen model 8b
- - The registry listing (version, packages, links) changed after this screen ran - the description we assessed did not
Semantic screen: an LLM judge reads the tool description for hidden instructions (status PARTIAL). A pass means the description is not lying, not that the tool is safe: a high-capability tool with an honest description still warrants caution. The deterministic conformance probe has not been run on this server yet, so the screen here is semantic-only. Posture: advisory. Confidences are reported but not yet calibrated (calibrated=false at v1). Full verdict history is not shown on this page.
Own this server? Screen its description →
That verdict was true at screening time (snapshot 2026-09-14).
Contracts can change after screening, with no version bump. The gate pins io.github.HarimxChoi/google-surf-mcp’s tool contracts on first sight and holds any silent change before your agent acts - the check that keeps being true on Tuesday.
See your first HOLD in 2 minutes →
Related: how to trust an MCP server · screen before install · silent contract drift
People vet a server before wiring it in. One line on your project site or docs answers that with an independent record: screening verdict, registry provenance, contract drift history. It stays current as new screens and drift events land.
[Independent trust record for io.github.HarimxChoi/google-surf-mcp](https://mcpindex.ai/server/io-github-harimxchoi-google-surf-mcp) - screening verdict, registry provenance, and contract drift monitoring.<a href="https://mcpindex.ai/server/io-github-harimxchoi-google-surf-mcp">Independent trust record for io.github.HarimxChoi/google-surf-mcp</a> - screening verdict, registry provenance, and contract drift monitoring.A live verdict badge for your README or listing. It reflects the current screen, links back here, and updates when the verdict does.
[](https://mcpindex.ai/server/io-github-harimxchoi-google-surf-mcp)<a href="https://mcpindex.ai/server/io-github-harimxchoi-google-surf-mcp"><img src="https://mcpindex.ai/api/v1/badge/io-github-harimxchoi-google-surf-mcp" alt="mcpindex verdict" height="20" /></a>SEARCH_APISearchApi API key. Required only for SearchApi primary or fallback modes.
SURF_SEARCH_PROVIDERProvider for search and search_parallel: browser, searchapi, or fallback. Defaults to browser.
SURF_SCHOLAR_PROVIDERProvider for scholar_search: browser, searchapi, or fallback. Defaults to browser.
SURF_BROWSER_ENGINEBrowser engine: auto, native, or playwright. Auto uses one hidden native Chrome broker shared across local MCP sessions.
CHROME_PATHAbsolute path to the Chrome binary. Auto-detected on Windows/macOS/Linux when omitted.
SURF_PROFILE_ROOTDirectory for the warm Chrome profile. Defaults to ~/.google-surf-mcp.
SURF_RESEARCHEnable local project memory and hybrid retrieval. Defaults to true.
SURF_RETRIEVAL_MODEShared route for search and search_parallel: live or hybrid. Defaults to hybrid.
SURF_RESEARCH_ROOTEmbedded SurrealDB data directory. Defaults to <profile>/research.
SURF_RESEARCH_VECTOR_MODELLocal model for HNSW retrieval and shared reranking. Defaults to Xenova/multilingual-e5-small; use off to disable.
SURF_RESEARCH_VECTOR_LOW_MEMORYDisable ONNX CPU memory arena and memory pattern. Defaults to true.
SURF_RESEARCH_VECTOR_THREADSONNX intra-op thread count from 1 to 16. Defaults to 4.
SURF_RESEARCH_REPO_AUTOSparse-index at most one eligible small GitHub repository per search call. Defaults to true.
SURF_RESEARCH_REPO_AUTO_MAX_MBMaximum searchable repository source-text size in MB. Assets are excluded. Defaults to 20.
SURF_RESEARCH_REPO_AUTO_MAX_FILESMaximum repository source file count for automatic indexing. Defaults to 2000.
SURF_RESEARCH_BROKER_IDLE_MSShared research broker idle lifetime in milliseconds. Defaults to 60000.
SURF_RESEARCH_READ_CONCURRENCYMaximum concurrent research broker reads. Defaults to 4.
SURF_RESEARCH_QUERY_TIMEOUT_MSTimeout per embedded SurrealDB query in milliseconds. Defaults to 120000; timed-out retrieval lanes are reported as partial.
GITHUB_TOKENOptional token that raises GitHub API limits for repository inspection.
SURF_LOCALEBrowser locale, e.g. en-US.
SURF_TZIANA timezone, e.g. America/New_York. Defaults to system timezone.
SURF_HEADLESSControls Playwright extraction, compatibility, and recovery paths. Native search hides normal system Chrome and shows it only for CAPTCHA recovery.
SURF_IDLE_CLOSE_MSIdle ms before closing the sequential ctx and pool. 0 disables idle auto-close. Defaults to 30000.
SURF_ALLOW_PRIVATESet 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.
SURF_LLM_HEALEnable the optional workflow-only LLM selector repair path. Defaults to false.
SURF_LLM_PROVIDERLLM selector repair provider: anthropic or orcarouter. Defaults to anthropic.
SURF_LLM_MODELOptional model override. OrcaRouter defaults to orcarouter/auto.
ANTHROPIC_API_KEYAnthropic API key for optional LLM-assisted selector repair.
ORCAROUTER_API_KEYOrcaRouter API key for optional LLM-assisted selector repair.
Trend, stats & insight search across PSFK expert graphs with citable sources.
Connect AI agents to ProductNow's context engine to search, create, review, and act.
Lightning-fast RAG for AI agents. 4-layer fusion, ONNX Runtime, sub-200ms search.