Skip to main content
Glama
leacvikas0

gemini-search

by leacvikas0
README.md
# 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

A4.1/5.0

Scored across 3 tools

Disambiguation4/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness5/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues