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: 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 |
| 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 installed
Maintenance
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
- FlicenseAqualityDmaintenanceEnables 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.13396
- AlicenseCqualityDmaintenanceEnables 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.10017MIT
- 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
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.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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