Skip to content

Google Maps MCP: Places and Reviews for Claude, ChatGPT and Cursor

A Google Maps MCP server lets your AI agent find places, ratings, opening hours and reviews right in the chat. Connect Scrape.ly's hosted server to Claude, ChatGPT or Cursor without a Google Cloud project or Maps API key, and see real tool calls, output and costs.

Published
Reading time
9 min read
Pixel-art robot with an orange >_ on its terminal head carries a cable from a tall Google Maps pin into a server rack labelled MCP
In this article
  1. Two kinds of Google Maps MCP server
  2. How to connect the Scrape.ly MCP server
  3. The Google Maps scrapers your agent can use
  4. What the agent does: the four tool calls
  5. A real run: the best-rated coffee shops in Portland
  6. A real run: the newest reviews of the top place
  7. Prompts that work well
  8. What your agent can and can't get from Google Maps
  9. Spending control for agents
  10. FAQ
  11. Is there an MCP for Google Maps?
  12. Does Google have an MCP server?
  13. What is the Google Maps MCP server URL?
  14. Is the Google Maps API still free?
  15. Can my agent read Google Maps reviews?
  16. Can Claude use Google Maps?

A Google Maps MCP server is a Model Context Protocol server that gives an AI agent such as Claude, ChatGPT or Cursor tools for Google Maps data: places for a search and a location, with ratings, review counts, categories, opening hours, phone numbers, websites and the reviews themselves. The best Google Maps MCP setup for research and lead lists is the hosted Scrape.ly MCP server, because your agent runs ready-made Google Maps scrapers in the cloud and gets every place as a structured row, with no Google Cloud project, no Maps Platform API key and no billing account to set up.

Below: how Google's own MCP server and the open-source ones work, the setup for each client, the Actors your agent uses, and two real runs from 26 October 2026: five top-rated coffee shops in Portland in 8.2 seconds for under two cents, and the newest reviews of the best of them for a fifth of a cent.

Two kinds of Google Maps MCP server

Search for "google maps mcp" and most of page one runs on the Google Maps Platform APIs. The top result is Google's own: Maps Grounding Lite, an MCP server at https://mapstools.googleapis.com/mcp with tools to search places, look up weather, compute routes and resolve place names. Its search tool returns "AI-generated place data summaries" along with Place IDs, coordinates and Google Maps links.

Getting there takes a Google Cloud project with Grounding Lite enabled, billing switched on, and an API key or OAuth client. Each request is a billing event under Maps Platform's pay-as-you-go pricing. Google's docs also set rules for the model on the other end: you "must not use Maps Grounding Lite with any models that use the data input into the model for any model training or improvement", you're responsible for making sure Google Maps content "is not cached by, stored by, or used to improve the LLM", and answers built on it must show Google Maps as the source right after the generated text.

The open-source servers follow the same pattern with your own key. cablate/mcp-google-map, the second result, turns Maps Platform into 18 read-only tools and states that every option needs "a Google Maps Platform API key. Live calls may be billable." Anthropic's original reference server, which also needs a Maps API key, now lives in the archived servers repository.

Those servers are a good fit for routing, geocoding and "what's near me" answers inside an app. Market research, lead lists and review analysis need something else: the public listing data as rows you can sort, filter and export. That's what the Scrape.ly server returns.

Scrape.ly MCP server Maps Platform API servers (Grounding Lite, open source)
Setup One URL, sign in with OAuth Google Cloud project, billing enabled, API key or OAuth client
What a place search returns One row per place: name, category, rating, review count, address, hours, phone, website, coordinates, review topics AI-generated summaries with Place IDs, coordinates and links (Grounding Lite)
Review text Yes, with stars, dates, owner replies and visit details Depends on the server and API
Keep and export the data JSON, CSV or Excel datasets, kept on your account Subject to Google Maps Platform content rules
Price $3.81 per 1,000 places, $0.44 per 1,000 reviews Maps Platform per-request pricing
Cost control A dollar cap per run, scoped keys with daily limits Your Google Cloud billing account

How to connect the Scrape.ly MCP server

The Scrape.ly MCP server is hosted at https://mcp.scrape.ly, speaks MCP's streamable HTTP transport and signs you in with OAuth or a Scrape.ly API token. Create a free account first: the free plan includes $5 of usage every month, no card needed.

Claude Code. One command, then /mcp inside Claude Code to sign in:

shell
claude mcp add --transport http scrapely https://mcp.scrape.ly

Claude Desktop and claude.ai. Add https://mcp.scrape.ly as a custom connector under Customize → Connectors. The Claude MCP guide shows every step.

Cursor. Add this to ~/.cursor/mcp.json, or leave out headers to sign in with OAuth:

json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://mcp.scrape.ly",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

ChatGPT, VS Code, Windsurf and others. Same URL with OAuth or a Bearer header; the MCP docs have each format.

A Google Maps-only server. To give the agent just the places and reviews tools:

Text
https://mcp.scrape.ly?actors=cornerledger/google-maps-scraper,cornerledger/google-maps-reviews-scraper

The Google Maps scrapers your agent can use

Actor Input What comes back Price per 1,000
Google Maps Scraper Lite Search terms and a location Name, categories, address parts, coordinates, phone, website, rating, review count, opening hours, review topics, Place ID $3.81 places
Google Maps Scraper Full Search terms, a location, Maps URLs, a custom area or postal code The same plus detail pages, emails and social profiles from the place's website, and lead enrichment $4.75 places, add-ons priced per event
Google Maps Reviews Scraper Place URLs, search URLs or Place IDs Review text and translation, stars, exact date, owner reply, photos, visit details, aspect ratings $0.44 reviews

Prices are pay per event with platform usage included, as listed on each Store page on 26 October 2026. Use Lite for place lists and market scans, Full when the agent needs contact details. Our Google Maps scraping page compares the Google Maps Actors side by side.

What the agent does: the four tool calls

  1. search-actors with "google maps" finds the Actors above.
  2. fetch-actor-details returns the input schema, README and price, so the agent knows the search goes in searchStringsArray and the city in locationQuery.
  3. call-actor starts the run and waits up to 45 seconds; both runs below finished well inside that.
  4. get-actor-output reads the rows, with only the fields the agent asks for.

The rows never land in the call-actor reply, so a 500-place scan doesn't flood the context window.

A real run: the best-rated coffee shops in Portland

The prompt: "Use scrapely to find five coffee shops in Portland, OR rated 4.5 or higher, with their review counts, hours and websites."

The agent sends cornerledger/google-maps-scraper the shape of its minimum-rating preset, with a cap on the charge:

json
{
  "actor": "cornerledger/google-maps-scraper",
  "input": {
    "searchStringsArray": ["coffee shop"],
    "locationQuery": "Portland, OR",
    "maxCrawledPlacesPerSearch": 5,
    "placeMinimumStars": "4.5",
    "language": "en"
  },
  "waitSecs": 45,
  "callOptions": { "maxTotalChargeUsd": 0.05 }
}

The run on 26 October 2026 finished in 8.2 seconds. Its log:

Text
2026-10-26T14:25:54.661Z [scrapely.actor] INFO  Saved 5 places in 5.0s (7 requests, 0 hedged, 1.17 MB); start-up: python 1.02s, SDK import 0.00s, SDK init 0.25s

The agent read the rows with get-actor-output:

json
{
  "runId": "8f5803f19db9406f8",
  "fields": "rank,title,totalScore,reviewsCount,postalCode,openingHours,phone,website,reviewsTags"
}

What came back:

Rank Place Rating Reviews ZIP Monday hours Phone Website
1 Drip Drop Coffee 4.9 370 97204 7 AM to 3 PM (971) 383-2734 dripdroppdx.com
2 Less and more coffee 4.8 479 97204 7 AM to 2 PM not listed lessandmorecoffee.square.site
3 40 LBS Coffee Bar 4.7 262 97204 7 AM to 3 PM (503) 329-5782 40lbscoffee.com
4 40 LBS Coffee + Bar 4.6 154 97204 7 AM to 5 PM (503) 329-5782 40lbscoffee.com
5 Caffe Umbria 4.6 561 97205 7 AM to 6 PM (503) 719-5248 caffeumbria.com

Two details an agent should catch. Ranks 3 and 4 are two locations of the same business, sharing a phone number and website, so a brand-level list should merge them. And the review topics Google shows are in every row: Less and more coffee's most mentioned topic was "tiramisu latte" (80 reviews), Drip Drop's were "welcoming staff" (30) and "friendly baristas" (21), and Caffe Umbria's was "espresso" (27). Both 40 LBS locations close on weekends; Caffe Umbria is open 7 AM to 6 PM every day.

Cost: 5 × $0.00381 = $0.01905 at list price, platform usage included. Our account was billed $0.01524 after its plan's Store discount.

A real run: the newest reviews of the top place

The follow-up prompt: "Get the five newest reviews of Drip Drop Coffee, without reviewer names."

The agent took the Place ID from the first run and sent the Reviews Scraper this input, with personalData off so no names, profile links or photos come back at all:

json
{
  "placeIds": ["ChIJecApHMELlVQRlZHjA_PRmQs"],
  "maxReviews": 5,
  "reviewsSort": "newest",
  "language": "en",
  "personalData": false
}

It finished in 4.1 seconds: "Saved 5 reviews from 1 places." Reviewers are shown as [reviewer 1] to [reviewer 5]; the run returned no names to begin with.

Reviewer Stars Date Review, shortened Food / Service / Atmosphere
[reviewer 1] 5 2026-10-12 The Dude sandwich did not disappoint! not rated
[reviewer 2] 5 2026-10-12 There is a distinct kind of magic in the morning air when you walk into Drip Drop Coffee… 5 / 5 / 5
[reviewer 3] 5 2026-10-10 What a chill spot to grab coffee and a snack! 5 / 5 / 5
[reviewer 4] 5 2026-10-09 I got the everything bagel with jalapeño and plain cream cheese. It was fantastic! 5 / 5 / 5
[reviewer 5] 5 2026-10-07 (stars only, no text) 5 / 5 / 5

Each review also carried its visit details where the reviewer gave them ("Dine in", "Breakfast", "$10–20" per person, "Quiet, easy to talk"). None of the five had an owner reply. Cost: 5 × $0.00044 = $0.0022 at list price; we were billed $0.00176.

Prompts that work well

  • "Use scrapely to list every dentist in Austin, TX with at least 4.5 stars and no website, 50 places, as a CSV."
  • "Find the 20 best-rated ramen restaurants in Seattle and tell me which neighborhood has the most."
  • "Run cornerledger/google-maps-reviews-scraper on this place for reviews from the last 30 days that mention 'wait', and summarize the complaints."
  • "Compare the ratings and review counts of every Blue Bottle Coffee in San Francisco."
  • "Keep each run under $0.25."

The agent turns that last line into callOptions.maxTotalChargeUsd.

What your agent can and can't get from Google Maps

  • A limited list per search area. Google Maps shows a limited number of places for one search: about 130 restaurants but over 500 hotels around a city center, per the Lite scraper's README. For more, the agent adds search terms or narrower locations.
  • Filters read further down the list. With a minimum rating or a website filter set, filtered-out places don't count toward the limit, so the run keeps reading until it has the number you asked for.
  • Google reviews only. Partner scores, like Tripadvisor ratings on a hotel page, aren't included, and reviews visible only to signed-in users aren't scraped.
  • Contact details live on the Full scraper. Lite returns the phone and website Maps shows; emails and social profiles from the business's own site come from Google Maps Scraper Full.
  • Reviewers are people. Set personalData to false unless you have a lawful reason to keep names, and treat review text as personal data under the GDPR and similar laws. Business listings themselves are business data. This isn't legal advice.

Spending control for agents

  • A dollar cap per run. maxTotalChargeUsd caps the run, and the Reviews Scraper stops cleanly when it reaches it.
  • Scoped API keys with daily charge limits. An unattended agent gets its own key under Settings → API keys with only actors:run and runs:read.
  • A prepaid balance. No invoice surprises.

For a REST endpoint instead of a chat, the Google Maps API page has Python, JavaScript and cURL examples, and our guide on how to scrape Google Maps covers every input without an agent. The Google Maps API pricing breakdown compares the official API's costs with Store prices.

FAQ

Is there an MCP for Google Maps?

Yes. Google offers Maps Grounding Lite, and open-source servers wrap the Maps Platform APIs; all of them need a Google Cloud project and an API key. The Scrape.ly MCP server runs Google Maps scrapers instead, so your agent gets public places and reviews as rows without a Maps key.

Does Google have an MCP server?

Yes. Google announced official MCP support for Google services, and for Maps it offers Maps Grounding Lite at https://mapstools.googleapis.com/mcp, with tools for places, weather and routes. It needs a Cloud project with billing enabled.

What is the Google Maps MCP server URL?

For Scrape.ly it's https://mcp.scrape.ly, for every client. Add ?actors=cornerledger/google-maps-scraper,cornerledger/google-maps-reviews-scraper to expose just the Maps tools.

Is the Google Maps API still free?

Google Maps Platform bills per request; Grounding Lite counts each request as a billing event, with a no-cost demo key for testing. On Scrape.ly you pay per result instead ($3.81 per 1,000 places), and the free plan's $5 a month covers about 1,300 places.

Can my agent read Google Maps reviews?

Yes. The Google Maps Reviews Scraper returns review text, stars, dates, owner replies and visit details for any place, at $0.44 per 1,000 reviews. Turn personalData off to leave out reviewer names and profiles.

Can Claude use Google Maps?

Yes. Connect Claude Desktop, claude.ai or Claude Code to https://mcp.scrape.ly, then ask in plain words for places in a city; Claude runs the Google Maps scraper and works with the rows it gets back.

  • google maps mcp
  • google maps mcp server
  • mcp
  • ai agents
  • claude
  • google maps
  • local data

About the author

The team behind Scrape.ly

Scrape.ly is the web data platform from TeraShift GmbH in Switzerland, powered by Evomi: ready-made scrapers in the Scrape.ly Store, a cloud runtime, an API with JavaScript and Python SDKs, proxies, a hosted anti-bot browser and an MCP server for AI agents.

//Keep reading\\

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes.

No credit card. No setup calls.