Skip to content

Releases: HarimxChoi/google-surf-mcp

v0.8.0

Choose a tag to compare

@HarimxChoi HarimxChoi released this 11 Aug 18:19

Highlights

  • Added scholar_search for Google Scholar paper metadata, citations, related versions, and available full text.
  • Added SearchApi as an optional primary or fallback provider for search, search_parallel, and scholar_search.
  • Browser search remains the default and requires no API key.
  • Added SEARCH_API, SURF_SEARCH_PROVIDER, and SURF_SCHOLAR_PROVIDER configuration.
  • Added provider and API key status to health without exposing the key.

SearchApi support is sponsored by SearchApi.

Fixes

  • Detect dead pooled browser contexts through the context close event instead of the unreliable ctx.pages() probe in #11.

Contributors

Full Changelog: v0.7.0...v0.8.0

v0.7.0

Choose a tag to compare

@HarimxChoi HarimxChoi released this 10 Jul 16:34
  • parse/score: reorder strategies by measured win rate, capture real SERP fixtures, anchor CJK ad markers, adopt SERP language for ad filtering
  • triage: partial-degradation votes (peer strategy + persisted baseline) replacing the h3-only rule
  • browser/pool: reap orphan per-PID worker profiles, dead-ctx detection on the sequential path
  • cascade: persist stealth mode across restarts (24h TTL); consent no longer counts as a captcha
  • humanlike: on by default (background), human-speed typing
  • repair: blocked probe fails the run and writes repair-report.json
  • fix: search_extract respects SURF_EXTRACT_MAX_CHARS"

v0.6.8

Choose a tag to compare

@HarimxChoi HarimxChoi released this 19 Jun 18:08
fix: per-PID worker profile dirs so concurrent instances do not colli…

v0.6.7

Choose a tag to compare

@HarimxChoi HarimxChoi released this 19 Jun 17:06

search nav-timeout fix: SURF_NAV_TIMEOUT_MS (default 12s) + always await results selector

v0.6.6

Choose a tag to compare

@HarimxChoi HarimxChoi released this 13 Jun 17:09

Changed
PDF extraction uses @llamaindex/liteparse (PDFium spatial parsing) instead of unpdf: ~2x faster, correct multi-column reading order, optional OCR.
Added
SURF_EXTRACT_OCR (default false) — Tesseract OCR for scanned/image PDFs.
SURF_EXTRACT_MAX_CHARS (default 8000) — configurable extract truncation (#9).
Fixed
EU consent overlay dismissed before the search box, with focus instead of click — fixes 100% search failure on fresh EU profiles (#10).
Block detection broadened beyond /sorry/ (consent URL + in-page reCAPTCHA via DOM).

v0.6.5

Choose a tag to compare

@HarimxChoi HarimxChoi released this 27 May 04:37

Changed

  • CAPTCHA recovery seeds the original query instead of hello world.
  • Recovery forces humanlike inline mode: random per-char typing, Tab+Enter variability, then 1-3 result visits with dwell, scroll, goBack.
  • Removed SURF_CAPTCHA_GRACE_MS. SURF_CAPTCHA_TIMEOUT_MS default 240s to 180s.

v0.6.4

Choose a tag to compare

@HarimxChoi HarimxChoi released this 27 May 01:53
  • CAPTCHA recovery now keeps the headed Chrome window open for a grace period (default 120s, SURF_CAPTCHA_GRACE_MS) after landing on /search?, so a late CAPTCHA on the auto-search is solvable by the user. If a CAPTCHA appears during the grace window, the timer resets. Outer timeout raised to 240s (SURF_CAPTCHA_TIMEOUT_MS).
  • CAPTCHA recovery launches Chrome with image/media/font requests un-blocked so reCAPTCHA image grids actually render in the visible window.
  • Windows: zombie chrome.exe from a crashed prior session held the user-data-dir lock, causing launchPersistentContext to fail with "Target page, context or browser has been closed". launch() now calls killZombieChromium() (PowerShell scan by --user-data-dir match + SIGKILL) before clearProfileLocks on retry. waitForLockReleased covers the still-flushing case; this covers the fully-crashed case.

v0.6.3

Choose a tag to compare

@HarimxChoi HarimxChoi released this 22 May 07:12

extract redirect SSRF guard + repair-pipeline cleanup+PR#8

v0.6.1

Choose a tag to compare

@HarimxChoi HarimxChoi released this 21 May 02:06

pool cookie fix + search waitForURL (#7)

v0.6.0

Choose a tag to compare

@HarimxChoi HarimxChoi released this 19 May 14:49

Self-healing strategy ordering + LLM tool_use selector repair + repair-pipeline workflow fix. See CHANGELOG.md.