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.

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 Desktop / Cursor

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "serp-mcp": {
      "command": "uvx",
      "args": ["serp-mcp"]
    }
  }
}

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.3.tar.gz (17.6 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.3-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: serp_mcp-0.1.3.tar.gz
  • Upload date:
  • Size: 17.6 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.3.tar.gz
Algorithm Hash digest
SHA256 acd14378c743b33e5324a0fdf961781762431e9ed9b0f8673ca0cb1f9ac4024a
MD5 fb680ca62bca069d5170237e369a4102
BLAKE2b-256 8035105cdb5d56112fa08b7506b1be76300c19168affab01546d583982bd16a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for serp_mcp-0.1.3.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.3-py3-none-any.whl.

File metadata

  • Download URL: serp_mcp-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.1 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 4b045ca8d670b4c301db55986146f99e723cfb1f73e4150c6f4dd9c3af08062b
MD5 6ba8009a9d6f41db65884e77cc2f1897
BLAKE2b-256 a3ae68346f973a55b4c43f6ad543b4403b97df05dfc19a67e033899bf78ba99e

See more details on using hashes here.

Provenance

The following attestation bundles were made for serp_mcp-0.1.3-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