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"]
    }
  }
}

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.4.tar.gz (17.7 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.4-py3-none-any.whl (17.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: serp_mcp-0.1.4.tar.gz
  • Upload date:
  • Size: 17.7 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.4.tar.gz
Algorithm Hash digest
SHA256 efdfac239c1e86cac7ded097c3b487f736ad569d5d5f1dac2d76e303c5c6da6f
MD5 f5261794902c15f636b8a7e5fa30c814
BLAKE2b-256 77a64b4cb0e6d7cff57b1a896dd4b6f5f0123f324af0b5c846f6a179c5ba1f2a

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: serp_mcp-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 17.2 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cab9ee8a05221c22b6d3de0befbbee54cf62fa092642f0e09e78d6793b5eaf2e
MD5 7f952b8d18ebc7ccdeb7e382f871c3b9
BLAKE2b-256 75a46ddb68350251f1ce86eeb1806a173a6d9058f617af80c5aec82f80e55ced

See more details on using hashes here.

Provenance

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