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.15
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| google_ai_scraper-0.2.15.tar.gz | 50.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| google_ai_scraper-0.2.15-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 61.4 kB
Release files / google_ai_scraper-0.2.15.tar.gz
| Download URL | google_ai_scraper-0.2.15.tar.gz |
|---|---|
| Size | 50.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90ab1701427fe22af710b4adedc3684f45f20756bcc8e39111c296b472d0e040
|
|
BLAKE2b-256 checksum How to use checksums |
cdcde6bc8ab9ba7a95af20570230365903d4b32ea1a2871c59373f369635dd6b
|
| 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.15-py3-none-any.whl
| Download URL | google_ai_scraper-0.2.15-py3-none-any.whl |
|---|---|
| Size | 11.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
22cdc7ef61df477dadc296d0ad06a3dfa8651b28418bb77a508b7c5060346198
|
|
BLAKE2b-256 checksum How to use checksums |
fb18341c187f1546607af5b84640332396def313e3670925494ff17d8cb6bf99
|
| 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}
|