Sign inSign up

itzmizzle/clawmachine

By itzmizzle

•Updated 4 months ago

MCP server for WAGMIOS — give any AI scoped access to your Docker homelab

Image
0

524

itzmizzle/clawmachine repository overview

⁠ClawMachine

Give any AI a homelab. MCP server for WAGMIOS⁠ — exposes Docker management as Model Context Protocol tools with scoped API keys.

Works with Claude Code, Cursor, GitHub Copilot, VS Code, Gemini, and any MCP-compatible client.


⁠Why

AI agents that manage Docker need access to the Docker socket — which means full root on the host. One wrong docker rm and production data is gone.

ClawMachine solves this by routing all requests through WAGMIOS's scoped API:

  • Scope-gated tools — If the API key doesn't have containers:delete, the delete_container tool doesn't exist
  • Audit trail — Every API call is tracked per-key in WAGMIOS
  • Multi-machine — One MCP server, multiple WAGMIOS instances

The AI never touches the Docker socket. The enforcement is in the key, not the prompt.


⁠Quick Start
  1. Install WAGMIOS + ClawMachine:
curl -O https://raw.githubusercontent.com/mentholmike/clawmachine/main/docker-compose.yaml
docker compose up -d
  1. Create an API key in WAGMIOS UI (http://localhost:5174⁠ → Settings → Agent Permissions)

  2. Set the key in your environment:

export WAGMIOS_API_KEY=wag_live_yourkey
docker compose up -d
  1. Configure your AI client:

Claude Code (~/.claude/claude_desktop_config.json):

{
  "mcpServers": {
    "clawmachine": {
      "command": "docker",
      "args": ["run", "-i", "itzmizzle/clawmachine", "-api-url", "http://host.docker.internal:5179", "-api-key", "wag_live_yourkey"]
    }
  }
}

Cursor (.cursor/mcp.json):

{
  "mcpServers": {
    "clawmachine": {
      "command": "docker",
      "args": ["run", "-i", "itzmizzle/clawmachine", "-api-url", "http://host.docker.internal:5179", "-api-key", "wag_live_yourkey"]
    }
  }
}
  1. Use it:
You: "What containers am I running?"
→ list_containers

You: "Install Jellyfin"
→ browse_marketplace → install_app → start_app

You: "Delete that container"
→ "I don't have delete_container — your API key is missing the containers:delete scope."

⁠Tools (18 single-instance / 19 multi-instance)

Tools are dynamically registered based on API key scopes:

ScopeTools
(any key)check_scopes, system_info, system_metrics
containers:readlist_containers, container_logs, container_config
containers:writestart_container, stop_container, restart_container, create_container
containers:deletedelete_container
images:readlist_images
images:writepull_image, delete_image
marketplace:readbrowse_marketplace, get_marketplace_app, list_installed_apps
marketplace:writeinstall_app, start_app

Tag summary

Content type

Image

Digest

sha256:67a05c360…

Size

9.4 MB

Last updated

4 months ago

docker pull itzmizzle/clawmachine