Google Maps MCP Server
This MCP server lets you search Google Maps and retrieve structured place details for AI/LLM clients.
Search Google Maps for businesses, landmarks, points of interest, and services using a free-text query that can include category/name and location.
Limit results from 1 to 50 (default 10) and localize searches with ISO country and language codes.
Get structured place data: name, Google Place ID, category, address, phone/international phone, website/domain, latitude/longitude, rating, review count, and Google Maps URL.
Fetch details for a single place by Google Place ID or exact business/landmark name, with country/language localization.
Connect from MCP clients over stdio or Streamable HTTP without an API key, billing account, or browser automation.
Provides tools for searching businesses, attractions, and services on Google Maps, retrieving structured place details including ratings, contact info, coordinates, and Google Maps URLs.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Google Maps MCP Server Find me the top-rated pizza places in Brooklyn"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gmaps-mcp
Google Maps MCP server for AI agents and LLM applications.
Purpose
gmaps-mcp is an open-source Google Maps MCP server and command line interface built on the Model Context Protocol. It provides an AI agent maps tool that requires no API key, billing account, or browser automation setup.
AI assistants in Claude Desktop, Cursor, Cline, Windsurf, Zed, and OpenCode connect to this Model Context Protocol Google Maps server to search local businesses, inspect reviews and star ratings, find phone numbers and websites, and retrieve geographic coordinates. The tool runs locally through standard input/output (stdio) or across networks through Streamable HTTP.
Related MCP server: Google Maps MCP Server
Architecture
The system has four core layers:
Protocol layer. Built with the official MCP Python SDK (
mcp.server.mcpserver.MCPServer). Exposes tools and resources over stdio or Streamable HTTP transports. Server logging writes strictly to stderr so stdout remains clean JSON-RPC for MCP clients.Scraper engine. Built on
aiohttpandphonenumbers. The engine queries Google Maps endpoints directly with asynchronous HTTP requests, parses raw response payloads, extracts place records, and normalizes phone numbers into E.164 format. It runs without Playwright, Puppeteer, or browser binaries.Geospatial grid tiling. When searching broad areas or entire cities, the grid crawler calculates the geographic bounding box and subdivides the region into smaller viewport tiles. This bypasses the standard 20-result pagination cap of Google Maps and collects hundreds of places per query.
Storage and delivery layer. When result sets exceed normal prompt budgets, the server stores full result objects in memory and returns an MCP resource URI (
gmaps://results/{resource_id}). Clients fetch the complete payload through the MCP resource interface, preventing context window exhaustion.
Setup
Requirements
Python 3.10 or higher
uvpackage manager (recommended) orpip
Install and run with uvx
Run the server directly without cloning:
uvx --from git+https://github.com/devsanthoshmk/gmaps-mcp.git gmaps-mcp serveInstall from source
Clone the repository and install dependencies with uv:
git clone https://github.com/devsanthoshmk/gmaps-mcp.git
cd gmaps-mcp
uv syncUsage
Run as an MCP server
Start the server using stdio transport (default):
uv run gmaps-mcp serveStart the server using Streamable HTTP transport:
uv run gmaps-mcp serve --transport streamable-http --host 127.0.0.1 --port 8000Run via command line
Search places
Search for places and display a formatted table:
uv run gmaps-mcp search "dentists" "Chicago" --limit 10 --country us --format tableSearch across an entire city using geospatial grid tiling:
uv run gmaps-mcp search "bakeries" "Paris" --country fr --grid --format tableExport search results to CSV or JSON:
uv run gmaps-mcp search "pharmacies" "Chennai" --grid --country in --output pharmacies.csv
uv run gmaps-mcp search "coffee shops" "Seattle" --country us --output coffee.jsonGet place details
Look up details by Google Place ID:
uv run gmaps-mcp details "ChIJ7xiFY1VmUjoR2IuH0fYWMlk" --format tableLook up details by name and export to CSV:
uv run gmaps-mcp details "Eiffel Tower Paris" --country fr --output eiffel.csvConfiguration
Claude Desktop
To configure Claude Desktop MCP Maps integration, add gmaps-mcp to claude_desktop_config.json:
{
"mcpServers": {
"google-maps": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/devsanthoshmk/gmaps-mcp.git",
"gmaps-mcp",
"serve"
]
}
}
}Config file paths by platform:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Cursor
Add to .cursor/mcp.json or your global Cursor MCP configuration:
{
"mcpServers": {
"google-maps": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/devsanthoshmk/gmaps-mcp.git",
"gmaps-mcp",
"serve"
]
}
}
}Windsurf, Cline, and Zed
Add to your client MCP configuration:
{
"mcpServers": {
"google-maps": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/devsanthoshmk/gmaps-mcp.git",
"gmaps-mcp",
"serve"
]
}
}
}Install with mcp-add
Add the server using the mcp-add utility:
npx mcp-add -n google-maps -t stdio -c "uvx --from git+https://github.com/devsanthoshmk/gmaps-mcp.git gmaps-mcp serve"Local development configuration
Point an MCP client to a local repository checkout:
{
"mcpServers": {
"google-maps": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/gmaps-mcp",
"gmaps-mcp",
"serve"
]
}
}
}Available tools
The server registers two MCP tools:
search_google_maps
Searches Google Maps for businesses, places, and points of interest.
Parameter | Type | Default | Description |
| string | required | Search query or business category such as "coffee shops" or "dentists" |
| string | required | City, neighborhood, or landmark such as "Paris", "Chicago", or "Chennai" |
| integer | null | Maximum number of results to return |
| boolean | false | Enable geospatial grid tiling for large area coverage |
| string | "in" | ISO 3166-1 alpha-2 country code such as "us", "fr", or "in" |
| string | "en" | Response language code |
| "inline" | "resource" | "inline" | Delivery mode. Use "resource" to prevent large result sets from filling the context window |
get_place_details
Fetches structured details for a specific place.
Parameter | Type | Default | Description |
| string | required | Google Place ID (e.g. "ChIJ...") or exact business name |
| string | "in" | ISO 3166-1 alpha-2 country code |
| string | "en" | Response language code |
Output schema
Places return structured JSON matching this schema:
{
"place_id": "ChIJ7xiFY1VmUjoR2IuH0fYWMlk",
"name": "New Chennai Pharmacy",
"category": "Pharmacy",
"address": "No. 33, Sarojini Street, T.Nagar, Chennai, Tamil Nadu 600017",
"phone": "091500 97960",
"international_phone": "+91 91500 97960",
"website": "https://example.com",
"domain": "example.com",
"latitude": 13.0371485,
"longitude": 80.2319365,
"rating": 4.7,
"review_count": 25,
"google_maps_url": "https://www.google.com/maps/place/?q=place_id:ChIJ7xiFY1VmUjoR2IuH0fYWMlk"
}Development
Run the test suite:
uv run --extra dev pytestLicense
MIT license in LICENSE.
Available Tools
2 toolsget_place_detailsA
Retrieve detailed information for a single specific Google Maps place or business. Looks up a place using its unique Google Place ID (e.g., 'ChIJ...' or 'place_id:ChIJ...') or specific landmark/business name. Returns complete structured details including address, phone number, website, rating, coordinates, and Google Maps URL.
Inputs: place (required), country, language. Returns: Result object returned by the get_place_details tool.
search_google_mapsA
Search Google Maps for local businesses, places, points of interest, and services. Returns structured place data including business name, Google Place ID, category, formatted street address, phone numbers, website URL, geo-coordinates (latitude/longitude), star rating, total review count, and direct Google Maps URL.
Inputs: query (required), limit, country, language. Returns: Result object returned by the search_google_maps tool.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
The two tools have distinct purposes: search_google_maps finds places by query, and get_place_details retrieves details for a known place ID. There is slight overlap in the returned fields, but the use cases are clearly different.
Both tools use a clear verb_noun pattern (search/get + google_maps/place_details). The naming is consistent, though 'get_place_details' could be more symmetrical as 'get_google_maps_place' for perfect parity.
Only two tools for a Google Maps server is very limited. Maps APIs typically support additional operations like directions, geocoding, or place photos, so the tool count feels too small for the implied scope.
The core search and detail retrieval are present, but critical operations like navigation (directions), geocoding (address to coordinates and reverse), and place photo fetching are missing, creating significant gaps for common map-related tasks.
Maintenance
Related MCP Connectors
Live Google Maps business search, review, and photo data for AI agents over MCP.
Routing, geocoding, places, matrix and map tools for location-aware AI workflows.
Google SERP, Maps, Shopping, News and AI-answer data for AI agents, from the Searlo search API.
Real-time Google Maps local business leads, reviews, places & emails MCP. OAuth or API key.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables location-aware AI agents to search for nearby places, get detailed place information including hours and ratings, and calculate routes with turn-by-turn directions using Google Maps APIs.22MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to access Google Maps services including places search, details, directions, geocoding, and nearby search through natural language.62MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to search and scrape Google Maps places data (name, rating, address, etc.) directly without an API key.1-
- AlicenseNot gradedqualityCmaintenanceProvides Google Maps business search, single-place lookup, and multi-mode travel directions without an API key, enabling coding tools to pull Maps data directly into conversations.MIT