Skip to main content
Glama
spranab

truenas-mcp

by spranab

truenas-mcp

npm npm downloads

Ein NAS in einen KI-Assistenten einzubinden bedeutet normalerweise, ein MCP-Tool pro Operation zu registrieren. TrueNAS SCALE richtig abzudecken ergibt 50–80 Tool-Schemas – etwa 28.000 Tokens deines Kontextfensters, die verbraucht werden, bevor das Modell ein einziges Wort deiner Frage gelesen hat, bei jeder Anfrage, ob du nun Speicher anfasst oder nicht.

truenas-mcp deckt 278 Aktionen in 18 Kategorien ab – die gesamte TrueNAS-SCALE-REST-API – hinter einem hierarchischen Tool, das etwa 200 Tokens kostet. Das Modell fragt, welche Kategorien existieren, bohrt sich in die benötigte hinein und ruft dann die Aktion auf. Destruktive Operationen weigern sich, ohne confirm: true ausgeführt zu werden.

Installation (60 Sekunden)

# No install needed
TRUENAS_URL=https://truenas.local TRUENAS_API_KEY=1-abc123 npx truenas-mcp

Claude Code:

claude mcp add truenas -- npx -y truenas-mcp   --env TRUENAS_URL=https://truenas.local   --env TRUENAS_API_KEY=1-your-api-key-here

Hole den API-Schlüssel aus der TrueNAS-Oberfläche: Einstellungen > API-Schlüssel > Hinzufügen.

Related MCP server: Proxmox MCP Server

So sieht es aus

Du: „Sind meine Pools gesund, und kannst du eine NFS-Freigabe für das Media-Dataset erstellen?“

→ truenas({ category: "storage", action: "pool_list" })
  tank — ONLINE, 68% used, 0 errors

→ truenas({ category: "sharing", action: "nfs_share_create",
            params: { path: "/mnt/tank/media", comment: "Media share" } })

Das Modell hat nfs_share_create entdeckt, indem es zuerst truenas({ category: "sharing" }) aufgerufen hat – es hatte diese 36 Sharing-Aktionen nie in seinem Prompt.

Warum ein Tool statt 278

truenas-mcp

Typischer NAS-MCP-Server

Aktionen

278

5–80

Token-Fußabdruck

~200 Tokens (1 Tool)

5.000–30.000 Tokens (50–80 Tools)

Entdeckung

Hierarchisch – frag nach dem, was du brauchst

Flach – alles wird vorab geladen

MCP-Ressourcen

12 schreibgeschützte Dashboards

0

Installation

npx truenas-mcp

Aus Quellcode bauen / pip

Sicherheit

Destruktive Operationen erfordern confirm: true

Unterschiedlich

Vollständige Konfiguration

# Using npx (no install needed)
TRUENAS_URL=https://truenas.local TRUENAS_API_KEY=1-abc123 npx truenas-mcp

# Or install globally
npm install -g truenas-mcp

Umgebungsvariablen

Variable

Erforderlich

Beschreibung

TRUENAS_URL

Ja

TrueNAS-Instanz-URL (z. B. https://truenas.local)

TRUENAS_API_KEY

Ja

API-Schlüssel aus der TrueNAS-Oberfläche: Einstellungen > API-Schlüssel > Hinzufügen

TRUENAS_VERIFY_SSL

Nein

Auf false setzen, um die SSL-Überprüfung zu überspringen (selbstsignierte Zertifikate)

Claude-Desktop-Konfiguration

Füge Folgendes zu deiner claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "truenas": {
      "command": "npx",
      "args": ["-y", "truenas-mcp"],
      "env": {
        "TRUENAS_URL": "https://truenas.local",
        "TRUENAS_API_KEY": "1-your-api-key-here",
        "TRUENAS_VERIFY_SSL": "false"
      }
    }
  }
}

Claude Code

claude mcp add truenas -- npx -y truenas-mcp \
  --env TRUENAS_URL=https://truenas.local \
  --env TRUENAS_API_KEY=1-your-api-key-here \
  --env TRUENAS_VERIFY_SSL=false

So funktioniert es – Hierarchisches Tool-Design

Statt 278 einzelne Tools zu registrieren (was ~30.000 Tokens im LLM-Systemprompt verbrauchen würde), stellt dieser Server ein Tool namens truenas mit drei Verwendungsmodi bereit:

1. Kategorien entdecken

truenas()

Gibt alle 18 Kategorien mit Beschreibungen und Aktionsanzahlen zurück (~200 Tokens).

2. Eine Kategorie erkunden

truenas({ category: "storage" })

Gibt alle Aktionen in dieser Kategorie mit ihren erforderlichen/optionalen Parametern zurück.

3. Eine Aktion ausführen

truenas({ category: "storage", action: "pool_list" })
truenas({ category: "storage", action: "dataset_create", params: { name: "tank/media", compression: "LZ4" } })

Das bedeutet, dass das LLM nur die Token-Kosten für das bezahlt, was es tatsächlich nutzt.

Kategorien

Kategorie

Aktionen

Abdeckung

system

24

Systeminfo, Konfiguration, Dienste, E-Mail, API-Schlüssel, NTP

storage

32

Pools, Datasets, Snapshots, periodische Snapshot-Aufgaben

sharing

36

SMB/CIFS, NFS-Exporte, iSCSI-Ziele/-Extents/-Portale/-Initiators

network

15

Schnittstellen, globale Konfiguration, statische Routen, IPMI, gestaffelte Änderungen

account

16

Benutzer, Gruppen, Privilegien/Rollen

disk

7

Physische Festplatten, SMART-Tests, Temperaturen

vm

16

Virtuelle Maschinen, VM-Geräte (Festplatte, NIC, Anzeige, PCI)

app

17

Docker-Apps, Container-Runtime-Konfiguration

update

14

Systemupdates, Boot-Umgebungen, Boot-Pool

certificate

8

TLS-Zertifikate, ACME/Let's Encrypt, DNS-Authentifikatoren

alert

10

Alarme, Benachrichtigungsdienste (Slack, E-Mail, PagerDuty)

data_protection

49

Replikation, Cloud-Sync, Cloud-Backup, Cron, rsync, Init-Skripte, SSH-Schlüssel

filesystem

7

stat, listdir, mkdir, Berechtigungen, ACLs, chown

reporting

3

Metrik-Konfiguration, Diagramme, Zeitreihendaten

directory

8

Active Directory, LDAP, Kerberos

service_config

12

SSH, FTP, SNMP, UPS, System-Tunables

audit

3

Audit-Logs, Audit-Konfiguration

api

1

Roher API-Notausgang für jeden Endpunkt

MCP-Ressourcen (12)

Schreibgeschützte Ressourcen für Dashboards – kein Tool-Aufruf nötig:

Ressource

URI

Beschreibung

Systeminfo

truenas://system/info

Version, Hostname, Betriebszeit, Hardware

Pools

truenas://storage/pools

Alle Pools mit Kapazität und Gesundheit

Datasets

truenas://storage/datasets

Alle Datasets mit Eigenschaften

Dienste

truenas://services

Dienststatus-Übersicht

Alarme

truenas://alerts

Aktuelle Systemalarme

Netzwerk

truenas://network/summary

Schnittstellen, IPs, DNS, Gateway

Freigaben

truenas://sharing

Alle SMB-, NFS- und iSCSI-Freigaben

VMs

truenas://vms

Virtuelle Maschinen mit Status

Apps

truenas://apps

Installierte Anwendungen

Festplatten

truenas://disks

Informationen zu physischen Festplatten

Boot-Umgebungen

truenas://boot/environments

Boot-Umgebungen

Update

truenas://system/update

Update-Konfiguration

Beispielkonversationen

„Welche Pools habe ich und sind sie gesund?“

→ truenas({ category: "storage", action: "pool_list" })

„Erstelle eine NFS-Freigabe für /mnt/tank/media“

→ truenas({ category: "sharing", action: "nfs_share_create", params: { path: "/mnt/tank/media", comment: "Media share" } })

„Prüfe auf Systemupdates“

→ truenas({ category: "update", action: "update_check" })

„Welche SMART-Tests wurden auf sda ausgeführt?“

→ truenas({ category: "disk", action: "disk_smart_test_list", params: { disk: "sda" } })

Sicherheit

Alle destruktiven Operationen erfordern confirm: true in den Parametern:

  • Pool erstellen/exportieren/Festplatte ersetzen

  • Dataset/Snapshot löschen, Snapshot-Rollback

  • VM löschen, App löschen/Rollback

  • System neu starten/herunterfahren, Update anwenden

  • Festplatte löschen, Boot-Festplatte anhängen/abhängen

  • Zertifikat löschen, Boot-Umgebung löschen

  • Verzeichnisdienste verlassen, ACL setzen

Ohne confirm: true geben diese Aktionen eine Fehlermeldung zurück, die erklärt, was passieren würde.

API-Kompatibilität

Entwickelt für die TrueNAS SCALE REST-API v2.0. Kompatibel mit TrueNAS SCALE 22.x bis 25.x.

Entwicklung

git clone https://github.com/spranab/truenas-mcp
cd truenas-mcp
npm install
npm run build
npm run dev  # watch mode

Verwandte Projekte

Andere MCP-Server und Agent-Infrastruktur vom selben Autor:

  • mcpier – selbst gehostete MCP-Kontrollebene für dein Homelab; hält API-Schlüssel von deinen Clients fern.

  • saga-mcp – SQLite-gestützter Projekt-Tracker, damit der Agent den Plan zwischen Sitzungen nicht verliert.

  • yantrikdb-mcp – persistentes kognitives Gedächtnis für Claude Code, Cursor und Windsurf.

  • swarmcode – Echtzeitkanal zwischen Claude-Code-Instanzen auf verschiedenen Maschinen.

  • brainstorm-mcp – Multi-Modell-Debatte als MCP-Tool.

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
23dResponse time
Release cycle
Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables Claude to monitor and manage homelab infrastructure including Docker containers, OPNsense firewall, and TrueNAS storage with configurable capability levels from read-only monitoring to full management control.
    13
    39
    6
  • A
    license
    C
    quality
    D
    maintenance
    Enables management of Proxmox VE infrastructure through natural language, providing 120+ tools to control virtual machines, containers, storage, cluster resources, users, and network configurations via the Proxmox API.
    100
    17
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI agents to manage VMware vSphere virtual infrastructure through comprehensive operations including VM power control, snapshot management, resource monitoring, performance analytics, and bulk operations with built-in safety confirmations for destructive actions.
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Dell PowerScale (Isilon) OneFS clusters through over 2,400 tools generated from the REST API specification. It supports managing storage protocols, snapshots, networking, and cluster configurations using natural language.
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.

  • Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.

  • SaaS intelligence for AI agents. 5 unified tools cover 1,000+ services with 91-96% token savings.

View all MCP Connectors

Latest Blog Posts

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/spranab/truenas-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server