truenas-mcp
truenas-mcp
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-mcpClaude Code:
claude mcp add truenas -- npx -y truenas-mcp --env TRUENAS_URL=https://truenas.local --env TRUENAS_API_KEY=1-your-api-key-hereHole den API-Schlüssel aus der TrueNAS-Oberfläche: Einstellungen > API-Schlüssel > Hinzufügen.
Related MCP server: Dell Isilon (PowerScale) 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 |
| Aus Quellcode bauen / pip |
Sicherheit | Destruktive Operationen erfordern | 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-mcpUmgebungsvariablen
Variable | Erforderlich | Beschreibung |
| Ja | TrueNAS-Instanz-URL (z. B. |
| Ja | API-Schlüssel aus der TrueNAS-Oberfläche: Einstellungen > API-Schlüssel > Hinzufügen |
| Nein | Auf |
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=falseSo 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 |
| 24 | Systeminfo, Konfiguration, Dienste, E-Mail, API-Schlüssel, NTP |
| 32 | Pools, Datasets, Snapshots, periodische Snapshot-Aufgaben |
| 36 | SMB/CIFS, NFS-Exporte, iSCSI-Ziele/-Extents/-Portale/-Initiators |
| 15 | Schnittstellen, globale Konfiguration, statische Routen, IPMI, gestaffelte Änderungen |
| 16 | Benutzer, Gruppen, Privilegien/Rollen |
| 7 | Physische Festplatten, SMART-Tests, Temperaturen |
| 16 | Virtuelle Maschinen, VM-Geräte (Festplatte, NIC, Anzeige, PCI) |
| 17 | Docker-Apps, Container-Runtime-Konfiguration |
| 14 | Systemupdates, Boot-Umgebungen, Boot-Pool |
| 8 | TLS-Zertifikate, ACME/Let's Encrypt, DNS-Authentifikatoren |
| 10 | Alarme, Benachrichtigungsdienste (Slack, E-Mail, PagerDuty) |
| 49 | Replikation, Cloud-Sync, Cloud-Backup, Cron, rsync, Init-Skripte, SSH-Schlüssel |
| 7 | stat, listdir, mkdir, Berechtigungen, ACLs, chown |
| 3 | Metrik-Konfiguration, Diagramme, Zeitreihendaten |
| 8 | Active Directory, LDAP, Kerberos |
| 12 | SSH, FTP, SNMP, UPS, System-Tunables |
| 3 | Audit-Logs, Audit-Konfiguration |
| 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 |
| Version, Hostname, Betriebszeit, Hardware |
Pools |
| Alle Pools mit Kapazität und Gesundheit |
Datasets |
| Alle Datasets mit Eigenschaften |
Dienste |
| Dienststatus-Übersicht |
Alarme |
| Aktuelle Systemalarme |
Netzwerk |
| Schnittstellen, IPs, DNS, Gateway |
Freigaben |
| Alle SMB-, NFS- und iSCSI-Freigaben |
VMs |
| Virtuelle Maschinen mit Status |
Apps |
| Installierte Anwendungen |
Festplatten |
| Informationen zu physischen Festplatten |
Boot-Umgebungen |
| Boot-Umgebungen |
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 modeVerwandte 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
This server cannot be deployed
Maintenance
Related MCP Connectors
- emisarOAuthdev.emisar
Let AI operate servers without SSH. Choose actions, approve risky changes, and audit every step.
Provides capabilities that let LLM agents perform a range of infrastructure management tasks.
Operate Linux, macOS and Windows from your LLM. Every action runs through an auditable allowlist.
Manage Vozora VPS servers, SSH keys, firewalls, DNS and usage from an AI agent.
1
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables 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.-
- AlicenseNot gradedqualityDmaintenanceEnables 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.2MIT
- AlicenseNot gradedqualityAmaintenanceEnables management of Proxmox Virtual Environment clusters, virtual machines, and containers through natural language interfaces. It provides 105 tools for tasks like power management, configuration, and resource monitoring with granular access control tiers.506 npm24MIT
- AlicenseAqualityBmaintenanceEnables AI agents to securely connect to and manage remote servers via SSH, with tools for running commands, file operations, log inspection, service management, and system monitoring under configurable access controls and audit logging.1215 npm1MIT