google-scrape-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GOOGLE_SCRAPE_PROXIES | No | inline list (comma/space/newline separated) or a file path (starting with `/`, `~`, or ending in `.txt`) | |
| GOOGLE_SCRAPE_RETRIES | No | proxy attempts per request | 3 |
| GOOGLE_SCRAPE_TIMEOUT | No | request timeout (s) | 25 |
| GOOGLE_SCRAPE_PROXY_CA | No | extra CA bundle for self-signed HTTPS proxies | |
| GOOGLE_SCRAPE_CACHE_MAX | No | max cache entries | 256 |
| GOOGLE_SCRAPE_CACHE_TTL | No | response cache TTL (`0` disables) | 600 |
| GOOGLE_SCRAPE_FORENSICS | No | save blocked-page samples | 1 |
| GOOGLE_SCRAPE_COOKIE_TTL | No | bootstrap cookie lifetime (s) | 300 |
| GOOGLE_SCRAPE_PROXY_MODE | No | auto (direct→proxy), off, always | auto |
| GOOGLE_SCRAPE_IMPERSONATE | No | curl_cffi TLS target | chrome120 |
| GOOGLE_SCRAPE_JS_COOLDOWN | No | base HTTP cooldown after a block (doubles per level, capped at 1h) | 600 |
| GOOGLE_SCRAPE_NO_SELFHEAL | No | disable automatic `camoufox fetch` when the browser is missing | |
| GOOGLE_SCRAPE_PROXY_FILES | No | colon-separated file paths | |
| GOOGLE_SCRAPE_MIN_INTERVAL | No | min delay between requests (s) | 1.0 |
| GOOGLE_SCRAPE_PROXY_COOLDOWN | No | failed-proxy cooldown (s) | 600 |
| GOOGLE_SCRAPE_BROWSER_COOLDOWN | No | base browser cooldown after a block (doubles per level) | 180 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| google_web_searchA | Scrape Google Web Search: organic results, featured snippet, related searches. engine: auto (HTTP cepat, fallback browser bila diblokir) | http (tanpa browser) | proxy (paksa pool proxy) | browser (langsung Camoufox headless, tanpa proxy/API key). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_image_searchA | Scrape Google Images (tbm=isch): direct image URLs, page URLs, sizes. engine: auto | http | proxy | browser (lihat google_web_search). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_video_searchA | Scrape Google Video Search (tbm=vid): title, URL, snippet. engine: auto | http | proxy | browser (lihat google_web_search). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_books_searchB | Scrape Google Books Search (tbm=bks): title, URL, snippet. engine: auto | http | proxy | browser (lihat google_web_search). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_shopping_searchA | Scrape Google Shopping (tbm=shop): product title, URL, snippet. engine: auto | http | proxy | browser (lihat google_web_search). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_news_searchB | Scrape Google News: RSS dulu (no block); fallback tab News renderan bila RSS gagal. engine: auto | http (RSS saja) | proxy | browser (tab News via Camoufox). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_news_homepageA | Scrape Google News homepage RSS: top headlines right now. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_scholar_searchB | Scrape Google Scholar: papers, authors/venue, citations, PDF links. start: 0-based result offset (unified google_search computes it from page). engine: auto | http | proxy | browser (lihat google_web_search). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_scholar_cited_byB | Scrape papers citing a Scholar cluster (from cluster_id in scholar results). engine: auto | http | proxy | browser (lihat google_web_search). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_patents_searchA | Scrape Google Patents XHR JSON: title, number, inventors, dates, PDF. page: 1-based (1 = first page). NOTE: page number lives INSIDE the url= query string (page=N), not as an outer param. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_finance_quoteA | Scrape Google Finance quote: saham, forex, kripto. Ticker: 'BBCA' + exchange 'IDX', 'AAPL' + 'NASDAQ', atau pair forex 'USD-IDR' (USDIDR/USD/IDR juga diterima, dinormalisasi otomatis). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_fx_rateA | Kurs langsung dari widget konverter SERP (mis. "1 USD to IDR"). Hasil: fx_rate {rate, from, to, formatted} + results biasa. Lebih tahan terhadap perubahan layout daripada halaman finance, karena membaea widget konverter yang muncul di SERP. Cocok untuk kurs cepat; untuk kurs resmi BI pakai google_kurs_bi. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_kurs_biA | Kurs Transaksi Bank Indonesia (Jual/Beli) dari tabel resmi BI. currency opsional: 'USD', 'EUR', dst (kosong = semua). Halaman BI JS-heavy, jadi engine auto memakai browser; engine 'http' dicoba dulu sebagai jalur murah. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_translateA | Translate text via Google's unofficial gtx endpoint (no key). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_suggestA | Google autocomplete suggestions (no block). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_trends_dailyB | Google daily trending searches RSS (no block): topic, traffic, links. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_trends_interestA | Google Trends interest-over-time via internal explore API (no key). keywords: comma-separated, max 5 (e.g. "opencode, cursor, windsurf"). timeframe: e.g. 'now 7-d', 'today 12-m', 'today 5-y', 'all'. engine: auto (HTTP → fallback browser) | http (HTTP saja) | browser. NOTE: endpoint widgetdata Trends sering menolak request non-browser (HTTP 400/401) walau token explore valid — bila itu terjadi, engine auto memakai Camoufox: fetch dijalankan dari dalam halaman Trends sehingga cookies/fingerprint ikut. Bila tetap gagal, status "limited". Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_ai_modeA | Google Mode AI (udm=50): jawaban sintesis + sumber, cocok untuk pertanyaan langsung. Bentuk hasil: answer + sources. engine: auto | http | proxy | browser (lihat google_web_search). Halaman Mode AI hampir selalu butuh JS; engine auto akan memakai browser. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_searchA | One search tool for all Google tabs + pagination (pages 1-10). tab: web | images | videos | news | books | shopping | scholar | patents | ai. page: 1-10 (each page = next result set; news slices the RSS feed). num: results per page. engine: auto (HTTP cepat, fallback browser bila diblokir) | http (tanpa browser) | proxy (paksa pool proxy) | browser (langsung Camoufox). Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_crawlA | Crawl any URL (e.g. a search result): title, meta, text, outbound links. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_helpA | Agent-facing usage guide: tool map, engine semantics, status contract and safe usage patterns. Read this before experimenting. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
| google_statusA | Health check: which Google endpoints are reachable from this IP right now, plus proxy pool, cache, cooldowns and forensic counters. Rate-limited by Google: avoid rapid repeats; when the result is blocked, wait or switch to an RSS-based tool. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 22 tools
Many tools duplicate functionality: google_search can perform all the specialized searches (web, images, news, etc.), so it's unclear when to use a specialized tool versus the unified one. Descriptions mention engine and rate limits but don't resolve the core overlap.
All tools share the google_ prefix and snake_case, which is consistent. However, patterns vary (some are verb-based like google_translate, others are noun-based like google_finance_quote), so minor deviations exist.
22 tools is on the high end for a single server; while many verticals are distinct, the unified search tool makes several redundant, leading to over-provisioning.
The surface covers most major Google search verticals (web, images, video, news, books, shopping, scholar, patents, finance, trends, AI) plus utility tools. Missing verticals like maps, jobs, or local could be minor gaps for some use cases, but core scraping needs are met.