Google Maps Platform MCP server
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"google-maps-mcp-server": {
"command": "<see-readme>",
"args": []
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This uses the googlemaps Python package (which hasn't been updated since 2023, but does appear to still be active) - documentation
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in maps
A Model Context Protocol (MCP) server providing TomTom's location services, search, routing, and traffic data to AI agents.
Real-time BART departures, trip planning, fares, stations, and advisories.
MCP server for the VesselAPI — maritime vessel tracking, port events, emissions, and navigation data
Fair meeting point discovery for AI agents with isochrone-based travel time fairness
MCP Security Weekly
Get CVE alerts and security updates for Google Maps Mcp Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
This uses the googlemaps Python package (which hasn't been updated since 2023, but does appear to still be active)
For this example, you will need a Google Maps Platform API key. I restricted my APIs to the following:
You may need to expand on this if you wish to add more functionality. Here is the Google Maps Platform API Picker to help you decided what you need. You will also need an set an additional environment variable, GOOGLE_MAPS_API_KEY.
Of course, there will be a cost to using the Maps API as well. It's got a pretty generous free-tier, depending on what you're using, just don't go crazy with it ;)
fastmcp run server.py --transport stdio
You can substitute stdio with streaming-http or sse (deprecated) depending on your deployment method.
NOTE: if you use the fastmcp option, it ignores the if __name__ == "__main__", so you need to pass --transport and any other settings you wish to override.
pytest -v tests/
Run server with:
fastmcp run server.py --transport streamable-http
Run client with:
python tests/client_list_tools.py
[Tool found]: get_directions
[Tool found]: get_distance
[Tool found]: get_geocode
[Tool found]: find_place
[Tool found]: place_nearby
[Tool found]: place_details
model="gemini-2.5-flash"
google_maps_api_key=os.getenv("GOOGLE_MAPS_API_KEY")
maps_agent = LlmAgent(
name="maps_agent",
model=model,
instruction=(
"You are an AI Google Maps assistant. Your primary function is to find places that meet the user's criteria. Include with your findings the name of the place, its rating, and its address. Limit the results to a maximum of 10. Use only the tools provided to you."
),
tools=[
MCPToolset(
connection_params=StdioServerParameters(
command='fastmcp',
args=[
"run",
"maps_agent/server.py"
],
env={
"GOOGLE_MAPS_API_KEY": google_maps_api_key
},
),
#tool_filter=['tool1', 'tool2']
)
],
)
And here's a more detailed prompt example I give my agent:
MAPS_AGENT_PROMPT="""
System Role: You are an AI Google Maps assistant. Your primary function is to find places that meet the user's criteria. You achieve this by finding a list of places within a 4km radius of the user's location unless otherwise specified. Include with your findings the name of the place, its rating, and its address. Limit the results to a maximum of 10.
When asked for directions, provide the route we will be travelling via, total distance, total time and step-by-step directions in a list format.
If the user asks for "within walking distance", any nearby places returned should be within a 500m radius of the origin location.
Use only the tools provided to you.
"""