truenas-aiops
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRUENAS_AIOPS_MASTER_PASSWORD | Yes | Master password to unlock the encrypted API key store for non-interactive use (MCP server, CI, cron) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| alert_listB | [READ] List active TrueNAS alerts with level, message, class, dismissed. Args: target: TrueNAS target name from config; omit to use the default. |
| dataset_listA | [READ] List ZFS datasets with id, name, type, pool, used/available. Args: target: TrueNAS target name from config; omit to use the default. |
| dataset_getA | [READ] Return detail for a single dataset by id (e.g. 'tank/data'). Args: dataset_id: TrueNAS dataset id (see dataset_list). target: TrueNAS target name from config. |
| dataset_createA | [WRITE] Create a ZFS dataset. Non-destructive (creates new storage). Pass dry_run=True to preview. No undo descriptor — dataset deletion is intentionally out of scope. Args: name: Full dataset path including the pool, e.g. 'tank/projects'. pool: Optional pool name for context/labelling. dry_run: If True, preview without creating. target: TrueNAS target name from config. |
| pool_health_rcaA | [READ] Flag ZFS pools by state, error counters, and capacity. Pulls the /pool listing (with topology + scan) and flags pools that are DEGRADED/FAULTED/OFFLINE, pools with non-zero read/write/checksum/scan error counters, and pools over the 80%/90% capacity thresholds — worst-first, each finding citing the measured status/counts/percent and a concrete action. Args: target: TrueNAS target name from config; omit to use the default. |
| alert_and_capacity_rcaA | [READ] Surface active TrueNAS alerts by level and datasets near full. Collects the active alert list and the /pool/dataset listing, then reports worst-first findings: one per active (non-dismissed) alert at WARNING+ and one per dataset whose usage is near its quota/available ceiling (80%/90%), each citing the measured level/percent. Args: target: TrueNAS target name from config; omit to use the default. |
| disk_listA | [READ] List physical disks with name, serial, model, size, pool. Args: target: TrueNAS target name from config; omit to use the default. |
| smart_test_resultsA | [READ] Recent S.M.A.R.T. self-test results per disk (status/description). Args: target: TrueNAS target name from config. |
| overviewA | [READ] One-shot health summary: pools (capacity/health), alerts, services. Call this first to triage a TrueNAS system before drilling into a specific pool, dataset, or service. Args: target: TrueNAS target name from config; omit to use the default. |
| pool_listA | [READ] List ZFS pools with id, name, status, health, capacity. Args: target: TrueNAS target name from config; omit to use the default. |
| pool_getA | [READ] Return detail for a single pool by id. Args: pool_id: TrueNAS pool id (see pool_list). target: TrueNAS target name from config. |
| pool_statusC | [READ] Health and scan/topology status of a single pool. Args: pool_id: TrueNAS pool id. target: TrueNAS target name from config. |
| scrub_statusA | [READ] Current scrub scan state (function/state/percentage) for a pool. Args: pool_id: TrueNAS pool id. target: TrueNAS target name from config. |
| pool_capacityB | [READ] Capacity summary per pool: size/allocated/free and used percent. Args: target: TrueNAS target name from config. |
| pool_scrub_startA | [WRITE] Start a scrub (integrity check) on a pool. Non-destructive. Pass dry_run=True to preview. No undo descriptor (a scrub has no clean inverse beyond cancellation). Poll progress with scrub_status; do not re-issue. Args: pool_name: ZFS pool name (e.g. 'tank'). dry_run: If True, preview without starting the scrub. target: TrueNAS target name from config. |
| replication_listA | [READ] List replication tasks with name, direction, transport, state.
Args: target: TrueNAS target name from config; omit to use the default. |
| cloudsync_listA | [READ] List cloud-sync tasks with description, direction, path, state.
Args: target: TrueNAS target name from config. |
| service_listA | [READ] List system services with name, state (RUNNING/STOPPED), enable. Args: target: TrueNAS target name from config; omit to use the default. |
| service_restartA | [WRITE] Restart a system service (e.g. 'smb', 'nfs'). Pass dry_run=True to preview. Captures the prior service state for the audit record; declares no undo (a restart is not cleanly reversible). Refuses a service name that is not present in service_list, and refuses 'ssh' unless confirm=True — SSH is the out-of-band recovery path, and bouncing it can strand whoever is working over it. Both refusals apply under dry_run too, which must report a refusal rather than preview a call that will be refused. Args: service: TrueNAS service name (see service_list). confirm: Required (True) only to restart 'ssh'; ignored otherwise. dry_run: If True, preview without restarting. target: TrueNAS target name from config. |
| snapshot_listA | [READ] List ZFS snapshots, optionally filtered to one dataset. Returns {"snapshots": [...], "returned": N, "limit": L, "truncated": bool}. When "truncated" is true there are more snapshots than were returned — re-run with a higher limit or filter to one dataset. Args: dataset: Optional dataset path to filter (e.g. 'tank/data'). limit: Max snapshot rows to return (default 200). target: TrueNAS target name from config. |
| snapshot_createA | [WRITE] Create a ZFS snapshot 'dataset@name'. Inverse: snapshot_delete. Pass dry_run=True to preview. Args: dataset: Dataset path to snapshot (e.g. 'tank/data'). name: Snapshot name (e.g. 'manual-2026-06-28'). dry_run: If True, preview without creating (and without an undo token). target: TrueNAS target name from config. |
| snapshot_deleteA | [WRITE] Delete a ZFS snapshot by id ('dataset@name'). IRREVERSIBLE. Pass dry_run=True to preview. Captures the snapshot's prior state for the audit record; declares no undo. Args: snapshot_id: Full snapshot id 'dataset@name' (see snapshot_list). dry_run: If True, preview without deleting. target: TrueNAS target name from config. |
| system_infoA | [READ] TrueNAS system summary: version, hostname, memory, cores, uptime. Args: target: TrueNAS target name from config; omit to use the default. |
| undo_listA | [READ] List recorded, not-yet-applied undo tokens (most recent first). Each entry names the original tool, the inverse tool that Returns {"undos": [...], "returned": N, "limit": L, "truncated": bool}. When "truncated" is true there are more recorded tokens than were shown — re-run with a higher limit rather than treating the list as complete. One extra row is fetched so "truncated" is measured, not guessed from a length coincidence. Each entry carries Args: limit: Max rows to return (default 50, hard cap 500). target: Unused (undo state is host-local); accepted for CLI uniformity. |
| undo_applyA | [WRITE][risk=medium] Apply a recorded undo by dispatching its inverse tool. The inverse runs through its own governed tool, so it is audited under its own risk tier. Pass dry_run=True to preview the inverse call without executing it. A token can only be applied once. Args:
undo_id: The undoId from undo_list (or an |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AIops-tools/TrueNAS-AIops'
If you have feedback or need assistance with the MCP directory API, please join our Discord server