Guaardvark: connect and check
Guaardvark runs on the user's own machine. Everything below is local; nothing leaves the box.
Where it is
- Backend URL:
${GUAARDVARK_URL:-http://localhost:5000}. The macOS default port is 5055 (AirPlay owns 5000). The web UI is on port 5173 in dev, or the same port as the backend in Docker. - Health: !
curl -sf ${GUAARDVARK_URL:-http://localhost:5000}/api/health || curl -sf http://localhost:5055/api/health || echo "backend not reachable on 5000 or 5055" - Plugins: !
curl -sf ${GUAARDVARK_URL:-http://localhost:5000}/api/plugins/status || echo "plugin status unavailable"
If the backend is not reachable, tell the user to start it from the Guaardvark checkout
(./start.sh, or docker compose up), then retry. Do not try to start it yourself.
Two ways to drive it
- MCP tools (preferred when present): the
guaardvarkMCP server exposes chat, RAG, memory, code intelligence, file processing, web fetch, image/video/animation/music-video/film-crew generation,get_generation_statusfor any queued batch, outreach drafting and GPU/log inspection. Generation tools queue by default over MCP and return a batch id. In Claude Code they appear asmcp__guaardvark__<tool>afterpython -m backend.mcp install, or asmcp__plugin_guaardvark_guaardvark__<tool>when the plugin was installed from the marketplace. Install once from the checkout:
Restart the client after installing so it re-reads its MCP config.python -m backend.mcp install # writes the server entry into Claude Code, Cursor, Claude Desktop, Codex, Zed, Gemini python -m backend.mcp doctor # self-test + stale-config scan python -m backend.mcp list-tools # what is exposed right now - REST for everything the MCP policy does not expose (voice, music, upscaling, batches,
cast/LoRA training, swarm launch, interconnector, plugins). Use
curlagainst the backend URL. Responses are wrapped as{"success": bool, "data": {...}, "message": str}on most routes; a few older routes return the bare object. Readdatawhen it is present.
Before generating anything
- GPU services are plugins. Check
GET /api/plugins/status; a generation route answers 503 when its plugin is not running. Start one withPOST /api/plugins/<id>/startwhere<id>iscomfyui(image + video),audio_foundry(voice, music, FX),upscaling,lora_trainer,swarm. Only one heavy model owns the GPU at a time; the orchestrator evicts Ollama for video and vice versa, so a first call after a switch is slow.inspect_gpu(MCP) shows who holds it. - Installed models:
GET /api/batch-video/modelsandGET /api/batch-image/modelslist every registry entry with capabilities; checkis_readybefore naming a model. Nothing downloads without an explicit Install, so if a model is missing say so and offerPOST /api/batch-video/models/download {"model_id": "..."}(or the image route with{"model_path": "..."}). - Outputs land under
data/outputs/in the checkout and are also served read-only over MCP asguaardvark://outputs/...resources.
Skills in this pack
| Skill | Use for |
|---|---|
| image | one image, edits, cast characters, batch image runs |
| video | one clip, image-to-video, first/last frame, batch video runs, MiniMax H3 with sound |
| music-video | a song in, a beat-cut music video out, with the approval gate |
| film-crew | screenplay to finished short: writer, casting, storyboards, render, edit |
| voice | narration, TTS, consent-gated voice cloning |
| music | full songs with lyrics, instrumentals, sound effects |
| upscale | 2x to 8K upscaling of images and video |
| cast | Cast Library subjects and LoRA training for consistent characters |
| models | add any Hugging Face model or LoRA from a URL |
| swarm | parallel coding agents in git worktrees from a plan file |
| knowledge | the user's indexed documents, memory, web fetch |
| code | code search, repository map, self-improvement status |
| outreach | supervised social drafts (never posts) |
| ops | GPU, logs, Celery, plugins, Interconnector sync, autoresearch, infographics |