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

Uploaded Python 3

File details

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

File metadata

  • Download URL: serp_mcp-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 c22161fd266188ae2ef9d13b33a524345137c6a21ab7f8fdeae503fb9553572e
MD5 ba0b1169fc9bb5da3afd0f76859f0187
BLAKE2b-256 fa5664a87b63ae79edced30181abee0eafebe4e0199a83f3eb4799a5136df0e8

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: serp_mcp-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 664efe0ca5560b38f1434e59eacc73a216215cbfe86aab28465167747db028a8
MD5 130ef5554e10633a37ffaf4572400bb9
BLAKE2b-256 38c98185a1bc8484352249d8a4a39f50caeb4260006f44a33aa4265e7b76858d

See more details on using hashes here.

Provenance

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