maps-streamable
MCP Server for interacting with Google Maps (Places API and Routes API). Written in TypeScript, Node and Hono.dev
claude mcp add --transport stdio iceener-maps-streamable-mcp-server node path/to/server.js \ --env PORT="3000" \ --env API_KEY="your-google-maps-api-key" \ --env BEARER_TOKEN="your-auth-token-or-empty-if-not-used"
How to use
This MCP server provides a streamable HTTP interface for Google Maps functionality. It exposes tools to search for places nearby, fetch detailed place information, plan routes, and compute distance matrices, all anchored to the user's current location. The server is designed to run in two modes: a local Node/Hono setup for development and a Cloudflare Worker deployment for remote access. Clients can connect using the MCP protocol via HTTP and pass their current location to perform context-aware queries. Typical workflows include searching for nearby restaurants, getting opening hours and ratings for a selected place, and requesting walking or driving directions from the user's live position.
How to install
Prerequisites:
- Node.js environment or Bun (as preferred for development)
- Google Cloud project with Places and Routes APIs enabled
- An API key for Google Maps
Local development steps:
-
Install dependencies bun install // or npm install
-
Create a local env file based on the template cp .env.example .env
-
Populate environment variables in .env or via your process environment: API_KEY=your-google-maps-api-key BEARER_TOKEN=your-auth-token PORT=3000
-
Start the server bun dev
MCP: http://127.0.0.1:3000/mcp
Cloudflare Worker deployment steps (if you deploy remotely):
- Create a KV namespace for tokens and set up Secrets with your API keys
- Configure wrangler.toml and deploy
- Access endpoint at https://<worker-name>.<account>.workers.dev/mcp
Additional notes
Notes:
- The server is designed to work with location context, so always provide a valid latitude/longitude as the origin for search_places and get_route calls.
- Ensure your Google Maps API key has the necessary permissions (Places API and Routes API) and is restricted appropriately for security.
- For Cloudflare deployment, keep BEARER_TOKEN and API_KEY secret (use wrangler secrets to store them).
- If you encounter authentication errors, verify that the Authorization header Bearer token is correctly passed by the client.
- The default search radius is 1km with a maximum of 50km; adjust radius and max_results to suit your use case.
- The server supports both single-destination routes with detailed steps and multi-destination distance matrices.
- If you modify how the server is started (alternative runtimes or paths), update the mcp_config to reflect the correct command and arguments.
Related MCP Servers
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud