CY

Control your TrueNAS system using natural language through Claude Desktop.

Created 3 months ago

Control your TrueNAS system using natural language through Claude Desktop.

development location documentation public TrueNAS MCP

What is Control your TrueNAS system using natural language through Claude Desktop.?

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.

Documentation

TrueNAS MCP Server

Version Python License MCP TrueNAS Tested

Control your TrueNAS system using natural language through Claude Desktop

FeaturesQuick StartInstallationDocumentationExamples

🌟 Overview

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.

🎯 Key Features

  • 🗂️ Storage Management - Create and manage pools, datasets, and snapshots
  • 👥 User Administration - List, view, and manage system users
  • 🔐 Advanced Permissions - Control Unix permissions and ACLs with simple commands
  • ☸️ Kubernetes Ready - Export NFS shares and create iSCSI targets for K8s
  • 🤖 Automation - Set up automated snapshot policies and retention
  • 📊 Property Control - Manage ZFS properties like compression, deduplication, and quotas

✅ Tested On

  • TrueNAS Core: Version 13.0-U6.1
  • API Version: v2.0
  • Python: 3.10+

🚀 Quick Start# Prerequisites

  • Python 3.10 or higher
  • TrueNAS Core system with API access
  • Claude Desktop (or any MCP-compatible client)
  • TrueNAS API key

1. Clone & Install

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

2. Configure

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

3. Test Connection

python tests/test_connection.py

4. Configure Claude Desktop

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"
      }
    }
  }
}

📚 Documentation# Getting Your API Key

  1. Log into TrueNAS web interface
  2. Navigate to SettingsAPI Keys
  3. Click Add and name your key
  4. Copy the generated key immediately

Example Commands

Once configured, ask Claude natural language questions:

Basic Operations

  • "List all users in my TrueNAS"
  • "Show me the storage pools"
  • "Create a dataset called backups in the tank pool"
  • "Take a snapshot of tank/important"

Advanced Features

  • "Set permissions 755 on tank/shared with owner john"
  • "Enable compression on tank/backups"
  • "Create an NFS export for my Kubernetes cluster"
  • "Set up daily snapshots for tank/data with 30-day retention"

Detailed Documentation

🛠️ Available Functions

🤝 Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

pip install -r requirements-dev.txt

# Run tests
pytest tests/

# Format code
black truenas_mcp_server.py

# Lint
flake8 truenas_mcp_server.py

🔒 Security

  • API keys are stored securely in environment variables
  • SSL/TLS verification is configurable
  • Never commit .env files or API keys
  • See Security Policy for reporting vulnerabilities

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments


Server Config

{
  "mcpServers": {
    "control-your-truenas-system-using-natural-language-through-claude-desktop.-server": {
      "command": "npx",
      "args": [
        "control-your-truenas-system-using-natural-language-through-claude-desktop."
      ]
    }
  }
}

Links & Status

Repository: github.com
Hosted: No
Global: No
Official: Yes

Project Info

Hosted Featured
Created At: Aug 08, 2025
Updated At: Aug 08, 2025
Author: vespo92
Category: storage management
License: MIT License
Tags:
development location documentation