gemini-search
# free-search-mcp-geminicli
An MCP server that gives any AI agent rigorous, cited web search through [Gemini CLI](https://github.com/google-gemini/gemini-cli)'s Google Search grounding.
```
┌──────────────┐ STDIO ┌──────────────────┐ child process ┌─────────────┐
│ AI Agent │◄──────────────►│ gemini-search │──────────────────►│ Gemini CLI │
│ (any MCP │ JSON-RPC │ MCP server │ gemini-3-flash │ Google Web │
│ client) │ └──────────────────┘ -preview │ Search │
└──────────────┘ └─────────────┘
```
## Why?
AI coding assistants (Claude, Kilo Code, Cursor, etc.) are powerful but **blind to the live web**. This MCP server fixes that by piping queries through Gemini CLI, which has built-in Google Search grounding — meaning every response is backed by real, current web results with citations.
**Why use this over other paid search MCPs?**
- **100% Free & Unlimited** (relies on your local Google Cloud SDK / Gemini CLI auth)
- **High Quality** (uses Google's live search index and `gemini-3-flash-preview` model)
- **No API keys to configure.** If Gemini CLI works on your machine, this server works.
## Tools
| Tool | Description | Timeout |
|:-----|:------------|:--------|
| `web_search` | Quick factual lookups with source triangulation and confidence scoring | 90s |
| `deep_research` | 7-step research protocol with evidence grading [A/B/C/D] and opposing-view analysis | 180s |
| `fact_check` | Forensic 5-phase verification pipeline with claim decomposition and precision audit | 90s |
## Prerequisites
- **Node.js** ≥ 18
- **Gemini CLI** installed and authenticated (`npm install -g @google/gemini-cli`)
- Works on **Windows**, **macOS**, and **Linux**
## Install
```bash
git clone https://github.com/leacvikas0/free-search-mcp-geminicli.git
cd free-search-mcp-geminicli
npm install
```
## Setup
Add to your MCP client config:
### Claude Desktop / Antigravity / Generic MCP Client
```json
{
"mcpServers": {
"gemini-search": {
"command": "node",
"args": ["/absolute/path/to/free-search-mcp-geminicli/server.js"],
"env": {}
}
}
}
```
### Kilo Code (VS Code)
Settings → MCP Configuration → Edit Global MCP File:
```json
{
"mcpServers": {
"gemini-search": {
"command": "node",
"args": ["/absolute/path/to/free-search-mcp-geminicli/server.js"],
"env": {},
"trust": true
}
}
}
```
### Cursor
Add to `.cursor/mcp.json` in your project:
```json
{
"mcpServers": {
"gemini-search": {
"command": "node",
"args": ["/absolute/path/to/free-search-mcp-geminicli/server.js"]
}
}
}
```
## How It Works
1. Your AI agent calls an MCP tool (e.g., `web_search`)
2. The server writes the query to a temp file and pipes it into `gemini -m gemini-3-flash-preview --output-format json`
3. Gemini CLI uses its built-in `google_web_search` grounding to search the live web
4. The server parses the JSON response and returns clean, cited results
5. Your AI agent gets grounded, accurate web research
Each tool has a carefully crafted system prompt that enforces:
- **Source triangulation** — verify claims from 2+ independent sources
- **Anti-hallucination rules** — never fabricate URLs, stats, or quotes
- **Evidence grading** — [A] through [D] ratings on claim confidence
- **Conflict detection** — surface disagreements between sources instead of hiding them
## Configuration
The model is set to `gemini-3-flash-preview` by default. To change it, edit the `MODEL` constant at the top of `server.js`:
```javascript
const MODEL = "gemini-3-flash-preview"; // Change to any Gemini model
```
## License
MIT
TDQS
Scored across 3 tools
The three tools have clearly distinct primary purposes: quick search, deep research, and claim verification. web_search and deep_research could overlap for borderline topics, but the descriptions provide sufficient guidance on when to use each.
All names use lowercase snake_case and are descriptive, but they do not follow a strict verb_noun pattern. web_search and fact_check resemble verb_noun while deep_research is adjective_noun, creating a minor inconsistency.
Three tools is a well-scoped set for a search-focused server. Each tool addresses a distinct mode of information retrieval without unnecessary redundancy or bloat.
The server covers the core search domain completely: quick lookups, comprehensive research, and fact verification. No obvious dead ends or missing operations are apparent for the stated purpose.