truenas-mcp
truenas-mcp
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-mcpClaude Code:
claude mcp add truenas -- npx -y truenas-mcp --env TRUENAS_URL=https://truenas.local --env TRUENAS_API_KEY=1-your-api-key-hereObtén la clave API desde la interfaz de TrueNAS: Settings > API Keys > Add.
Related MCP server: Dell Isilon (PowerScale) 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 |
| Compilar desde el código fuente / pip |
Seguridad | Las operaciones destructivas requieren | 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-mcpVariables de entorno
Variable | Obligatoria | Descripción |
| Sí | URL de la instancia de TrueNAS (p. ej. |
| Sí | Clave API de la interfaz de TrueNAS: Settings > API Keys > Add |
| No | Establecer en |
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=falseCó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 |
| 24 | Información del sistema, configuración, servicios, correo, claves API, NTP |
| 32 | Pools, datasets, instantáneas, tareas periódicas de instantáneas |
| 36 | Exportaciones SMB/CIFS, NFS, objetivos/extensiones/portales/iniciadores iSCSI |
| 15 | Interfaces, configuración global, rutas estáticas, IPMI, cambios por etapas |
| 16 | Usuarios, grupos, privilegios/roles |
| 7 | Discos físicos, pruebas SMART, temperaturas |
| 16 | Máquinas virtuales, dispositivos de VM (disco, NIC, pantalla, PCI) |
| 17 | Aplicaciones Docker, configuración del runtime de contenedores |
| 14 | Actualizaciones del sistema, entornos de arranque, pool de arranque |
| 8 | Certificados TLS, ACME/Let's Encrypt, autenticadores DNS |
| 10 | Alertas, servicios de notificación (Slack, correo electrónico, PagerDuty) |
| 49 | Replicación, sincronización en la nube, copia de seguridad en la nube, cron, rsync, scripts de inicio, claves SSH |
| 7 | stat, listdir, mkdir, permisos, ACLs, chown |
| 3 | Configuración de métricas, gráficos, datos de series temporales |
| 8 | Active Directory, LDAP, Kerberos |
| 12 | SSH, FTP, SNMP, UPS, ajustes del sistema |
| 3 | Registros de auditoría, configuración de auditoría |
| 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 |
| Versión, nombre de host, tiempo de actividad, hardware |
Pools |
| Todos los pools con capacidad y salud |
Datasets |
| Todos los datasets con propiedades |
Servicios |
| Resumen del estado de los servicios |
Alertas |
| Alertas actuales del sistema |
Red |
| Interfaces, IPs, DNS, puerta de enlace |
Recursos compartidos |
| Todos los recursos compartidos SMB, NFS e iSCSI |
VMs |
| Máquinas virtuales con estado |
Aplicaciones |
| Aplicaciones instaladas |
Discos |
| Información de los discos físicos |
Entornos de arranque |
| Entornos de arranque |
Actualización |
| 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 modeProyectos 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
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