Files
dashcaddy/AI-NATIVE-VISION.md
Hermes 8f4883bfcd
CI / Test & Lint (push) Canceled after 0s
CI / Security audit (push) Canceled after 0s
[grade=A] DashCaddy MCP Server — AI-native self-hosting control plane
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.
2026-08-12 16:30:17 -07:00

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

  1. AI as first-class citizen — not a bolt-on chatbot, but where the API itself is designed for AI consumption
  2. Natural language → deployment — "host a Plex server" → running container + reverse proxy + DNS + health check
  3. Agent-friendly API — structured responses, semantic error codes, state machines, idempotent operations
  4. 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:

  1. Pull image
  2. Create container with optimal config
  3. Generate Caddyfile route (DC-106)
  4. Create DNS record
  5. Add to services list
  6. Start health monitoring
  7. Configure notifications
  8. Return ready-to-use URL