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
| OS | Config 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
| Scope | macOS / Linux | Windows |
|---|---|---|
| This project | .cursor/mcp.json in the repo root | |
| This user | ~/.cursor/mcp.json |
%USERPROFILE%\.cursor\mcp.json |
Windsurf
| OS | Config 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
How to get started
- Enable the Maps APIs you need on a GCP project and create an API key.
- Restrict the key to those APIs and, if you can, to your IPs.
- 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
| Server | Official? | Needs a secret? | Best for |
|---|---|---|---|
| Google Maps | Yes | Yes | Geocode and place search via Google Maps. |
| Brave Search | Yes | Yes | Web search via the Brave Search API. |
| Fetch | Yes | Yes | Fetch a URL and turn the page into readable text. |
More in Chat, mail & docs
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.