This MCP server integrates with Google Places API to allow searching, retrieving details, and finding nearby places.
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
- Install dependencies:
npm install
- Start the development server:
npm run dev
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
-
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