google-ai-scraper
MCP server for scraping Google AI Overviews via a Chrome extension relay. No API keys needed. It uses your own browser session and a shared local FastAPI backend.
How it works
MCP Client (Claude Code, Cursor, etc.)
↕ stdio or SSE
MCP Server (this package)
↕ HTTP
Shared FastAPI Backend (:15551)
↕ polling
Chrome Extension
→ opens background tab on google.com
→ scrapes AI Overview → Markdown
→ posts result back
In default stdio mode, each MCP client process auto-reuses or auto-starts the shared backend on 127.0.0.1:15551.
Install
# Via uvx (recommended)
uvx google-ai-scraper
# Or pip
pip install google-ai-scraper
Prerequisites
- Chrome with the Google AI Overview Scraper extension installed
- Python 3.10+
- Extension options pointed at
http://localhost:15551
MCP Client Configuration
Claude Code
{
"mcpServers": {
"google-ai-scraper": {
"command": "uvx",
"args": ["google-ai-scraper"]
}
}
}
Claude Desktop
{
"mcpServers": {
"google-ai-scraper": {
"command": "uvx",
"args": ["google-ai-scraper"]
}
}
}
Cursor
{
"mcpServers": {
"google-ai-scraper": {
"command": "uvx",
"args": ["google-ai-scraper"]
}
}
}
Local Source Checkout
{
"mcpServers": {
"google-ai-scraper": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/server",
"google-ai-scraper"
]
}
}
}
MCP Tools
| Tool | Params | Description |
|---|---|---|
search |
query |
Search Google AI Overview. Returns markdown + citations + thread_id |
follow_up |
query, thread_id |
Continue a conversation in an existing thread |
health |
— | Check server + extension connectivity |
CLI Options
google-ai-scraper [--sse] [--no-server] [--backend] [--port PORT]
| Flag | Default | Description |
|---|---|---|
--sse |
off | Run the MCP server with SSE transport instead of stdio |
--no-server |
off | Do not auto-start or reuse the shared FastAPI backend |
--backend |
off | Run only the shared FastAPI backend |
--port |
15551 | FastAPI backend port |
Environment Variables
| Variable | Default | Description |
|---|---|---|
GOOGLE_AI_SCRAPER_URL |
http://127.0.0.1:15551 |
FastAPI backend URL |
Advanced Modes
Explicit Shared Backend
uv run google-ai-scraper --backend --port 15551
SSE Server
uv run google-ai-scraper --sse --no-server
Shared Backend + SSE Helper Script
cd server
./start-services.sh
This starts the shared backend on :15551 and the SSE endpoint on :8001.
License
MIT
Metadata
Release files for google-ai-scraper 0.2.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| google_ai_scraper-0.2.16.tar.gz | 53.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| google_ai_scraper-0.2.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.7 kB
Release files / google_ai_scraper-0.2.16.tar.gz
| Download URL | google_ai_scraper-0.2.16.tar.gz |
|---|---|
| Size | 53.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8df4270574e588e281b005edff690dc989a93691b9f59ce77c922716d2b6bc9b
|
|
BLAKE2b-256 checksum How to use checksums |
bff15641e84a052304f19ad4d193d2cecf036dba2ac12f45ef3a4d63bc7118b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / google_ai_scraper-0.2.16-py3-none-any.whl
| Download URL | google_ai_scraper-0.2.16-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
18cf785d5d59cb2e00ab34db676060f0e794831368207fc5f05f1269914c015e
|
|
BLAKE2b-256 checksum How to use checksums |
332de5f54f074b5fab7c78269605a6e314754c4ffc8b3b8efaf4a7eb49e7f706
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.1 {"installer":{"name":"uv","version":"0.13.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for google-ai-scraper 0.2.16
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.