search_googleLABSCO SUMMARY
You get the whole result page, and you inherit its fragility.
Parsing the rendered DOM is what makes ads, People Also Ask and related searches available at all — most hosted APIs charge for a subset of this. The same choice means a Google layout change or a CAPTCHA interrupts you in a way a paid API would absorb. Session persistence and the delay between multi-keyword requests are there to keep that rare; budget for it anyway if this sits in an unattended pipeline.
What it is
A SERP extractor for agents. A stealth browser loads the search page, parses the DOM and returns structured data, so the full result page — including the parts most search APIs drop — is available without an API key or a monthly plan.
What you get
- A full Google result page parsed into organic results with position, title, URL, domain and snippet, plus ads, the featured snippet with its source and type, People Also Ask pairs and related searches —
search_google, takingquery,num_resultsandcountry - The same structure from Bing —
search_bing - Several keywords analysed at once, returning per-keyword SERP data plus aggregated People Also Ask questions and related searches —
keyword_research - Where a specific domain ranks for a keyword, with the position, the ranking URL and the competitors above it —
check_ranking, takingkeyword,domainandnum_results
Requirements
No API key. Python with pip install "mcp[cli]" playwright playwright-stealth and playwright install chromium, then point your client at server.py. The package is serp-scraper-mcp (0.1.0). Google occasionally serves CAPTCHAs to automated requests; the project can hand those to a sibling CAPTCHA-solver server when it is installed alongside. Multi-keyword runs pause 2 seconds between requests.
Setup effort
Build from source — git clone https://github.com/dppalukuri/BlackHole.git
USE CASES
Checking where a site ranks for its target terms
Query the keyword with the domain and read back the position and the competitors ahead of it.
Mining a topic for content ideas
Run a keyword set and read the aggregated People Also Ask questions and related searches rather than collecting them by hand.
Seeing who is bidding on your keywords
Read the ads block from a live result page, including whether each ad sits at the top.
Comparing two engines on the same query
Run the query on both and compare the organic sets, which differ more than people expect.
4 tools
Listed in project docs. Your client may show a different list.
search_bingkeyword_researchcheck_rankingBEFORE YOU INSTALL
What to know first
Tools you get
4 tools named in the project's documentation.
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/dppalukuri/BlackHole.git
pip install "mcp[cli]" playwright playwright-stealth
playwright install chromiumMCP Clients
Claude Desktop, Cursor
{
"mcpServers": {
"serp-scraper": {
"command": "python",
"args": [
"<YOUR_PATH_TO_MCP_SERVERS>/serp-scraper/server.py"
]
}
}
}