by vespo92
TrueNAS MCP Server enables seamless interaction between Claude Desktop (or any MCP client) and your TrueNAS Core system, allowing management of storage, users, permissions, and Kubernetes storage backends through natural language commands.
TrueNAS Core MCP is a server that facilitates natural language interaction with your TrueNAS Core system. It acts as a bridge between AI clients like Claude Desktop and your TrueNAS server, allowing you to manage various aspects of your TrueNAS system using simple, conversational commands.
To use TrueNAS Core MCP, you need Python 3.10+, a TrueNAS Core system with API access, Claude Desktop (or any MCP-compatible client), and a TrueNAS API key. After cloning the repository, you can use the quick_setup.sh
script or manually set up a Python virtual environment and install dependencies. Configure the .env
file with your TrueNAS URL and API key. Finally, configure Claude Desktop to include the TrueNAS MCP server, and you can start issuing natural language commands.
Q: What are the prerequisites for running TrueNAS Core MCP? A: You need Python 3.10 or higher, a TrueNAS Core system with API access, Claude Desktop (or any MCP-compatible client), and a TrueNAS API key.
Q: How do I get my TrueNAS API key? A: Log into your TrueNAS web interface, navigate to Settings → API Keys, click Add, name your key, and copy the generated key.
Q: Can I use TrueNAS Core MCP with other MCP-compatible clients besides Claude Desktop? A: Yes, TrueNAS Core MCP is designed to work with any MCP client.
Q: What kind of commands can I issue to TrueNAS Core MCP? A: You can issue natural language commands for basic operations like listing users and pools, creating datasets, and advanced features like setting permissions, enabling compression, and creating NFS exports for Kubernetes.
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.
Reviews feature coming soon
Stay tuned for community discussions and feedback