truenas-ws-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TRUENAS_URL | No | WebSocket URL of your TrueNAS instance | wss://truenas.local/websocket |
| TRUENAS_API_KEY | Yes | API key from TrueNAS (System > API Keys) | |
| TRUENAS_TIMEOUT | No | API call timeout in seconds | 30 |
| TRUENAS_VERIFY_SSL | No | SSL certificate verification | false |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| system_infoA | Get TrueNAS system information: version, uptime, CPU, RAM, boot time. |
| list_alertsA | List all active TrueNAS alerts with severity levels. |
| list_servicesA | List all services and their running status (SMB, NFS, SSH, etc.). |
| list_jobsA | List recent system jobs with status, progress, and errors. |
| get_audit_logC | Query audit log entries (auth events, config changes). |
| list_cron_jobsA | List all configured cron jobs. |
| get_boot_poolB | Get boot pool health status. |
| list_poolsA | List all storage pools with health, capacity, and fragmentation. |
| get_pool_statusB | Get detailed pool status with VDEV topology and error counts. |
| list_datasetsA | List datasets with usage and quota info. Always specify a pool to avoid timeouts on large systems. |
| get_datasetB | Get detailed info for a specific dataset. |
| create_datasetC | Create a new ZFS dataset. |
| update_datasetC | Update dataset properties (compression, quota, comments, etc.). |
| delete_datasetB | Delete a dataset. Requires confirm=True. |
| list_snapshotsA | List ZFS snapshots. Always specify a dataset to avoid timeouts on large systems. |
| create_snapshotC | Create a manual ZFS snapshot. |
| delete_snapshotA | Delete a snapshot. Requires confirm=True. Snapshot format: dataset@name. |
| rollback_snapshotA | Rollback dataset to snapshot. Requires confirm=True. WARNING: destroys newer data. |
| clone_snapshotC | Clone a snapshot to a new dataset. |
| list_snapshot_tasksA | List automated snapshot task schedules. |
| list_smb_sharesA | List all SMB shares. |
| create_smb_shareC | Create a new SMB share. Path must start with /mnt/. |
| delete_smb_shareA | Delete an SMB share by ID. Requires confirm=True. |
| list_nfs_exportsB | List all NFS exports. |
| create_nfs_exportB | Create a new NFS export. Path must start with /mnt/. |
| delete_nfs_exportA | Delete an NFS export by ID. Requires confirm=True. |
| list_appsA | List all installed apps with their state. |
| get_app_configC | Get the full configuration of a specific app. |
| update_app_configA | Update app configuration. WARNING: This is a REPLACE operation, not a merge. Any config keys not included will revert to defaults. Always get current config first with get_app_config, modify the needed values, and send the complete config. |
| install_appC | Install an app from the catalog. |
| delete_appB | Delete an installed app. Requires confirm=True. |
| start_appC | Start a stopped app. |
| stop_appC | Stop a running app. |
| upgrade_appC | Upgrade an app to the latest available version. |
| redeploy_appC | Redeploy an app with its current configuration. |
| list_available_appsB | Browse the app catalog for available apps to install. |
| list_vmsA | List all virtual machines with their state, CPU, and RAM configuration. |
| start_vmC | Start a virtual machine. |
| stop_vmA | Stop a virtual machine. Attempts graceful shutdown first, forces after timeout. RAM/CPU changes require full stop+start from TrueNAS — in-guest reboot does NOT re-allocate resources. |
| update_vmA | Update VM configuration (RAM, CPUs, etc.). Note: RAM/CPU changes only take effect after a full stop+start from TrueNAS — rebooting from inside the VM does NOT re-allocate resources. |
| list_interfacesA | List network interfaces with IPs and link state. |
| get_network_configA | Get network configuration: DNS servers, gateway, hostname. |
| list_graphsA | List available reporting graphs and their identifiers. Available graphs include: cpu, cputemp, memory, disk, interface, load, uptime, arcsize, disktemp, and more. Some graphs require an identifier (disk name for 'disk'/'disktemp', interface name for 'interface'). |
| get_reporting_dataB | Get historical reporting data for a graph. Units: HOUR (1h), DAY (24h), WEEK, MONTH, YEAR. Some graphs need an identifier (e.g., disk name 'sda' for disk graphs, interface name 'enp5s0' for network graphs). Response format: [{name, identifier, data: [[unix_timestamp, value], ...]}]. Memory/ARC values in bytes, CPU in percentage. |
| list_usersA | List all system users. |
| get_userC | Get details for a specific user. |
| create_userC | Create a new system user. |
| update_userC | Update user properties. |
| delete_userC | Delete a user. Requires confirm=True. |
| list_disksA | List all disks with model, serial number, size, and pool membership. |
| get_disk_tempsA | Get current temperatures for all disks. |
| list_cloud_syncsA | List all cloud sync tasks with their status and schedule. |
| run_cloud_syncC | Trigger a cloud sync task to run immediately. |
| list_replicationsA | List all replication tasks with their status. |
| run_replicationC | Trigger a replication task to run immediately. |
| list_smart_resultsA | List SMART test results for all disks. |
| run_smart_testA | Run a SMART test on specified disks. test_type: SHORT or LONG. Note: TrueNAS 25.10 removed SMART scheduling from the API — these are manual tests only. |
| check_updatesA | Check for available TrueNAS system updates. |
| list_certificatesA | List all SSL/TLS certificates. |
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
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/thoriphes/truenas-ws-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server