57
/ 100
1 month ago
github_topic

google-surf-mcp

Google search MCP. One MCP replaces search + fetch + academic-paper extractor.

Is this your MCP?

Claim it to get a verified publisher badge, a free copy of our full audit findings, and direct contact for any high-priority issues we find.

Install from

M8ven verifies MCPs across every public registry — install directly from whichever one you prefer.

// key findings
🚨
Known vulnerabilities in dependencies: 1 critical, 3 high
Affects packages this MCP installs at runtime. Upgrade or remove the affected dependency.
🔐
You'll be asked for 1 credential: ANTHROPIC_API_KEY
These are read from process.env at runtime. Make sure you trust where they’ll be sent.
// known CVEs in dependencies1 critical3 high

Disclosed vulnerabilities in this server's declared npm dependencies (via OSV). Whether each is reachable depends on the installed versions.

criticalvitest@2.1.9GHSA-5xrq-8626-4rwp

When Vitest UI server is listening, arbitrary file can be read and executed

high@modelcontextprotocol/sdk@1.20.0GHSA-345p-7cg4-v4c7

@modelcontextprotocol/sdk has cross-client data leak via shared server/transport instance reuse

high@modelcontextprotocol/sdk@1.20.0GHSA-8r9q-7v3j-jr4g

Anthropic's MCP TypeScript SDK has a ReDoS vulnerability

high@modelcontextprotocol/sdk@1.20.0GHSA-w48q-cv73-mx4w

Model Context Protocol (MCP) TypeScript SDK does not enable DNS rebinding protection by default

Depend on this server? Get alerted when its CVEs change.Watch this server free →
// required environment variables
This server reads these from process.env. You'll be asked to provide them before it can run.
🔐 secretANTHROPIC_API_KEYyour Anthropic key. Read only when SURF_LLM_HEAL=true. The runtime self-healing in SURF_SELF_HEALING is deterministic and never reads this variable.
configCHROME_PATH/path/to/chrome SURF_TZ=America/New_York npm run bootstrap
configGITHUB_OUTPUT
configSURF_ALLOW_PRIVATEfalse set true to allow extract to fetch private/loopback addresses (localhost, 127.0.0.1, 10.x, 192.168.x, 169.254.x, etc). Default blocks them as an SSRF guard.
configSURF_CAPTCHA_TIMEOUT_MS
configSURF_EXTRACT_OCRfalse OCR scanned/image PDFs via Tesseract (slower; off by default)
configSURF_HEADLESSDemo only. Actual searches run headless by default (no visible browser). Set =false to make Chrome visible like in the clip above.
configSURF_IDLE_CLOSE_MS30000 idle ms before closing the sequential ctx and pool. 0 disables idle auto-close. Lower = faster cleanup, higher = warmer cache for spaced-out calls.
configSURF_LLM_HEALANTHROPIC_API_KEY — your Anthropic key. Read only when =true. The runtime self-healing in SURF_SELF_HEALING is deterministic and never reads this variable.
configSURF_LOCALEen-US browser locale
configSURF_PROFILE_ROOT~/.google-surf-mcp where the warm profile lives
configSURF_TZCHROME_PATH=/path/to/chrome =America/New_York npm run bootstrap
// full audit trail
The full breakdown of what we checked, the deductions that landed, the network hosts, the dependency advisories, and concrete fix guidance is available to verified publishers.
// improvement guidance — verified publishers only
We have 6 concrete improvements we can share with the publisher of this MCP. Each comes with specific guidance to raise the trust score.
// embed badge in your README
[![M8ven Score](https://m8ven.ai/badge/mcp/harimxchoi-google-surf-mcp-5kad15)](https://m8ven.ai/mcp/harimxchoi-google-surf-mcp-5kad15)
commit: 49a37e7e9773dea1637bd2f3cf48620abeefdc56
code hash: 992f2814c9ff6380d0cdf4a641a42536cef45489473287128ce92bc16b78058f
verified: 6/14/2026, 11:25:47 AM
view raw JSON →