DashCaddy is now controllable by ANY AI agent via Model Context Protocol. 17 MCP tools exposed: - Service management: list, get, health check - Container management: list, start/stop/restart/remove - Deployment: deploy app, wizard recommendations, catalog search, discovery - System: health, metrics, diagnostics - Infrastructure: DNS listing, Caddyfile generation - Backup & Recovery: create backup, status - Fleet: list hosts Protocol: JSON-RPC 2.0 over stdio Connection: DASHCADDY_URL + DASHCADDY_API_KEY env vars Any MCP-compatible agent (Claude Desktop, Hermes, GPT) can now: 'I want to stream movies' → wizard recommends Plex/Sonarr/Radarr 'Deploy Plex' → container + Caddyfile + DNS + health check 'Why is Plex down?' → diagnostics with structured findings 'Back up everything' → full snapshot 14 tests, 1752 total pass.
2.6 KiB
2.6 KiB
DashCaddy AI-Native Vision
The Vision
DashCaddy should be inherently optimized for AI agents to control it. Users should be able to self-host anything using natural language.
Core Principles
- AI as first-class citizen — not a bolt-on chatbot, but where the API itself is designed for AI consumption
- Natural language → deployment — "host a Plex server" → running container + reverse proxy + DNS + health check
- Agent-friendly API — structured responses, semantic error codes, state machines, idempotent operations
- MCP-native — DashCaddy should expose itself as an MCP server so any AI agent can control it
Architecture Layers
Layer 1: Natural Language Intent Router (NEW)
POST /api/v1/ai/intent — Takes natural language, returns structured action plan
- "I want to stream movies" → { category: media-streaming, recommended: [plex, sonarr, radarr] }
- "Set up a password manager" → { category: file-sync, recommended: [vaultwarden] }
- "Block ads on my network" → { category: home-network, recommended: [adguard] }
- "Why is Plex down?" → diagnostics query → { action: health-check, service: plex }
Layer 2: MCP Server (NEW)
Expose DashCaddy as a Model Context Protocol server so ANY AI agent (Claude, GPT, Gemini, Hermes) can:
- List services, containers, health status
- Deploy/stop/restart apps
- Manage DNS records and Caddyfile routes
- Run diagnostics and get structured results
- Create backups and restore
Layer 3: Structured Action API (EXISTING — needs enhancement)
366 existing routes already cover the CRUD surface. Enhancement needed:
- Consistent response envelopes (already have
ok()/errorResponse()) - All error responses include machine-readable codes (DC-086 done — 80 codes)
- Idempotency keys for mutating operations
- Operation receipts (UUID + status tracking)
Layer 4: Semantic Service Catalog (EXISTING — DC-104)
76 templates with categories, auto-categorization, search. Enhancement: Add intent tags ("movie streaming", "password manager", "ad blocking")
Layer 5: Diagnostic Engine (NEW)
POST /api/v1/ai/diagnose — Structured troubleshooting
- "Why is X slow?" → checks: CPU, memory, network, disk I/O, container logs
- Returns structured findings with severity + suggested fix
- Can auto-apply fixes with user approval
Layer 6: Deployment Orchestrator (PARTIAL — DC-103 + wizard)
"Deploy Plex" → full automation chain:
- Pull image
- Create container with optimal config
- Generate Caddyfile route (DC-106)
- Create DNS record
- Add to services list
- Start health monitoring
- Configure notifications
- Return ready-to-use URL