Skip to main content

Google SERP MCP server with fingerprint rotation

Project description

SERP MCP Server

PyPI version Python versions CI

Google SERP scraper as a Model Context Protocol (MCP) server with fingerprint rotation.


Sponsored by

Quercle

Quercle - Stop wasting tokens on junk. Get exactly what your LLM needs.
Web Fetch & Search API that strips navigation, ads, and footers. Handles JS sites. Returns clean, cited content.

Features

  • Automatic fingerprint rotation per request
  • Request blocking (only www.google.com/search allowed)
  • Lite mode for 50% less traffic (organic results only, DEFAULT)
  • Full mode extracts: organic results, sitelinks, PAA, related searches, knowledge graph
  • Location encoding via protobuf (UULE format)
  • Validated country/language codes

Installation

Claude Code

claude mcp add serp-mcp -- uvx serp-mcp

opencode

Add to your ~/.config/opencode/opencode.jsonc:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "serp-mcp": {
      "type": "local",
      "command": ["uvx", "serp-mcp"],
      "enabled": true
    }
  }
}

Manual Usage

# Run with uvx (automatically installs and runs the latest version)
uvx serp-mcp

Development

git clone https://github.com/LiranYoffe/serp-mcp
cd serp-mcp
uv sync
uv run serp-mcp

Tools

search

Search Google and extract SERP data.

Parameters:

  • query (required): Search query
  • country (default: "us"): Country code (us, uk, fr, de, etc.)
  • language (default: "en"): Language code (en, fr, de, es, etc.)
  • location (optional): Location for local results (e.g., "New York, NY")
  • time_range (optional): Time filter (hour, day, week, month, year)
  • autocorrect (default: true): Enable query autocorrection
  • page (default: 1): Page number
  • lite (default: true): Lite mode (organic results only, 50% less traffic)

Example Usage:

Search for "python tutorial" with default settings
Search for "python tutorial" in France with lite mode
Search for "restaurants" in New York with 7-day time filter

Country Codes

Valid ISO 3166-1 alpha-2 codes: us, uk, fr, de, es, it, jp, kr, cn, in, br, etc. (243 codes)

Language Codes

Valid Google language codes: en, fr, de, es, it, pt, ru, ja, ko, zh-cn, zh-tw, ar, hi, etc. (78 codes)

Time Ranges

  • hour: Past hour
  • day: Past 24 hours
  • week: Past week
  • month: Past month
  • year: Past year

Architecture

  • Fingerprint Rotation: Automatic browser fingerprint rotation for each request
  • MCP Protocol: Model Context Protocol server with stdio transport
  • Blocking: All non-Google requests blocked for efficiency

Development

Run Tests

uv run pytest

Regenerate Protobuf

uv run python -m grpc_tools.protoc \
  --python_out=serp_mcp \
  -Iserp_mcp \
  serp_mcp/uule.proto

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

serp_mcp-0.1.8.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

serp_mcp-0.1.8-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file serp_mcp-0.1.8.tar.gz.

File metadata

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

File hashes

Hashes for serp_mcp-0.1.8.tar.gz
Algorithm Hash digest
SHA256 596be86d32bc2a95326e2a45014763b9038a9403fdd03d0f5b7a051cff2d1421
MD5 99c48cba7bffad16a6cc8f8b1074ca9e
BLAKE2b-256 d0b9e79b3ee65906e552a9560e34122edbfd193bf0dbfa5beac2a3933d451438

See more details on using hashes here.

Provenance

The following attestation bundles were made for serp_mcp-0.1.8.tar.gz:

Publisher: publish.yml on LiranYoffe/serp-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 serp_mcp-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: serp_mcp-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 17.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for serp_mcp-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 ca51a119ddf3bb1a193a74ad0f84854955c06ba0fe764ad45436fa2f3e4fdc01
MD5 c57a3cafd8a521df6f93a1035d247b9f
BLAKE2b-256 58e49eb64bab6fc4647d5e37cfd82d76bb53f50f70883648d74b64b01ae85f50

See more details on using hashes here.

Provenance

The following attestation bundles were made for serp_mcp-0.1.8-py3-none-any.whl:

Publisher: publish.yml on LiranYoffe/serp-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