← All posts

google-surf-mcp

Search, web, and academic PDF infrastructure for AI agents · MCP TOPLIST Top 1%

Built with TypeScript · MCP · Playwright · PDF extraction · Vitest

Architecture diagram showing six MCP tools routed through search providers, web and PDF extraction, recovery, caching, CAPTCHA handoff, parser healing, and SSRF protection
Six tools share provider, extraction, recovery, and safety layers

WHY

An LLM agent needs more than search-result links; it must read current web pages and the body of academic PDFs before it can answer with useful evidence. Existing tools separated web search, academic search, and parsing, while weak PDF extraction and provider failures made the workflow slow and unreliable. I built one search interface that could retrieve, read, and recover from those failures for the agent.

MCP interface 6 tools

Search, parallel search, web, PDF, and academic retrieval

Validation 388 / 388

Full Vitest suite across 44 test files

MCP TOPLIST Top 1%

Published npm package

HOW

One agent interface across unstable search and document sources

Provider selection, extraction, recovery, and security are separated so a failure can be handled at the layer that owns it.

  1. 01 Agent request

    Expose search and extraction as typed MCP tools with a consistent response schema.

  2. 02 Provider routing

    Choose browser or API search, run parallel queries, and fall back per query instead of failing the full batch.

  3. 03 Document extraction

    Recover readable web text and spatially ordered PDF content behind the same interface.

  4. 04 Recovery and safety

    Handle CAPTCHA, cache, rate limits, parser drift, redirects, and SSRF before returning structured results.

RESULT

Validation chart showing 388 passing tests across search and providers, extraction and SSRF, recovery and healing, and runtime state
Full Vitest run · 388 tests in 44 files

Contribution

  • Designed the MCP API and implemented provider routing, concurrent search, web and PDF extraction, caching, recovery, and security boundaries.
  • Published the package and built a regression suite around real markup drift, redirect, CAPTCHA, parser, and cloud-runtime failure modes.

Evidence

Source code Published MCP server, tests, and runtime documentation