mcp server
google-surf-mcp
Google search via Playwright with a warm Chrome profile. No API key, no proxies.
Description as published by the maintainer. Source
- version 0.7.0
- active
- retrieval
- browser automation
active — Most recent push to the repository was 2026-08-05. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
5 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
extract(url, mode, max_chars)- Fetch one public URL -> clean article text. HTML via Mozilla Readability; academic PDFs (arxiv/biorxiv/Nature/OpenReview/NeurIPS/JMLR/PMLR/Springer/PubMed-via-PMC) auto-detected via Content-Type, %PDF magic, citation_pdf_url meta, and per-domain URL rules. Tiered depth: `mode="abstract"` returns ~1500 chars (PDF page 1 or HTML meta description) -- cheap survey to triage relevance before paying for full body. `mode="full"` (default) returns the whole article. Best-effort: failures return an errorInfo instead of throwing. Required: url.
health- MCP server status: cascade mode + transitions, rate-limiter usage, cache size, config. Call this if searches start failing or returning empty -- check cascade.totalCaptchas and rateLimiter.queueSize, and reduce search volume if they are high.
search(limit, query)- Single Google search -> title/url/snippet per result. Results are cached 24h, so repeating a query is free -- prefer re-querying over caching results yourself. For latest/today/breaking queries set SURF_CACHE_TTL_SEARCH_MS=0 to bypass the cache. Default limit 10 (max 20). First call ~4s (Chromium warmup), then ~2s. On CAPTCHA a visible Chrome opens for a human to solve (shared-IP protection); SURF_CLOUD_MODE=true makes it fail-fast instead. Required: query.
search_extract(mode, limit, query, max_chars)- One-shot Google search + parallel extract of the top results. Default `mode="abstract"` returns SERP enriched with ~1500-char abstracts per result -- a cheap survey of what the top results actually contain, far fewer tokens than fetching all bodies. Switch to `mode="full"` only when you need the actual article texts (slower, much more tokens). Per-page extract failures are isolated. Disabled in cloud mode. Required: query.
search_parallel(limit, queries)- Run 2-10 Google searches concurrently. Use to compare multiple angles in one call. Each query counts against the internal rate limit (~10/min) -- do not loop this for bulk scraping. First call adds 5-10s pool warmup. Per-query failures are isolated in the results array. Disabled in cloud mode. Required: queries.
Last successful function declaration observed on
.
Source: pkg:npm/google-surf-mcp. We list what the server declared;
we do not call any of these functions.
Endpoint status observed on
.
Source: pkg:npm/google-surf-mcp.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| GitHub stars | 276 | Number of GitHub accounts that bookmarked this repository since it was created. It is a bookmark count, not installs, not active users and not quality. | cumulative, all time | GitHub | |
| Last commit | 2026-08-05 | Date of the most recent push to any branch. This is the strongest cheap indicator of whether the project is still maintained. | point in time | GitHub | |
| Open issues | 0 | Open issues plus open pull requests, as GitHub counts them together. A high number can mean an active project or an abandoned one. | as of fetch | GitHub | |
| Latest published version | 0.7.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-07-10 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| License | MIT | Licence GitHub detected in the repository. Detection can be wrong; the LICENSE file is authoritative. | as of fetch | GitHub | |
| First listed in the MCP Registry | 2026-07-10 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| repository status | active | The repository exists on GitHub and is not archived. This says nothing about how recently it was worked on. | as of fetch | GitHub | |
| mcp tools declared | 5 tools | Number of functions the server declared when started and asked to list them. It says what the server offers an agent, not how well any of it works. | as of probe | npm |
|
| mcp endpoint status | ok | The server listed 5 functions when asked. | as of probe | npm |
|
| package install scripts | prepare | This package runs its own code during installation (prepare), before you ever start it. That is normal for many packages and is also where npm supply-chain attacks operate. We installed it with those scripts disabled. | as of probe | npm |
Where to get it
Related, by what their authors tagged them
-
Gemina FileTag
— last commit 2026-07-31, shares pdf-processing
Tag, rename, and enrich PDFs and images. Free tier: 1,500 tags/month, no credit card.
-
ai.keenable/web-search
— last commit 2026-06-27, shares fetch
Live web search and clean-markdown page fetch over the Keenable web index.
-
ToolSnap MCP
— last commit 2026-07-26, shares fetch
Deterministic AI agent microtools, no accounts/API keys. fetch_extract: 98% token cut. 38 tools.
-
AIMarket MCP Gateway
— last commit 2026-08-05, shares fetch
Stdio + Streamable-HTTP MCP gateway: SSRF-hardened web_fetch, web_search, metis_verify.
-
ai.smithery/pinkpixel-dev-web-scout-mcp
— last commit 2026-07-21, shares google-search
Search the web and extract clean, readable text from webpages. Process multiple URLs at once to sp…
-
io.github.AceDataCloud/mcp-serp
— last commit 2026-08-02, shares google-search
MCP server for Google search results via SERP API
-
io.github.annibale-x/webshift
— last commit 2026-05-09, shares google-search
Rust MCP server for denoised web search — fetch, clean, and rerank web content for AI agents.
-
io.github.daanielcruz/gsearch
— last commit 2026-04-30, shares google-search
Free Google Search with inline citations for any MCP-compatible AI tool.
-
ai.smithery/browserbasehq-mcp-browserbase
— archived, last commit 2026-07-20, shares playwright
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to i…
-
ai.testiv/mcp
— last commit 2026-08-04, shares playwright
Local-first visual regression for AI agents: verdicts, diff images, explain_snapshot. No API key.
These share tags the maintainers applied themselves, such as pdf-processing, fetch, google-search, playwright. Common tags like "mcp" or "ai" are ignored for this: agreeing with six hundred other projects is not a similarity.
This is not a recommendation and not a test result. It is a map of what the authors said their work is about.
How the author describes it
Topics the maintainer set on GitHub: academic-research, fetch, google-search, mcp, model-context-protocol, pdf-processing, playwright, self-healing.
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json