Google Maps MCP Server avatar

Google Maps MCP Server

Pricing

from $0.01 / 1,000 results

Go to Apify Store
Google Maps MCP Server

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

Jordan C

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

21 hours ago

Last modified

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 install
cd mcp-google-maps
npm install
# Build TypeScript
npm run build
# Run in stdio mode (for MCP-compatible AI agents)
npm start:stdio
# Run in HTTP mode
npm 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/mcp
Content-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:

ParameterTypeRequiredDescription
querystringYesWhat to search for
locationstringYesWhere 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:

ParameterTypeRequiredDescription
place_namestringYesName of the place
locationstringYesWhere 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:

ParameterTypeRequiredDefaultDescription
latitudenumberYesCenter latitude
longitudenumberYesCenter longitude
radiusnumberNo1000Search radius in meters
typestringNo"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 Apify
apify push

The actor will be available at https://console.apify.com/actors/reverberant_equality/mcp-google-maps.

Environment Variables

VariableDefaultDescription
PORT3000HTTP 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