Skip to main content

Google Search CLI and MCP server for AI agents

Project description

gsearch-mcp-cli

Google Search CLI and MCP server for AI agents. Search Google (regular + AI Mode), fetch web pages as Markdown, with time filtering. No Google account needed.

Vibe Coding Alert

Full transparency: this project was built by a non-developer using AI coding assistants. If you're an experienced Python developer, you might look at this codebase and wince. That's okay.

The goal here was to learn — both about building CLI tools in Python and about how modern web applications work under the hood. The code works, but it's very much a learning project released solely for the purpose of research and education, not a polished product.

[!WARNING] Unofficial & Unsupported — This project is not affiliated with, endorsed by, or supported by Google. It interacts with Google Search and Google AI Mode through unofficial, undocumented methods that may break at any time without notice if Google changes their internal behavior, DOM structure, or bot detection. Use at your own risk. The author(s) accept no responsibility for any consequences, including but not limited to rate limiting or IP blocking. This project is released strictly for educational and research purposes only.

If you know better, teach us. PRs, issues, and architectural advice are all welcome. This is open source specifically because human expertise is irreplaceable.

Install

pip

pip install gsearch-mcp-cli

uv

uv tool install gsearch-mcp-cli

pipx

pipx install gsearch-mcp-cli

Run without installing (uvx)

uvx --from gsearch-mcp-cli gsearch "your query"

Requirements: A Chromium-based browser (Chrome, Brave, Edge, Chromium, Vivaldi, or Opera).

Quick Start

gsearch setup                              # one-time profile warmup (~8s)
gsearch "what is kubernetes"               # search Google
gsearch "AI news" --time day               # last 24 hours
gsearch "breaking news" --time 1h          # last hour
gsearch ai "explain docker architecture"   # AI Mode (g.ai)
gsearch fetch "https://example.com"        # page to Markdown

Time Filtering

Filter results by time period -- critical for news and recent events:

gsearch "query" --time hour      # last hour
gsearch "query" --time 12h       # last 12 hours
gsearch "query" --time day       # last 24 hours
gsearch "query" --time week      # last 7 days
gsearch "query" --time month     # last month
gsearch "query" --time year      # last year
gsearch "query" --after 2026-01-01 --before 2026-03-31  # custom range

Commands

Command Description
gsearch "query" Google Search (default) with AI Overview + organic results
gsearch ai "query" Google AI Mode -- synthesized answer with citations
gsearch fetch "url" Fetch URL and convert to clean Markdown
gsearch setup Browser profile warmup (one-time)
gsearch setup add <tool> Configure MCP server for an AI tool
gsearch config show Show configuration
gsearch doctor Run diagnostics
gsearch skill install <tool> Install skill for AI tools
gsearch --ai Print AI-optimized documentation

MCP Server

For AI agents via Model Context Protocol:

gsearch-mcp                       # start MCP server (stdio)
gsearch setup add cursor          # configure for Cursor
gsearch setup add claude-code     # configure for Claude Code

MCP Tools:

  • gsearch_search(query, time_filter="day", ...) -- Google Search
  • gsearch_ai(query, time_filter="week", ...) -- AI Mode
  • gsearch_fetch(url, format="md", ...) -- Fetch page as Markdown

How It Works

Uses headless Chrome via CDP (Chrome DevTools Protocol) with a persistent anonymous profile. Google's BotGuard requires a warmed-up browser session -- gsearch setup establishes this once. No Google account or login needed.

Supported AI Tools

MCP Setup (gsearch setup add): Claude Code, Gemini CLI, Cursor, Windsurf, Cline, Antigravity, Codex, OpenCode

Skill Install (gsearch skill install): Claude Code, Cursor, Codex, Gemini CLI, OpenCode, Antigravity, Cline, OpenClaw, CC-Claw

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gsearch_mcp_cli-0.0.5.tar.gz (214.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gsearch_mcp_cli-0.0.5-py3-none-any.whl (47.6 kB view details)

Uploaded Python 3

File details

Details for the file gsearch_mcp_cli-0.0.5.tar.gz.

File metadata

  • Download URL: gsearch_mcp_cli-0.0.5.tar.gz
  • Upload date:
  • Size: 214.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gsearch_mcp_cli-0.0.5.tar.gz
Algorithm Hash digest
SHA256 0c5317be76608ff5fb242b1dbbf0111159ab39da2b3c9d8bdd2f8503e39ae30c
MD5 d8e720d60ad04e4a38420fe4ba4d2b9e
BLAKE2b-256 9a55c973b096631d6b504a39cb9fadf787ffcc8427db99d32e0bf8439905ea48

See more details on using hashes here.

File details

Details for the file gsearch_mcp_cli-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: gsearch_mcp_cli-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 47.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for gsearch_mcp_cli-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a9b9d49dd5795f0b7081a0e8ee5ce841e9cf20744538da7ee6252c1347c47457
MD5 38f8ef6b72bf4aeb805db9797ac370e4
BLAKE2b-256 94f447cafbc648d16dd0382a02f3ab44e7fb0e8a5b4616c2beca0e6e362788c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page