Suggest a server AI tools directory →

Google Maps MCP server

Last verified: 2026-09

Geocode and place search via Google Maps.

Official reference Chat, mail & docs Needs a secret Claude Desktop, Cursor, Windsurf, Claude Code, VS Code

What it does

Geocode, place search, directions, elevation, and distance matrix via Google Maps Platform. Official reference server. Maps bills per request.

It sits in Chat, mail & docs: These servers act as the bot or the integration you install.

Good for

  • Geocode an address the model should not invent coordinates for.
  • Place search for a location you are writing into an app.
  • Distance / directions only if that tool is in the current official set.
  • Keep the key HTTP-referrer or API-restricted — Maps keys leak in client apps.

Tools

  • maps_geocode / maps_reverse_geocode — Address ↔ coordinates.
  • maps_search_places / maps_place_details — Places.
  • maps_distance_matrix / maps_directions / maps_elevation — Routes and terrain.

Config (Claude Desktop / Cursor / Windsurf)

Paste the JSON below. Same mcpServers shape. Replace placeholder paths and secrets. Windows paths look like C:\\Users\\you\\project, not /path/to. Host-side steps →

Claude Desktop

OSConfig file
macOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%\Claude\claude_desktop_config.json (usually C:\Users\<you>\AppData\Roaming\Claude\)
Linux~/.config/Claude/claude_desktop_config.json

Cursor

ScopemacOS / LinuxWindows
This project.cursor/mcp.json in the repo root
This user~/.cursor/mcp.json %USERPROFILE%\.cursor\mcp.json

Windsurf

OSConfig file
macOS / Linux~/.codeium/windsurf/mcp_config.json
Windows%USERPROFILE%\.codeium\windsurf\mcp_config.json
{
  "mcpServers": {
    "google_maps": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-google-maps"
      ],
      "env": {
        "GOOGLE_MAPS_API_KEY": "AIza..."
      }
    }
  }
}

Windsurf remote MCP: use serverUrl instead of url if the block below is HTTP.

One-liner: npx -y @modelcontextprotocol/server-google-maps

Secrets it wants: GOOGLE_MAPS_API_KEY

Source repo →

How to get started

  1. Enable the Maps APIs you need on a GCP project and create an API key.
  2. Restrict the key to those APIs and, if you can, to your IPs.
  3. Set GOOGLE_MAPS_API_KEY. Ask for a geocode before you turn on directions (more expensive).

Access risk

Unrestricted keys leak budget. The model can fire many requests in one chat.

When to skip it

Skip it if you only need 'what time is it' (Time) or a web search (Brave).

Instead: Brave Search, Fetch.

Vs alternatives

ServerOfficial?Needs a secret?Best for
Google MapsYesYesGeocode and place search via Google Maps.
Brave SearchYesYesWeb search via the Brave Search API.
FetchYesYesFetch a URL and turn the page into readable text.

More in Chat, mail & docs

All 18 in this category →

FAQ

Which key?

A Google Maps Platform key with only the APIs you need. Bills per request.

Does it see my Location History?

No. It is the Maps API, not your Google account's location timeline.

Official?

Anthropic reference server.

Maps or a local gazetteer?

Use this for live geocoding. Do not send customer addresses you cannot put in a Google API.