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.6.tar.gz (17.9 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.6-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: serp_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 17.9 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.6.tar.gz
Algorithm Hash digest
SHA256 86c18b1eb97dad1c4907619b27d7c7ff0f8f3bcc2d952b56c57779b0b9814256
MD5 efa17511ea98198b6699a77dc72c294b
BLAKE2b-256 ee28549551b0400fe1a6f255b4451be7c811f12b1b6e18d80f2d586eddaffd0e

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: serp_mcp-0.1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 519f2bbf2df242a042bc8d1a38472d80886f3bd04d24911b00616a85b12906ad
MD5 120a1275098540334b5566084c9e08ec
BLAKE2b-256 0d3bc33946c300a97d51530a5b5e7ddb1480877c5a339279b0df02eba2a7a99c

See more details on using hashes here.

Provenance

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