Skip to main content

Google Search for Local LLMs — No API Key Required. MCP server using headless Chromium via Playwright.

Project description

noapi-google-search-mcp

Google Search for Local LLMs — No API Key Required

An MCP (Model Context Protocol) server that gives your local LLM real Google search and page fetching abilities using headless Chromium via Playwright. No Google API key, no Custom Search Engine setup, no usage limits — just real Google results.

Works with LM Studio, Claude Desktop, and any MCP-compatible client.

Why This Instead of API-Based Alternatives?

noapi-google-search-mcp API-based MCP servers
API key required No Yes (Google CSE API)
Cost Free Paid after 100 queries/day
Setup time pip install + go Create Google Cloud project, enable API, get key, configure CSE
Results quality Real Google results Custom Search Engine (different ranking)
JavaScript pages Renders them (Chromium) Cannot render JS
Page fetching Built-in visit_page tool Usually separate

Tools

  • google_search — Search Google with structured results (titles, URLs, snippets)
    • time_range — Filter by recency: past_hour, past_day, past_week, past_month, past_year
    • site — Limit to a domain (e.g. reddit.com, stackoverflow.com)
    • page — Pagination support (page 1, 2, 3...)
  • google_news — Search Google News for headlines with source and timestamp
  • visit_page — Fetch any URL and extract readable text content

Features

  • Headless Chromium renders JavaScript-heavy pages
  • Consent banner auto-dismissal
  • Smart content extraction (strips nav, ads, footers)
  • Zero configuration — no API keys, no environment variables

Installation

Quick Install (pipx — recommended)

pipx install noapi-google-search-mcp
playwright install chromium

This puts noapi-google-search-mcp on your PATH so you can use it directly.

Install in a Virtual Environment

If you don't have pipx, install in a dedicated venv:

python3 -m venv ~/.local/share/noapi-google-search-mcp
~/.local/share/noapi-google-search-mcp/bin/pip install noapi-google-search-mcp
~/.local/share/noapi-google-search-mcp/bin/playwright install chromium

Usage

LM Studio

Add to ~/.lmstudio/mcp.json:

If installed with pipx (command is on PATH):

{
  "mcpServers": {
    "google-search": {
      "command": "noapi-google-search-mcp",
      "env": {
        "PYTHONUNBUFFERED": "1"
      }
    }
  }
}

If installed in a venv (use the full path):

{
  "mcpServers": {
    "google-search": {
      "command": "~/.local/share/noapi-google-search-mcp/bin/noapi-google-search-mcp",
      "env": {
        "PYTHONUNBUFFERED": "1"
      }
    }
  }
}

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "google-search": {
      "command": "noapi-google-search-mcp"
    }
  }
}

If installed in a venv, use the full path to the binary instead.

As a CLI

noapi-google-search-mcp

Or:

python -m google_search_mcp

Development

git clone https://github.com/VincentKaufmann/google-search-mcp.git
cd google-search-mcp
pip install -e .
playwright install chromium

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

noapi_google_search_mcp-0.1.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

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

noapi_google_search_mcp-0.1.1-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file noapi_google_search_mcp-0.1.1.tar.gz.

File metadata

  • Download URL: noapi_google_search_mcp-0.1.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for noapi_google_search_mcp-0.1.1.tar.gz
Algorithm Hash digest
SHA256 368672b43349d95b92fe8a337defebb8105c8c9277dce6a711ff96de212b7517
MD5 868356db04d142b5680ccfff7ded930b
BLAKE2b-256 74f038d198005381b73273306668fc32dca3bdd6b51b9e38b6a57b619c70c85a

See more details on using hashes here.

Provenance

The following attestation bundles were made for noapi_google_search_mcp-0.1.1.tar.gz:

Publisher: publish.yml on VincentKaufmann/google-search-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file noapi_google_search_mcp-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for noapi_google_search_mcp-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 024ac7b82c561fa0ab8f5fdd88ffb5d017fd67ca326c7893fc60d011cc8aa521
MD5 8914e92f0d5bcea5357d0d1bcab9676d
BLAKE2b-256 938979f486d3d33ce85f988de06c151ca57ebe7b683947f81015658144253664

See more details on using hashes here.

Provenance

The following attestation bundles were made for noapi_google_search_mcp-0.1.1-py3-none-any.whl:

Publisher: publish.yml on VincentKaufmann/google-search-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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