Skip to Content

Docker

Run the FrootAI MCP Server as a Docker container for consistent, reproducible deployments across teams and environments.

Quick Start

docker pull ghcr.io/frootai/frootai-mcp:latest docker run -p 8080:8080 ghcr.io/frootai/frootai-mcp:latest

Docker Compose

For a complete local development setup:

docker-compose.yml
version: '3.8' services: frootai-mcp: image: ghcr.io/frootai/frootai-mcp:latest ports: - "8080:8080" environment: - TRANSPORT=streamable-http - PORT=8080 - LOG_LEVEL=info volumes: - ./solution-plays:/data/solution-plays:ro - ./knowledge.json:/app/knowledge.json:ro restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/health"] interval: 30s timeout: 10s retries: 3
docker compose up -d

Environment Variables

VariableDefaultDescription
TRANSPORTstdioTransport mode: stdio or streamable-http
PORT8080HTTP port (when using streamable-http transport)
LOG_LEVELinfoLogging level: debug, info, warn, error
PLAYS_DIR/data/solution-playsPath to solution plays directory
KNOWLEDGE_PATH/app/knowledge.jsonPath to knowledge base file

Building from Source

cd mcp-server docker build -t frootai-mcp:local . docker run -p 8080:8080 frootai-mcp:local

Multi-Stage Dockerfile

Dockerfile
FROM node:22-slim AS base WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --production --ignore-scripts COPY index.js knowledge.json ./ EXPOSE 8080 ENV TRANSPORT=streamable-http ENV PORT=8080 CMD ["node", "index.js"]

Connecting Clients

VS Code via HTTP Transport

.vscode/mcp.json
{ "servers": { "frootai": { "url": "http://localhost:8080/mcp" } } }

Claude Desktop via HTTP

{ "mcpServers": { "frootai": { "url": "http://localhost:8080/mcp" } } }

Health Check

curl http://localhost:8080/health # {"status":"healthy","version":"3.5.0","tools":25}

Version

Docker image version: v3.5.0, published to ghcr.io/frootai/frootai-mcp.

Tags available:

  • latest β€” most recent stable release
  • 3.5.0 β€” pinned version
  • main β€” latest from main branch (may be unstable)

See Also

Last updated on