
TrueNAS Core
STDIOControl TrueNAS system through natural language with Claude Desktop or MCP clients.
Control TrueNAS system through natural language with Claude Desktop or MCP clients.
Control your TrueNAS system using natural language through Claude Desktop
Features • Quick Start • Installation • Documentation • Examples
TrueNAS MCP Server enables seamless interaction between Claude Desktop (or any MCP client) and your TrueNAS Core system. Manage storage, users, permissions, and even Kubernetes storage backends—all through natural language commands.
# Clone the repository git clone https://github.com/vespo92/TrueNasCoreMCP.git cd TrueNasCoreMCP # Quick setup (recommended) ./quick_setup.sh # On Windows: quick_setup.bat # Or manual setup: python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate pip install -r requirements.txt
# Copy example config cp .env.example .env # Edit with your TrueNAS details nano .env
Set your TrueNAS connection details:
TRUENAS_URL=https://192.168.1.100 TRUENAS_API_KEY=1-your-api-key-here TRUENAS_VERIFY_SSL=false
python tests/test_connection.py
Add to your Claude Desktop config:
{ "mcpServers": { "truenas": { "command": "python", "args": ["/path/to/truenas_mcp_server.py"], "env": { "TRUENAS_URL": "https://your-truenas-ip", "TRUENAS_API_KEY": "your-api-key", "TRUENAS_VERIFY_SSL": "false" } } } }
Once configured, ask Claude natural language questions:
list_pools()
- View all storage poolslist_datasets()
- List all datasetsget_pool_status()
- Detailed pool informationcreate_dataset()
- Create new datasetsmodify_dataset_properties()
- Change ZFS propertiesget_dataset_properties()
- View dataset configurationlist_users()
- List system usersget_user()
- Detailed user informationmodify_dataset_permissions()
- Change Unix permissionsupdate_dataset_acl()
- Manage Access Control Listsget_dataset_permissions()
- View current permissionslist_smb_shares()
- View SMB/CIFS sharescreate_smb_share()
- Create new SMB sharescreate_nfs_export()
- NFS exports for Kubernetescreate_iscsi_target()
- iSCSI block storagecreate_snapshot()
- Manual snapshotscreate_snapshot_policy()
- Automated snapshot schedulesWe welcome contributions! Please see our Contributing Guidelines for details.
# Install development dependencies pip install -r requirements-dev.txt # Run tests pytest tests/ # Format code black truenas_mcp_server.py # Lint flake8 truenas_mcp_server.py
.env
files or API keysThis project is licensed under the MIT License - see the LICENSE file for details.