google-places-mcp
0
This project is an MCP server integrating with Google Places API. It offers features such as searching for places, retrieving details, and finding nearby locations using modern transport methods like SSE for real-time communication.
Google Places MCP Server
This MCP server integrates with Google Places API to allow searching, retrieving details, and finding nearby places.
Setup
Environment Variables
The following environment variables are required:
GOOGLE_MAPS_API_KEY
: Your Google Maps API key with Places API access enabledTRANSPORT_TYPE
: Transport method to use (stdio
orsse
)PORT
: (Optional) Port number for SSE transport (default: 3000)
Create a .env
file in the root directory with these variables:
GOOGLE_MAPS_API_KEY=your_api_key_here
PORT=3000
Development
- Install dependencies:
npm install
- Start the development server:
npm run dev
Transport Options
The server supports two transport methods:
- SSE (Server-Sent Events): Uses HTTP with Server-Sent Events for real-time communication
When using SSE transport, the server exposes two endpoints:
GET /sse
: SSE endpoint for receiving server messagesPOST /messages
: Endpoint for sending messages to the server
Tools
-
places-text-search
- Text search for places using Google Places API
- Input:
textQuery
(string, required): The text query to search for placesincludedType
(string, optional): Restricts results to places matching the specified typeincludePureServiceAreaBusinesses
(boolean, optional): Include businesses without physical locationlanguageCode
(string, optional): Language code for results (e.g., "en")locationBias
(object, optional): Bias results toward this locationlocationRestriction
(object, optional): Restrict results to this locationpageSize
(number, optional): Number of results per page (1-20)pageToken
(string, optional): Token for next page of resultspriceLevels
(array, optional): Filter by price levelsrankPreference
(string, optional): Rank by "RELEVANCE" or "DISTANCE"regionCode
(string, optional): Two-character country/region codestrictTypeFiltering
(boolean, optional): Only return exact type matchesevOptions
(object, optional): EV charging station filtersminRating
(number, optional): Minimum rating filter (0-5)openNow
(boolean, optional): Filter for places currently openfields
(array, optional): Specific fields to include in response
- Returns matching places with details
-
places-nearby-search (Coming Soon)
- Find places near a specific location
- Input:
location
(object, required): Latitude and longitude coordinatesradius
(number, optional): Search radius in meterskeyword
(string, optional): Keyword to filter resultstype
(string, optional): Place type to filter resultsrankBy
(string, optional): Rank by "prominence" or "distance"openNow
(boolean, optional): Filter for places that are currently openfields
(array, optional): Specific fields to include in the response
- Returns nearby places with details
-
place-details (Coming Soon)
- Get detailed information about a specific place
- Input:
placeId
(string, required): Google Place IDfields
(array, optional): Specific fields to include in the responselanguageCode
(string, optional): Language code for results
- Returns comprehensive details about the place
-
place-photo (Coming Soon)
- Retrieve photos for a place
- Input:
photoReference
(string, required): Reference from a Place Details responsemaxWidth
(number, optional): Maximum width of the returned imagemaxHeight
(number, optional): Maximum height of the returned image
- Returns photo data or URL