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 |
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": 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
- 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/thoriphes/truenas-ws-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server