google_searchLABSCO 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_searchruns a Google search and returns the resultsextract_webpage_contentconverts one page into readable textbatch_extract_webpage_contentdoes 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
Build from source — git clone https://github.com/Eivs/google-search-engine-mcp.git
USE CASES
Researching a question end to end
Search, then pull the text of the pages worth reading without leaving the conversation.
Reading several sources at once
Hand over a list of URLs and get all of them back as text in a single call.
Sharing one search deployment with a team
Deploy to Workers with OAuth so the API key stays in one place and access is gated.
3 tools
Listed in project docs. Your client may show a different list.
extract_webpage_contentbatch_extract_webpage_contentBEFORE YOU INSTALL
What to know first
Tools you get
3 tools named in the project's documentation.
Requires
npx on PATH
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
Local Development
git clone https://github.com/Eivs/google-search-engine-mcp.git
cd google-search-engine-mcp
npm install
npm run devDeploy to Cloudflare
npx wrangler kv namespace create OAUTH_KVFollow the prompts to add the KV namespace ID to wrangler.jsonc
Set the environment variables GOOGLE_API_KEY (your Google API key) and GOOGLE_SEARCH_ENGINE_ID (your Google Custom Search Engine ID)
npm run deployMCP Clients
Claude Desktop — remote
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": [
"mcp-remote",
"https://<YOUR_WORKER_NAME>.<YOUR_ACCOUNT>.workers.dev/sse"
]
}
}
}<YOUR_WORKER_NAME>.<YOUR_ACCOUNT>.workers.dev is your Worker's URL once npm run deploy has run. Claude opens a browser window to log in.
Claude Desktop — local
{
"mcpServers": {
"google-search": {
"command": "npx",
"args": [
"mcp-remote",
"http://localhost:8787/sse"
]
}
}
}Needs npm run dev running in your clone, which serves http://localhost:8787. Claude opens a browser window to log in; the local login accepts any email and password.