Labsco
MCP SERVER

Google Search Engine

by Eivs

Google Custom Search plus page extraction, deployed to Cloudflare Workers with OAuth in front.

Web Search Engines
Summary
Search and read in one server, hosted rather than local.

The batch extraction is what distinguishes it: a model can search, pick five results, and get all five as text in one call rather than five round trips. Running on Workers with OAuth in front means the deployed instance is shared and gated, which is the right shape when the Google API key behind it is metered.

What it is

A search-and-read server that runs on Cloudflare Workers. It queries Google through the Custom Search API and turns the pages it finds into readable text, with an OAuth login guarding access to the deployed instance.

What you get
  • `google_search` runs a Google search and returns the results
  • `extract_webpage_content` converts one page into readable text
  • `batch_extract_webpage_content` does the same for several pages in one call
  • Runs at the edge on Workers and Durable Objects, so there is no server to keep alive
  • OAuth login on the deployed instance, rather than a URL anyone who finds it can call
Requirements

A Google API key and a Google Custom Search Engine ID, set as `GOOGLE_API_KEY` and `GOOGLE_SEARCH_ENGINE_ID`. Deployment needs a Cloudflare account and a KV namespace created with `npx wrangler kv namespace create OAUTH_KV`, its ID added to `wrangler.jsonc`. Locally it runs on http://localhost:8787/ and clients connect over SSE via `mcp-remote`. If authentication gets into a bad state, `rm -rf ~/.mcp-auth` and reconnect.

Setup effort

One command plus a key — npx mcp-remote https://your-worker-name.your-account.workers.dev/sse, then supply credentials