Open-source Perplexity alternative for developers. Connect VS Code Copilot, Cline, or Roo to Google Search and Deep Web Analysis via the Model Context Protocol (MCP).
- Why use this?
- How it Works
- Key Features
- Available Tools
- Quick Start
- Configuration
- Comparison
- Troubleshooting
This is a Model Context Protocol (MCP) server that upgrades your AI coding assistant (like VS Code GitHub Copilot, Cline, or Roo Code). It provides real-time Internet access and deep web page analysis using Google's Gemini 2.5 Flash API.
It uses Google Search Grounding, allowing your LLM to fetch factual answers from the web without hallucinating.
Benefits:
- Perplexity in your IDE: Ask "What is the latest Next.js 15 breaking change?" and get a cited answer without leaving VS Code.
- Free to run: Uses the Google AI Studio free tier (1,500 requests/day).
- Deep Context: Doesn't just read snippets; it uses Gemini's
url_contextto read full documentation pages, PDFs, and technical blogs.
graph LR
A[User in VS Code] -->|Asks Question| B(Copilot / MCP Client);
B -->|Routes Query| C[Gemini MCP Server];
C -->|API Call| D[Gemini API];
D -->|1. Search & Retrieve| E[Google Search / Web Index];
D -->|2. Augment Context| D;
D -->|3. Generate Answer| B;
B -->|Final Answer| A;
- π Grounding with Google Search: Uses the official Google Search Grounding for factual, up-to-date results.
- π Deep URL Analysis: Uses Gemini's URL Context to read large documents (HTML, PDF) for summarization and QA.
- π Citations & Sources: Every claim is backed by a clickable link, distinguishing it from standard LLM hallucinations.
- π― Pre-configured Prompts: Ready-to-use templates for common research and analysis tasks.
- π Resource Access: Query server capabilities and information dynamically.
- β Standard MCP Protocol: Compatible with any MCP client, including Cursor, Windsurf, and VS Code.
- β‘ Low Latency: Powered by
gemini-2.5-flash, optimized for speed and low cost. - π 100% Free Tier: Works with the free Google AI Studio API key (no credit card required).
| Tool | Description | Use Case |
|---|---|---|
search |
AI Web Search. Searches Google and summarizes results using Gemini. Returns sources. | "How do I center a div in Tailwind 4?" or "Latest features in Python 3.13" |
analyze_url |
Deep Page Reader. Ingests the content of a specific URL (HTML/PDF/Text) into context. | "Read this documentation page and explain the implementation details." |
Pre-configured prompts to make common tasks easier:
| Prompt | Description | Arguments |
|---|---|---|
web-search |
Search the web for up-to-date information | topic (required) |
analyze-documentation |
Analyze and summarize technical documentation | url (required), focus (optional) |
research-topic |
Comprehensive research with multiple sources | topic (required) |
compare-technologies |
Compare technologies/frameworks/tools | technologies (required), criteria (optional) |
| Resource | URI | Description |
|---|---|---|
| Server Information | gemini://server/info |
Details about the server version and capabilities |
| Server Capabilities | gemini://server/capabilities |
JSON of all features, tools, and limits |
git clone https://github.com/nav9v/gemini-search-mcp.git
cd gemini-mcp-serverpython -m venv .venv
# Activate virtual environment
# Windows:
.venv\Scripts\Activate.ps1
# Mac/Linux:
source .venv/bin/activate
pip install -r requirements.txtπ‘ PowerShell execution policy error?
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser- Go to Google AI Studio.
- Create a free API key (no credit card needed).
- Create a
.envfile in the root directory:
GEMINI_API_KEY=your_actual_api_key_here
GEMINI_MODEL=gemini-2.5-flashEdit your MCP config file:
- Windows:
%APPDATA%\Code\User\mcp.json - Mac/Linux:
~/Library/Application Support/Code/User/mcp.json
Option 1: Using working directory (Recommended)
{
"mcpServers": {
"gemini-search": {
"command": "python",
"args": ["gemini_search_mcp.py"],
"cwd": "C:/absolute/path/to/gemini-search-mcp",
"env": {
"PYTHONPATH": "C:/absolute/path/to/gemini-search-mcp"
}
}
}
}Option 2: Using virtual environment
{
"mcpServers": {
"gemini-search": {
"command": "C:/absolute/path/to/.venv/Scripts/python.exe",
"args": ["C:/absolute/path/to/gemini_search_mcp.py"]
}
}
}Note:
- Replace
C:/absolute/path/to/with the full path to your cloned folder- Use forward slashes (
/) or double backslashes (\\) in paths- The server loads
.envautomatically, so you don't need theenvblock if using.env- See mcp.json.example for a template
Press Ctrl+Shift+P β Developer: Reload Window.
Open Copilot Chat (or your MCP client) and ask:
- "Search for the latest Next.js 15 breaking changes." (Triggers
search) - "Analyze this page: https://docs.python.org/3/whatsnew/3.13.html" (Triggers
analyze_url) - "What are the best open source alternatives to Vercel in 2026?"
- "Read the docs at https://fastapi.tiangolo.com/ and explain how to use dependency injection."
Prompts provide structured templates for common tasks:
- Web Search: Use the
web-searchprompt with a topic - Documentation Analysis: Use the
analyze-documentationprompt with a URL - Research: Use the
research-topicprompt for comprehensive research - Comparison: Use the
compare-technologiesprompt to compare tools/frameworks
Example in VS Code Copilot:
@gemini-search #web-search topic="Python async best practices 2026"
All config is via .env in the project root:
| Variable | Default | Description |
|---|---|---|
GEMINI_API_KEY |
(required) | Google AI Studio API key |
GEMINI_MODEL |
gemini-2.5-flash |
Gemini model name |
| Model | Status | Cost | Best For |
|---|---|---|---|
gemini-2.5-flash |
β Stable | Free | General Use β fast, free tier, accurate. |
gemini-2.5-flash-lite |
β Stable | Free | Ultra-fast simple queries. |
gemini-2.5-pro |
β Stable | Paid* | Complex reasoning & research planning. |
gemini-2.0-flash-thinking |
π§ͺ Preview | Free | Deep reasoning tasks. |
*Paid after free tier limits.
Completely Free.
- Google AI Studio API: Free tier includes 1,500 requests per day.
- This Software: Open source (MIT).
No credit card required. Perfect for individual developers, students, and prototypers.
| Feature | This Server | Brave Search MCP | Tavily / Serper | Perplexity |
|---|---|---|---|---|
| Engine | Google (Grounding) | Brave Index | Tavily Index | Perplexity |
| Full Page Read | β Yes (huge context) | β No | β No | β No |
| Citations | β Inline Links | β | β | β |
| Prompts | β 4 Pre-configured | β No | β No | β No |
| Resources | β Server Info | β No | β No | N/A |
| Cost | π Free (1.5k/day) | π Limited | π Limited | πΈ $20/mo |
| Privacy | π Local Client* | π Local Client | βοΈ API | βοΈ API |
*Runs locally, sends queries to Google Gemini API.
Test Server Manually
Before configuring VS Code, test the server directly:
# Activate virtual environment first
.venv\Scripts\Activate.ps1
# Run the server
python gemini_search_mcp.pyThe server should start without errors. Press Ctrl+C to stop.
Verify Installation
- Open VS Code Output panel (
Ctrl+Shift+U). - Select "MCP Review" or "Github Copilot Default" from the dropdown.
- Look for
gemini-searchin the logs. - Check for any error messages or connection issues.
"GEMINI_API_KEY is not set"
- Ensure
.envis in the same folder as the script. - Verify the path in
mcp.jsonis absolute:c:/Users/.../gemini-search-mcp/gemini_search_mcp.py. - Check that
.envcontains a valid API key without quotes or spaces. - Test locally:
python -c "from dotenv import load_dotenv; import os; load_dotenv(); print(os.getenv('GEMINI_API_KEY'))"
Server Not Appearing in VS Code
- Verify
mcp.jsonsyntax is valid (use a JSON validator). - Ensure paths use forward slashes or double backslashes.
- Check that Python is accessible from the command line:
python --version - Try using absolute path to Python executable in virtual environment.
- Reload VS Code window:
Ctrl+Shift+Pβ Developer: Reload Window
Validation Failed
If the MCP server validation fails:
- Ensure all dependencies are installed:
pip install -r requirements.txt - Check that the
google-genaipackage is properly installed:pip show google-genai - Verify your API key is valid at Google AI Studio
- Test the server manually before adding to VS Code
- Check that prompts and resources are properly defined (this MCP server includes them)
Pull requests are welcome! Please format code with black and ensure strict typing.
MIT Β© 2026 Navneet Sharma