mcp-gemini-web
v0.3.3
Published
MCP server exposing a grounded web search tool powered by Gemini 3 + Google Search grounding, with configurable verbosity, optional sources, and research mode.
Downloads
243
Maintainers
Readme
MCP Gemini Web Search
A Model Context Protocol (MCP) server that provides grounded web search and research powered by Google's Gemini models + Google Search grounding, with retries, rate limiting, and health checks.
Features
web_searchtool with dual modes:normal: Fast, single-step grounded searchresearch: Multi-step research with query planning → execution → synthesis
web_search_batchtool to run up to 20 independent searches in parallelhealth_checktool for metrics (and optional live probe)- Google Search grounding for accurate, cited results
- Opinionated system instructions that prioritize official documentation for API/library queries
- Resilience features: rate limiting, retries (exponential backoff + jitter), and per-request timeouts
- Configurable models and endpoints (supports custom base URLs via
httpOptions.baseUrl)
Installation
Via npx (Recommended)
npx -y mcp-gemini-webVia npm install
npm install -g mcp-gemini-web
mcp-gemini-webEnvironment Variables
GEMINI_API_KEYorGOOGLE_API_KEY(required): Google AI API keyGENAI_BASE_URLorGEMINI_BASE_URL(optional): Custom API endpoint base URLMODEL(optional): Default model (default:gemini-3-flash-preview)REQUEST_TIMEOUT(optional): Default request timeout in ms (default:60000)
Rate limiting:
RATE_LIMIT_RPM(optional): Requests per minute (default:60)RATE_LIMIT_MAX_BURST(optional): Max burst capacity (default:10)
Retries:
MAX_RETRIES(optional): Max retry attempts (default:5)BASE_RETRY_DELAY(optional): Base delay in ms (default:1000)MAX_RETRY_DELAY(optional): Max delay in ms (default:60000)JITTER_FACTOR(optional): Jitter factor 0-1 (default:0.1)
MCP Client Configuration
Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"gemini-web": {
"command": "npx",
"args": ["-y", "mcp-gemini-web"],
"env": {
"GEMINI_API_KEY": "your-api-key-here"
}
}
}
}Other MCP Clients
The server communicates via stdio using the MCP protocol. Configure your client to run:
npx -y mcp-gemini-webUsage Examples
Normal Search (Fast)
{
"tool": "web_search",
"arguments": {
"q": "what is Node.js 22 LTS",
"mode": "normal",
"verbosity": "normal",
"include_sources": true
}
}Research Mode (Deep)
{
"tool": "web_search",
"arguments": {
"q": "compare axios vs fetch for production Node.js usage",
"mode": "research",
"max_steps": 4,
"research_concurrency": "parallel"
}
}Batch Search (Parallel)
{
"tool": "web_search_batch",
"arguments": {
"queries": [
"Node.js 22 release notes",
"TypeScript 5.6 new features",
"Vitest 2 migration guide"
],
"include_sources": false
}
}Health Check
{
"tool": "health_check",
"arguments": {
"include_metrics": true,
"probe": false
}
}Health Check (Live Probe)
{
"tool": "health_check",
"arguments": {
"include_metrics": true,
"probe": true,
"probe_timeout": 10000
}
}Tool Parameters
web_search
q(string, required): Search querymode("normal"|"research", optional): Default"normal"model(string, optional): Model to use (default:MODELenv orgemini-3-flash-preview)verbosity("concise"|"normal"|"detailed", optional): Default"normal"max_tokens(number, optional): Overrides verbosity (64–131072)max_steps(number, optional): Research steps (1–6, default: 3; only inresearchmode)research_concurrency("parallel"|"sequential", optional): Default"parallel"(only inresearchmode)include_sources(boolean, optional): Include sources + metadata footer (default:false)timeout(number, optional): Per-request timeout in ms (5000–300000)
web_search_batch
queries(string[], required): 1–20 queriesmodel,verbosity,max_tokens,include_sources,timeout: Same meaning asweb_search(applies per query)
health_check
include_metrics(boolean, optional): Defaulttrueprobe(boolean, optional): If true, performs a lightweight API call (defaultfalse)probe_timeout(number, optional): Probe timeout in ms (1000–30000, default10000)
Development
# Clone and install
git clone <repository-url>
cd mcp-gemini-web
npm install
# Development mode
npm run dev
# Build
npm run build
# Test
npm test
# Start built version
npm startLicense
MIT
Contributing
Pull requests welcome! Please ensure tests pass and follow the existing code style.
