Get the FREE Ultimate OpenClaw Setup Guide →

maps-streamable

MCP Server for interacting with Google Maps (Places API and Routes API). Written in TypeScript, Node and Hono.dev

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
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:

  1. Install dependencies bun install // or npm install

  2. Create a local env file based on the template cp .env.example .env

  3. Populate environment variables in .env or via your process environment: API_KEY=your-google-maps-api-key BEARER_TOKEN=your-auth-token PORT=3000

  4. Start the server bun dev

    MCP: http://127.0.0.1:3000/mcp

Cloudflare Worker deployment steps (if you deploy remotely):

  1. Create a KV namespace for tokens and set up Secrets with your API keys
  2. Configure wrangler.toml and deploy
  3. 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

Sponsor this space

Reach thousands of developers