๐ Web Search MCP Server
โจ Features
๐ ๏ธ Tools
๐ web_search
Search the web using Google via Serper API.
{
"query": "latest AI news",
"num_results": 10,
"search_type": "search"
}
๐ scrape_page
Extract content from a web page.
{
"url": "https://example.com",
"render_js": true,
"premium": false
}
๐ Project Structure
๐ฆ Web-search-MCP
โโโ ๐ src/
โ โโโ ๐ index.ts # ๐ Main entry & router
โ โโโ ๐ clients/
โ โ โโโ ๐ serper.ts # ๐ Serper API client
โ โ โโโ ๐ scrapingdog.ts # ๐ ScrapingDog client
โ โโโ ๐ handlers/
โ โ โโโ ๐ mcp.ts # ๐ก MCP JSON-RPC handler
โ โ โโโ ๐ sse.ts # ๐บ SSE session handler
โ โโโ ๐ tools/
โ โ โโโ ๐ registry.ts # ๐ Tool registry
โ โ โโโ ๐ web-search.ts # ๐ Search tool
โ โ โโโ ๐ scrape-page.ts # ๐ Scrape tool
โ โโโ ๐ validators/
โ โโโ ๐ index.ts # โ
Input validators
โโโ ๐ wrangler.toml # โ๏ธ Cloudflare config
โโโ ๐ package.json
โโโ ๐ tsconfig.json
โโโ ๐ vitest.config.ts
๐ Prerequisites
Before you begin, ensure you have:
- โ Node.js 18+ installed
- โ Cloudflare account (Sign up free)
- โ Serper API Key (Get one here)
- โ ScrapingDog API Key (Get one here)
๐ Quick Start
1๏ธโฃ Clone & Install
git clone https://github.com/pritthwishGC/Web-search-MCP.git
cd Web-search-MCP
npm install
2๏ธโฃ Configure Local Environment
Create a .dev.vars file:
SERPER_API_KEY=your_serper_api_key_here
SCRAPINGDOG_API_KEY=your_scrapingdog_api_key_here
3๏ธโฃ Run Locally
npm run dev
๐ Server running at http://localhost:8787
โ๏ธ Deployment
Step 1: Login to Cloudflare
npx wrangler login
Step 2: Set Your API Secrets ๐
npx wrangler secret put SERPER_API_KEY
# ๐ Enter your Serper API key when prompted
npx wrangler secret put SCRAPINGDOG_API_KEY
# ๐ Enter your ScrapingDog API key when prompted
Step 3: Deploy ๐
npm run deploy
โ Your MCP server is now live at:
https://web-search-mcp-server.<your-subdomain>.workers.dev
๐ Updating API Keys
๐ป Via CLI (Recommended)
# ๐ Update Serper API key
npx wrangler secret put SERPER_API_KEY
# ๐ Update ScrapingDog API key
npx wrangler secret put SCRAPINGDOG_API_KEY
๐ Via Cloudflare Dashboard
- Go to dash.cloudflare.com
- Navigate to Workers & Pages โ web-search-mcp-server
- Click Settings โ Variables and Secrets
- Click โ๏ธ Edit next to the secret
- Enter new value and Save
๐ก No redeployment needed! Secrets update immediately.
๐ MCP Client Configuration
Add this to your MCP client config:
{
"mcpServers": {
"web-search": {
"url": "https://web-search-mcp-server.<your-subdomain>.workers.dev/mcp"
}
}
}
๐ Config File Locations
๐ API Endpoints
๐งช Testing
# Run tests once
npm test
# Run tests in watch mode
npm run test:watch
๐ Scripts
๐ Environment Variables
๐ License
MIT ยฉ pritthwishGC