Overview
Providing a Docker image makes it easy to run the MCP server without installing Node.js locally, and simplifies deployment in containerized environments.
Proposed Work
Dockerfile
- Multi-stage build: build stage compiles TypeScript, production stage runs only the compiled output
- Base image:
node:18-alpine
- Accepts
GOOGLE_MAPS_API_KEY as an environment variable at runtime
- Exposes the MCP server on the appropriate port (or stdio)
docker-compose.yml example
services:
mcp-google-map:
build: .
environment:
- GOOGLE_MAPS_API_KEY=${GOOGLE_MAPS_API_KEY}
Documentation
- Add a Docker section to README.md with build and run instructions
- Document how to pass the API key securely (env file, secrets)
Acceptance Criteria
docker build -t mcp-google-map . succeeds
docker run --env GOOGLE_MAPS_API_KEY=<key> mcp-google-map starts the server
- Image size is minimized via multi-stage build and
.dockerignore
Overview
Providing a Docker image makes it easy to run the MCP server without installing Node.js locally, and simplifies deployment in containerized environments.
Proposed Work
Dockerfilenode:18-alpineGOOGLE_MAPS_API_KEYas an environment variable at runtimedocker-compose.ymlexampleDocumentation
Acceptance Criteria
docker build -t mcp-google-map .succeedsdocker run --env GOOGLE_MAPS_API_KEY=<key> mcp-google-mapstarts the server.dockerignore