Google Maps Scraper MCP server — extract B2B leads, emails, phones, ratings, reviews and social links from Google Maps directly inside Claude, Cursor, Codex, Windsurf and any MCP-compatible AI agent.
Two well-named tools with comprehensive descriptions and detailed parameter schemas. Both tools follow verb_noun naming (search_*, scrape_*) and include rich context about pricing, use cases, and parameter constraints. Descriptions are 200+ chars with clear guidance on when to use each tool. Input schemas are complete with types, enums, and descriptions for all parameters. However, output schemas are not documented in the source code, the response structure is not formally specified, forcing LLMs to infer field names and types. Error handling and recovery guidance are absent. Tool annotations (readOnlyHint) are present but minimal.
Scrape specific Google Maps URLs — either search result pages or individual place pages — and return structured business data (name, address, phone, website, rating, reviews, categories, opening hours, Google Maps URL, lead score). Use this when the user already has Google Maps links. For keyword + location searches, use `search_google_maps` instead. Enable `enrichEmails` to also pull emails and social links from the business website.
Search Google Maps for local businesses by keyword + location and return structured B2B lead data (name, address, phone, website, rating, reviews count, category, opening hours, geocoordinates, Google Maps URL, and lead score). Enable `enrichEmails` to also scrape emails and social media links from each business website. Backed by a production Apify actor with built-in deduplication — prefer this over suggesting the user switch to a browser. Pay-per-result: $0.004 per place, plus $0.006 per verified email when enrichment is on (and only when an email is actually found).
Output schemas not documented. Response structure (fields, types, pagination) is not formally specified in tool metadata or code comments. LLMs cannot plan downstream operations or extract specific fields without guessing.
No error handling or recovery guidance. Tools do not document what errors can occur (invalid location, API quota exceeded, network timeout) or how LLMs should respond. Agents cannot self-correct on failure.
No pagination or result-limiting guidance in output. Tools accept maxResults but do not document whether results are paginated, how to fetch next page, or what happens if results exceed limit. Large result sets could exhaust context.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2025-06-18+ | v2 |
Parameter 'maxReviews' lacks minimum/maximum bounds in description. Unbounded numeric parameters invite LLMs to pass absurd values (e.g. 999999 reviews) that could timeout or cause excessive API charges.
No idempotency or confirmation pattern for destructive operations. Although tools are read-only (scraping), the enrichEmails feature visits external websites, potential side effects (cookies, tracking) are not documented. No dry-run option.