Skip to content

docs: Docker as zero-install MCP option #647

@joshrotenberg

Description

@joshrotenberg

Summary

Document and optimize the Docker image as a "zero install" option for MCP users. Users should be able to copy a .mcp.json snippet and immediately start using redisctl with their AI agent.

Current State

The Docker image includes both redisctl and redisctl-mcp binaries. However:

  • Need to verify stdio transport works correctly in Docker
  • Need to document credential passing (env vars vs mounted config)
  • Need example .mcp.json configurations

Proposed Documentation

Option 1: Environment Variables (Simplest)

{
  "mcpServers": {
    "redisctl": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "REDIS_ENTERPRISE_URL=https://cluster:9443",
        "-e", "REDIS_ENTERPRISE_USER=admin@redis.local",
        "-e", "REDIS_ENTERPRISE_PASSWORD",
        "ghcr.io/redis-developer/redisctl:latest",
        "redisctl-mcp"
      ]
    }
  }
}

Note: Password pulled from host environment, not hardcoded.

Option 2: Mounted Config

{
  "mcpServers": {
    "redisctl": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "${HOME}/.config/redisctl:/root/.config/redisctl:ro",
        "ghcr.io/redis-developer/redisctl:latest",
        "redisctl-mcp", "--profile", "my-profile"
      ]
    }
  }
}

Option 3: Network Access for Local Clusters

{
  "mcpServers": {
    "redisctl": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "--network", "host",
        "-e", "REDIS_ENTERPRISE_URL=https://localhost:9443",
        "-e", "REDIS_ENTERPRISE_USER=admin@redis.local", 
        "-e", "REDIS_ENTERPRISE_PASSWORD",
        "-e", "REDIS_ENTERPRISE_INSECURE=true",
        "ghcr.io/redis-developer/redisctl:latest",
        "redisctl-mcp"
      ]
    }
  }
}

Tasks

  • Verify stdio transport works in Docker container
  • Test all three configuration options
  • Add to MCP documentation
  • Consider a docker-mcp.json.example in repo root
  • Update README with "zero install" section

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions