| 1 | <p align="center"> |
| 2 | <a href="https://www.npmjs.com/package/@cablate/mcp-google-map"><img src="https://img.shields.io/npm/v/@cablate/mcp-google-map" alt="npm version"></a> |
| 3 | <a href="https://www.npmjs.com/package/@cablate/mcp-google-map"><img src="https://img.shields.io/npm/dm/@cablate/mcp-google-map" alt="npm downloads"></a> |
| 4 | <a href="https://github.com/cablate/mcp-google-map/stargazers"><img src="https://img.shields.io/github/stars/cablate/mcp-google-map?style=social" alt="GitHub stars"></a> |
| 5 | <a href="./LICENSE"><img src="https://img.shields.io/github/license/cablate/mcp-google-map" alt="license"></a> |
| 6 | </p> |
| 7 | |
| 8 | <p align="center"> |
| 9 | <img src="./assets/banner.webp" alt="MCP Google Maps — AI-Powered Geospatial Tools" width="800"> |
| 10 | </p> |
| 11 | |
| 12 | <h3 align="center"><b>Give your AI agent the ability to understand the physical world —<br>geocode, route, search, and reason about locations.</b></h3> |
| 13 | |
| 14 | <p align="center"> |
| 15 | <b>English</b> | <a href="./README.zh-TW.md">繁體中文</a> |
| 16 | </p> |
| 17 | |
| 18 | <p align="center"> |
| 19 | <img src="./assets/demo-grid-en.png" alt="Travel planning demo — Kyoto 2-day, Tokyo outdoor, Japan 5-day, Bangkok budget" width="800"> |
| 20 | </p> |
| 21 | |
| 22 | - **18 tools** — 14 atomic + 4 composite (explore-area, plan-route, compare-places, local-rank-tracker) |
| 23 | - **3 modes** — stdio, StreamableHTTP, standalone exec CLI |
| 24 | - **Agent Skill** — built-in skill definition teaches AI how to chain geo tools ([`skills/google-maps/`](./skills/google-maps/)) |
| 25 | |
| 26 | ### vs Google Grounding Lite |
| 27 | |
| 28 | | | This project | [Grounding Lite](https://cloud.google.com/blog/products/ai-machine-learning/announcing-official-mcp-support-for-google-services) | |
| 29 | |---|---|---| |
| 30 | | Tools | **18** | 3 | |
| 31 | | Geocoding | Yes | No | |
| 32 | | Step-by-step directions | Yes | No | |
| 33 | | Elevation | Yes | No | |
| 34 | | Distance matrix | Yes | No | |
| 35 | | Place details | Yes | No | |
| 36 | | Timezone | Yes | No | |
| 37 | | Weather | Yes | Yes | |
| 38 | | Air quality | Yes | No | |
| 39 | | Map images | Yes | No | |
| 40 | | Composite tools (explore, plan, compare) | Yes | No | |
| 41 | | Open source | MIT | No | |
| 42 | | Self-hosted | Yes | Google-managed only | |
| 43 | | Agent Skill | Yes | No | |
| 44 | |
| 45 | ### Quick Start |
| 46 | |
| 47 | ```bash |
| 48 | # stdio (Claude Desktop, Cursor, etc.) |
| 49 | npx @cablate/mcp-google-map --stdio |
| 50 | |
| 51 | # exec CLI — no server needed |
| 52 | npx @cablate/mcp-google-map exec geocode '{"address":"Tokyo Tower"}' |
| 53 | |
| 54 | # HTTP server |
| 55 | npx @cablate/mcp-google-map --port 3000 --apikey "YOUR_API_KEY" |
| 56 | ``` |
| 57 | |
| 58 | ## Special Thanks |
| 59 | |
| 60 | Special thanks to [@junyinnnn](https://github.com/junyinnnn) for helping add support for `streamablehttp`. |
| 61 | |
| 62 | ## Available Tools |
| 63 | |
| 64 | | Tool | Description | |
| 65 | |------|-------------| |
| 66 | | `maps_search_nearby` | Find places near a location by type (restaurant, cafe, hotel, etc.). Supports filtering by radius, rating, and open status. | |
| 67 | | `maps_search_places` | Free-text place search (e.g., "sushi restaurants in Tokyo"). Supports location bias, rating, open-now filters. | |
| 68 | | `maps_place_details` | Get full details for a place by its place_id — reviews, phone, website, hours. Optional `maxPhotos` param returns photo URLs. | |
| 69 | | `maps_geocode` | Convert an address or landmark name into GPS coordinates. | |
| 70 | | `maps_reverse_geocode` | Convert GPS coordinates into a street address. | |
| 71 | | `maps_distance_matrix` | Calculate travel distances and times between multiple origins and destinations. Driving mode supports `avoid_tolls` and `avoid_highways`. | |
| 72 | | `maps_directions` | Get step-by-step navigation between two points with route details. Driving mode supports `avoid_tolls` and `avoid_highways`. | |
| 73 | | `maps_elevation` | Get elevation (meters above sea level) for geographic coordinates. | |
| 74 | | `maps_timezone` | Get timezone ID, name, UTC/DST offsets, and local time for coordinates. | |
| 75 | | `maps_weather` | Get current weather conditions or forecast — temperature, humidity, wind, UV, precipitation. | |
| 76 | | `maps_air_quality` | Get air quality index, pollutant concentrations, and health recommendations by demographic group. | |
| 77 | | `maps_static_map` | Generate a map image with markers, paths, or routes — returned inline for the user to see directly. | |
| 78 | | `maps_bat |