Google Maps MCP Server
Pricing
from $0.01 / 1,000 results
Google Maps MCP Server
MCP server for Google Maps / Local Business Search. Search places, get business details, and find nearby businesses via AI agents and MCP-compatible tools.
Pricing
from $0.01 / 1,000 results
Rating
0.0
(0)
Developer
Jordan C
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
21 hours ago
Last modified
Categories
Share
A Model Context Protocol (MCP) server for Google Maps and local business search. Provides AI agents with tools to search for places, get business details, and find nearby locations — all using Cheerio-based scraping (no Puppeteer/Playwright required).
Features
- search_places(query, location) – Search Google Maps for businesses matching a query
- get_place_details(place_name, location) – Get detailed info including reviews, hours, and photos
- find_nearby(latitude, longitude, radius, type) – Find businesses near GPS coordinates
Quick Start
Prerequisites
- Node.js 18+
- npm
Install & Run
# Clone and installcd mcp-google-mapsnpm install# Build TypeScriptnpm run build# Run in stdio mode (for MCP-compatible AI agents)npm start:stdio# Run in HTTP modenpm start:http
MCP Integration
Claude Desktop / AI Agent Setup
Add this to your MCP client configuration:
{"mcpServers": {"google-maps": {"command": "node","args": ["/path/to/mcp-google-maps/dist/index.js"],"env": {}}}}
HTTP Mode
The server also runs as an HTTP API on port 3000:
$node dist/index.js --http
List tools:
GET http://localhost:3000/mcp/tools
Call a tool:
POST http://localhost:3000/mcpContent-Type: application/json{"tool": "search_places","args": {"query": "coffee shop","location": "New York"}}
Tools Reference
search_places
Search Google Maps for places matching a query in a location.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | Yes | What to search for |
location | string | Yes | Where to search |
Example:
{"tool": "search_places","args": {"query": "pizza","location": "San Francisco, CA"}}
Response:
[{"name": "Tony's Pizza Napoletana","address": "1570 Stockton St, San Francisco","rating": 4.5,"ratingCount": 4723,"phone": "+14158359888","website": "https://tonyspizza.com","category": null,"placeId": "12345"}]
get_place_details
Get detailed information about a specific place.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
place_name | string | Yes | Name of the place |
location | string | Yes | Where the place is located |
Example:
{"tool": "get_place_details","args": {"place_name": "Central Park","location": "New York, NY"}}
find_nearby
Find businesses near specific coordinates.
Parameters:
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
latitude | number | Yes | – | Center latitude |
longitude | number | Yes | – | Center longitude |
radius | number | No | 1000 | Search radius in meters |
type | string | No | "business" | Type of place to search |
Example:
{"tool": "find_nearby","args": {"latitude": 40.7580,"longitude": -73.9855,"radius": 500,"type": "restaurant"}}
Apify Deployment
Deploy to Apify
# Login (if not already logged in)apify login# Push to Apifyapify push
The actor will be available at https://console.apify.com/actors/reverberant_equality/mcp-google-maps.
Environment Variables
| Variable | Default | Description |
|---|---|---|
PORT | 3000 | HTTP server port |
Architecture
- TypeScript – Fully typed with strict mode
- Express – HTTP server for MCP transport
- MCP SDK – Model Context Protocol implementation
- Cheerio – Lightweight HTML scraping (no headless browser needed)
- Axios – HTTP client for fetching Google Maps pages
- Stdio Transport – Native MCP stdio mode for AI agent integration
Limitations
- Google Maps is heavily JavaScript-rendered; Cheerio-only scraping may not capture all results
- Results quality depends on Google's server-rendered HTML structure
- Rate limiting may apply with frequent requests
- Some fields (phone, website, hours) may not always be available
License
MIT