/ Directory / Playground / mcp-google-map
● Community cablate ⚡ Instant

mcp-google-map

by cablate · cablate/mcp-google-map

Geocoding, directions, Places, elevation, timezones, even weather and air quality — 18 Google Maps tools exposed to Claude for location-aware tasks.

mcp-google-map wraps Google's Places (New) and Routes APIs plus several sibling APIs into 14 atomic + 4 composite tools. The composite tools (explore-area, plan-route, compare-places, local-rank-tracker) handle common multi-call workflows in one shot to save tokens and Google quota.

Why use it

Key features

Live Demo

What it looks like in practice

google-map.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "google-map": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ],
      "_inferred": true
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "google-map",
      "command": "npx",
      "args": [
        "-y",
        "mcp-google-map"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "google-map": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-google-map"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add google-map -- npx -y mcp-google-map

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use mcp-google-map

Track your Google Maps ranking for key searches across zip codes

👤 Local SEO specialists, restaurant / service businesses ⏱ ~20 min intermediate

When to use: You want to know where your business ranks for 'best pizza' in 20 zip codes around town, refreshed weekly.

Prerequisites
  • Google Maps API key with Places (New) enabled — Google Cloud Console > Enable APIs
Flow
  1. Use the composite local-rank-tracker tool
    Run local-rank-tracker for business 'Tony's Pizza' (place_id: [id]) on query 'pizza near me' across these 20 coordinates [list lat/lng].✓ Copied
    → Per-location rank (or 'not in top 20')
  2. Store history
    Save results to ./rank-history/YYYY-MM-DD.json. Diff against last week.✓ Copied
    → Week-over-week delta

Outcome: Weekly local rank report without paying a SaaS SEO tool.

Pitfalls
  • Google's Places API cost adds up — ~$17 per 1000 calls — Batch the locations; limit to key zip codes; cache for 7 days
Combine with: filesystem

Plan a multi-stop day trip with driving time and elevation

👤 Travelers, travel bloggers ⏱ ~10 min beginner

When to use: Planning a road trip and want optimized stop order + realistic drive times.

Flow
  1. Describe the stops
    I want to visit Yosemite Valley, Mariposa Grove, Tunnel View, Glacier Point — in one day starting from Merced. Optimize the order and give drive times.✓ Copied
    → Ordered stops + per-leg drive minutes
  2. Add context
    For each stop, get elevation and the current weather.✓ Copied
    → Annotated itinerary

Outcome: A sane itinerary with real-world durations.

Pitfalls
  • Routes API uses traffic-aware estimates only at query time — Re-query the morning of the trip for realistic drive times

Compare candidate locations for a new retail store

👤 Real estate analysts, franchise planners ⏱ ~30 min intermediate

When to use: You're deciding between 3 candidate addresses for a new storefront. Foot traffic, competitor proximity, demographic proxies matter.

Flow
  1. Reverse-geocode each candidate
    For these 3 addresses, get coordinates and neighborhood.✓ Copied
    → 3 geocoded results
  2. Use compare-places
    For each location, count competitors within 1km (category: coffee shop). List top 10 nearby businesses.✓ Copied
    → Per-site competitive density + anchor tenants
  3. Assess traffic corridors
    For each, get drive-time from the nearest highway exit and major residential zip code.✓ Copied
    → Accessibility score

Outcome: Data-backed site recommendation you can defend in a meeting.

Pitfalls
  • Google Places is not a substitute for actual foot-traffic data — Use as a first-pass filter; combine with Placer.ai or county permit data for final decision

Combinations

Pair with other MCPs for X10 leverage

google-map + filesystem

Store weekly rank-tracker snapshots to disk, diff over time

Run local-rank-tracker for my business, save to /reports/rank/YYYY-MM-DD.json.✓ Copied
google-map + postgres

Enrich customer addresses in your DB with lat/lng for map dashboards

For each row in customers where lat IS NULL, geocode the address and UPDATE with lat/lng. Stop at 500/day to respect quota.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
geocode address: str Address → coordinates $5 / 1000 calls
reverse_geocode lat, lng Coordinates → address $5 / 1000
directions origin, destination, mode?, waypoints? Turn-by-turn or drive-time $5-10 / 1000
places_search query, location?, radius? Find businesses by keyword near a point $17-32 / 1000 (New Places)
place_details place_id After places_search to get hours, phone, website $17+ / 1000
explore-area center, radius, categories[] Composite — one shot neighborhood survey bundled
plan-route stops[], mode, optimize?: bool Multi-stop trip planning bundled
compare-places places[], categories[] Site selection or evaluation bundled
local-rank-tracker query, place_id, locations[] Local SEO audits N * places_search cost

Cost & Limits

What this costs to run

API quota
Google: $200/mo free credit covers ~12k geocodes or ~10k Places (New) Autocomplete/Details
Tokens per call
Tool results 500-3000 tokens; trim via GOOGLE_MAPS_ENABLED_TOOLS to reduce schema overhead
Monetary
Pay Google directly. See cloud.google.com/maps-platform/pricing.
Tip
Places (New) is the expensive one. Use geocode (cheap) when you just need coordinates, not business data. Cache place_id aggressively.

Security

Permissions, secrets, blast radius

Minimum scopes: Enable only the APIs you actually use
Credential storage: GOOGLE_MAPS_API_KEY env var. Restrict the key to your IP / referrer.
Data egress: All queries to maps.googleapis.com
Never grant: Unrestricted key on a shared machine — anyone can burn your quota

Troubleshooting

Common errors and fixes

REQUEST_DENIED / API key not valid

API isn't enabled or key restrictions block your IP. Check GCP Console > APIs & Services > Credentials.

Verify: curl 'https://maps.googleapis.com/maps/api/geocode/json?address=NYC&key=$KEY'
OVER_QUERY_LIMIT

You've blown the $200 monthly free tier, or Google is throttling per-second. Back off + batch.

Verify: GCP Billing > Reports
Empty results for obvious queries

Places (New) requires explicit field masks on some calls. Update to latest npm version.

Alternatives

mcp-google-map vs others

AlternativeWhen to use it insteadTradeoff
OpenStreetMap Nominatim MCPFree, no API key, non-commercial use OKLess rich data; rate-limited to 1 rps
Mapbox MCPYou prefer Mapbox's styling and routingDifferent pricing and data model

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills