From truenas-mcp
Completely remove a failed, abandoned, or experimental TrueNAS app — including its volumes. Use when the user wants to clean up after a botched deployment, drop an experimental stack, or reset before reinstalling. This is a destructive operation; always confirm with the user before executing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/truenas-mcp:truenas-purge-failedThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill is the recovery path for deployments that went wrong and
This skill is the recovery path for deployments that went wrong and
need a clean slate. It removes the app and its Docker volumes from
TrueNAS. It does not delete host directories under
/mnt/<pool>/<app-name>/ — Sven decides manually whether to wipe
those.
Trigger on phrases like:
If the user just says "delete" or "remove" without "fail" / "purge" /
"completely", call delete_app(app_name, remove_volumes=False)
instead — that's the gentler path that keeps volumes.
Always show the user what will happen before doing anything:
About to purge <app_name>:
- Stop the app (if running)
- Delete the app definition
- Delete all Docker volumes attached to the app
- KEEP host directories under /mnt/<pool>/<app-name>/
Continue? (y/N)
If the user says no or is ambiguous, stop and recommend delete_app
with remove_volumes=False as the gentler alternative.
Call get_app_details(app_name) to record the starting state. Note:
status (RUNNING, STOPPED, ERROR, DEPLOYING)volumes and their host pathsimage name (in case the user wants to redeploy later)If the app isn't found, stop and tell the user — there's nothing to purge.
Call purge_app(app_name) — the MCP tool runs the whole sequence:
stop_app(app_name) (skipped if already stopped)app.delete(app_name, {remove_volumes: true})The tool returns a structured steps[] array showing what worked and
what didn't. Each entry has action and status. Don't bail on the
first failure — purge_app is designed to continue past individual
errors so you don't leave half-cleaned state.
Format the result for the user:
Purge of <app_name>: <ok | partial | failed>
Steps:
✓ stop_app — was already STOPPED / OK
✓ delete_app — OK
✓ remove_volumes — OK
Kept on host:
/mnt/nvme-01/<app_name>/ (Sven decides manually)
If any step failed, surface it explicitly:
✗ delete_app — job 1234 FAILED: "namespace already exists"
After a successful purge, ask whether they want to:
truenas-deploy-and-verify)./mnt/. The MCP server doesn't do
this, full stop. The host filesystem is Sven's responsibility.--force or
similar — there's no --force flag in this skill.| Situation | Use this skill? | Or which other? |
|---|---|---|
| Deploy failed mid-way, app is in ERROR | yes | — |
| Just want to redeploy a working app | no | update_app or restart_app |
| Want to delete but keep data for migration | no | delete_app(..., remove_volumes=false) |
| Diagnosing why an app keeps crashing | no — diagnose first | truenas-troubleshoot |
npx claudepluginhub svnstfns/truenas-mcp-plugin --plugin truenas-mcpProvides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.