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.