Skip to main content
Glama
spranab

truenas-mcp

by spranab

truenas-mcp

npm npm downloads

Conectar un NAS a un asistente de IA normalmente implica registrar una herramienta MCP por operación. Si cubres TrueNAS SCALE correctamente, eso son 50-80 esquemas de herramientas — unos 28.000 tokens de tu ventana de contexto gastados antes de que el modelo haya leído una sola palabra de tu pregunta, en cada petición, toques o no el almacenamiento.

truenas-mcp cubre 278 acciones en 18 categorías — toda la API REST de TrueNAS SCALE — detrás de una herramienta jerárquica que cuesta unos 200 tokens. El modelo pregunta qué categorías existen, profundiza en la que necesita y luego ejecuta la acción. Las operaciones destructivas se niegan a ejecutarse sin confirm: true.

Instalación (60 segundos)

# 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

Obtén la clave API desde la interfaz de TrueNAS: Settings > API Keys > Add.

Related MCP server: Proxmox MCP Server

Cómo se ve

Tú: "¿Están sanos mis pools, y puedes crear un recurso compartido NFS para el dataset de medios?"

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

El modelo descubrió nfs_share_create llamando primero a truenas({ category: "sharing" }) — nunca tuvo esas 36 acciones de uso compartido en su prompt.

Por qué una herramienta en lugar de 278

truenas-mcp

Servidor MCP NAS típico

Acciones

278

5-80

Huella de tokens

~200 tokens (1 herramienta)

5.000-30.000 tokens (50-80 herramientas)

Descubrimiento

Jerárquico — pide lo que necesitas

Plano — todo cargado de antemano

Recursos MCP

12 paneles de solo lectura

0

Instalación

npx truenas-mcp

Compilar desde el código fuente / pip

Seguridad

Las operaciones destructivas requieren confirm: true

Varía

Configuración completa

# 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

Variables de entorno

Variable

Obligatoria

Descripción

TRUENAS_URL

URL de la instancia de TrueNAS (p. ej. https://truenas.local)

TRUENAS_API_KEY

Clave API de la interfaz de TrueNAS: Settings > API Keys > Add

TRUENAS_VERIFY_SSL

No

Establecer en false para omitir la verificación SSL (certificados autofirmados)

Configuración de Claude Desktop

Añade a tu claude_desktop_config.json:

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

Cómo funciona — Diseño de herramienta jerárquica

En lugar de registrar 278 herramientas individuales (lo que consumiría ~30k tokens en el prompt del sistema del LLM), este servidor expone una herramienta llamada truenas con tres modos de uso:

1. Descubrir categorías

truenas()

Devuelve las 18 categorías con descripciones y recuentos de acciones (~200 tokens).

2. Explorar una categoría

truenas({ category: "storage" })

Devuelve todas las acciones de esa categoría con sus parámetros obligatorios/opcionales.

3. Ejecutar una acción

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

Esto significa que el LLM solo paga el coste de tokens por lo que realmente utiliza.

Categorías

Categoría

Acciones

Cubre

system

24

Información del sistema, configuración, servicios, correo, claves API, NTP

storage

32

Pools, datasets, instantáneas, tareas periódicas de instantáneas

sharing

36

Exportaciones SMB/CIFS, NFS, objetivos/extensiones/portales/iniciadores iSCSI

network

15

Interfaces, configuración global, rutas estáticas, IPMI, cambios por etapas

account

16

Usuarios, grupos, privilegios/roles

disk

7

Discos físicos, pruebas SMART, temperaturas

vm

16

Máquinas virtuales, dispositivos de VM (disco, NIC, pantalla, PCI)

app

17

Aplicaciones Docker, configuración del runtime de contenedores

update

14

Actualizaciones del sistema, entornos de arranque, pool de arranque

certificate

8

Certificados TLS, ACME/Let's Encrypt, autenticadores DNS

alert

10

Alertas, servicios de notificación (Slack, correo electrónico, PagerDuty)

data_protection

49

Replicación, sincronización en la nube, copia de seguridad en la nube, cron, rsync, scripts de inicio, claves SSH

filesystem

7

stat, listdir, mkdir, permisos, ACLs, chown

reporting

3

Configuración de métricas, gráficos, datos de series temporales

directory

8

Active Directory, LDAP, Kerberos

service_config

12

SSH, FTP, SNMP, UPS, ajustes del sistema

audit

3

Registros de auditoría, configuración de auditoría

api

1

Vía de escape de API sin procesar para cualquier endpoint

Recursos MCP (12)

Recursos de solo lectura para paneles — no se necesita ninguna llamada de herramienta:

Recurso

URI

Descripción

Información del sistema

truenas://system/info

Versión, nombre de host, tiempo de actividad, hardware

Pools

truenas://storage/pools

Todos los pools con capacidad y salud

Datasets

truenas://storage/datasets

Todos los datasets con propiedades

Servicios

truenas://services

Resumen del estado de los servicios

Alertas

truenas://alerts

Alertas actuales del sistema

Red

truenas://network/summary

Interfaces, IPs, DNS, puerta de enlace

Recursos compartidos

truenas://sharing

Todos los recursos compartidos SMB, NFS e iSCSI

VMs

truenas://vms

Máquinas virtuales con estado

Aplicaciones

truenas://apps

Aplicaciones instaladas

Discos

truenas://disks

Información de los discos físicos

Entornos de arranque

truenas://boot/environments

Entornos de arranque

Actualización

truenas://system/update

Configuración de actualización

Ejemplos de conversaciones

"¿Qué pools tengo y están sanos?"

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

"Crea un recurso compartido NFS para /mnt/tank/media"

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

"Comprueba si hay actualizaciones del sistema"

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

"¿Qué pruebas SMART se han ejecutado en sda?"

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

Seguridad

Todas las operaciones destructivas requieren confirm: true en los parámetros:

  • Crear/exportar pool, reemplazar disco

  • Eliminar dataset/instantánea, revertir instantánea

  • Eliminar VM, eliminar/revertir aplicación

  • Reiniciar/apagar el sistema, aplicar actualización

  • Borrado de disco, conectar/desconectar disco de arranque

  • Eliminar certificado, eliminar entorno de arranque

  • Abandonar servicios de directorio, establecer ACL

Sin confirm: true, estas acciones devuelven un mensaje de error que explica lo que ocurriría.

Compatibilidad de API

Diseñado para la API REST de TrueNAS SCALE v2.0. Compatible con TrueNAS SCALE 22.x hasta 25.x.

Desarrollo

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

Proyectos relacionados

Otros servidores MCP e infraestructura de agentes creados por el mismo autor:

  • mcpier — plano de control MCP autoalojado para tu homelab; mantiene las claves API fuera de tus clientes.

  • saga-mcp — rastreador de proyectos respaldado por SQLite para que el agente no pierda el plan entre sesiones.

  • yantrikdb-mcp — memoria cognitiva persistente para Claude Code, Cursor y Windsurf.

  • swarmcode — canal en tiempo real entre instancias de Claude Code en diferentes máquinas.

  • brainstorm-mcp — debate multimodelo como herramienta MCP.

Licencia

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