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.
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.
- `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
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.
One command plus a key — npx mcp-remote https://your-worker-name.your-account.workers.dev/sse, then supply credentials
