52
/ 100
4 days ago
glama

google-surf-mcp

Provides Google search, URL extraction, and academic paper inline extraction without API keys, enabling search and content retrieval from a single MCP server.

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
configPORT
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_NAV_TIMEOUT_MS
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/tamir-ariunsukh-google-surf-mcp-i0bg2g)](https://m8ven.ai/mcp/tamir-ariunsukh-google-surf-mcp-i0bg2g)
commit: b8b93340b41bc15a83de8e8fc1949e712d7cb448
code hash: 2abb3482daaeca7dfbd5eb240ed79ba16783354caa7907b8c9fcc8a90756252c
verified: 7/27/2026, 10:23:08 AM
view raw JSON →