truenas-mcp
truenas-mcp
Подключение NAS к ИИ-ассистенту обычно означает регистрацию одного MCP-инструмента на каждую операцию. Чтобы полноценно покрыть TrueNAS SCALE, потребуется 50–80 схем инструментов — около 28 000 токенов вашего контекстного окна тратится до того, как модель прочитает хоть одно слово вашего вопроса, при каждом запросе, независимо от того, касаетесь ли вы хранилища.
truenas-mcp покрывает 278 действий в 18 категориях — весь REST API TrueNAS SCALE — с помощью одного иерархического инструмента, который стоит около 200 токенов. Модель спрашивает, какие категории существуют, углубляется в нужную, а затем вызывает действие. Деструктивные операции отказываются выполняться без confirm: true.
Установка (60 секунд)
# 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-hereПолучите API-ключ в интерфейсе TrueNAS: Settings > API Keys > Add.
Related MCP server: Dell Isilon (PowerScale) MCP Server
Как это выглядит
Вы: «Здоровы ли мои пулы, и можете ли вы создать NFS-шару для датасета media?»
→ 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" } })Модель обнаружила nfs_share_create, сначала вызвав truenas({ category: "sharing" }) — в её промпте никогда не было этих 36 действий для шаринга.
Почему один инструмент вместо 278
truenas-mcp | Типичный NAS MCP-сервер | |
Действия | 278 | 5–80 |
Стоимость в токенах | ~200 токенов (1 инструмент) | 5 000–30 000 токенов (50–80 инструментов) |
Обнаружение | Иерархический — запросите то, что нужно | Плоский — всё загружается заранее |
MCP-ресурсы | 12 панелей только для чтения | 0 |
Установка |
| Сборка из исходников / pip |
Безопасность | Деструктивные операции требуют | Различается |
Полная конфигурация
# 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Переменные окружения
Переменная | Обязательная | Описание |
| Да | URL-адрес экземпляра TrueNAS (например, |
| Да | API-ключ из интерфейса TrueNAS: Settings > API Keys > Add |
| Нет | Установите |
Конфигурация Claude Desktop
Добавьте в ваш 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Как это работает — иерархический дизайн инструмента
Вместо регистрации 278 отдельных инструментов (что потребовало бы ~30 тыс. токенов в системном промпте LLM), этот сервер предоставляет один инструмент под названием truenas с тремя режимами использования:
1. Обнаружение категорий
truenas()2. Изучение категории
truenas({ category: "storage" })3. Выполнение действия
truenas({ category: "storage", action: "pool_list" })
truenas({ category: "storage", action: "dataset_create", params: { name: "tank/media", compression: "LZ4" } })Это означает, что LLM платит за токены только за то, что действительно использует.
Категории
Категория | Действия | Охват |
| 24 | Информация о системе, конфигурация, службы, почта, API-ключи, NTP |
| 32 | Пулы, датасеты, снапшоты, периодические задачи снапшотов |
| 36 | SMB/CIFS, NFS-экспорты, iSCSI-цели/экстенты/порталы/инициаторы |
| 15 | Интерфейсы, глобальная конфигурация, статические маршруты, IPMI, поэтапные изменения |
| 16 | Пользователи, группы, привилегии/роли |
| 7 | Физические диски, SMART-тесты, температуры |
| 16 | Виртуальные машины, устройства ВМ (диск, NIC, дисплей, PCI) |
| 17 | Docker-приложения, конфигурация контейнерной среды выполнения |
| 14 | Обновления системы, загрузочные окружения, загрузочный пул |
| 8 | TLS-сертификаты, ACME/Let's Encrypt, DNS-аутентификаторы |
| 10 | Оповещения, службы уведомлений (Slack, email, PagerDuty) |
| 49 | Репликация, облачная синхронизация, облачное резервное копирование, cron, rsync, init-скрипты, SSH-ключи |
| 7 | stat, listdir, mkdir, права доступа, ACL, chown |
| 3 | Конфигурация метрик, графики, данные временных рядов |
| 8 | Active Directory, LDAP, Kerberos |
| 12 | SSH, FTP, SNMP, UPS, системные тюнинги |
| 3 | Журналы аудита, конфигурация аудита |
| 1 | Сырой API-выход для любого эндпоинта |
MCP-ресурсы (12)
Ресурсы только для чтения для панелей — вызов инструмента не требуется:
Ресурс | URI | Описание |
System Info |
| Версия, имя хоста, время работы, оборудование |
Pools |
| Все пулы с ёмкостью и состоянием |
Datasets |
| Все датасеты с свойствами |
Services |
| Обзор состояния служб |
Alerts |
| Текущие системные оповещения |
Network |
| Интерфейсы, IP-адреса, DNS, шлюз |
Shares |
| Все SMB, NFS и iSCSI-шары |
VMs |
| Виртуальные машины со статусом |
Apps |
| Установленные приложения |
Disks |
| Информация о физических дисках |
Boot Envs |
| Загрузочные окружения |
Update |
| Конфигурация обновления |
Примеры диалогов
«Какие у меня пулы и здоровы ли они?»
→ truenas({ category: "storage", action: "pool_list" })«Создайте NFS-шару для /mnt/tank/media»
→ truenas({ category: "sharing", action: "nfs_share_create", params: { path: "/mnt/tank/media", comment: "Media share" } })«Проверьте наличие обновлений системы»
→ truenas({ category: "update", action: "update_check" })«Какие SMART-тесты выполнялись на sda?»
→ truenas({ category: "disk", action: "disk_smart_test_list", params: { disk: "sda" } })Безопасность
Все деструктивные операции требуют confirm: true в параметрах:
Создание/экспорт пула, замена диска
Удаление датасета/снапшота, откат снапшота
Удаление ВМ, удаление/откат приложения
Перезагрузка/выключение системы, применение обновления
Стирание диска, подключение/отключение загрузочного диска
Удаление сертификата, удаление загрузочного окружения
Выход из служб каталогов, установка ACL
Без confirm: true эти действия возвращают сообщение об ошибке с объяснением, что произойдёт.
Совместимость с API
Создано для TrueNAS SCALE REST API v2.0. Совместимо с TrueNAS SCALE 22.x–25.x.
Разработка
git clone https://github.com/spranab/truenas-mcp
cd truenas-mcp
npm install
npm run build
npm run dev # watch modeСвязанные проекты
Другие MCP-серверы и агентская инфраструктура того же автора:
mcpier — самохостинговая управляющая плоскость MCP для вашего домашнего сервера; не хранит API-ключи на ваших клиентах.
saga-mcp — трекер проектов на SQLite, чтобы агент не терял план между сессиями.
yantrikdb-mcp — постоянная когнитивная память для Claude Code, Cursor и Windsurf.
swarmcode — канал реального времени между экземплярами Claude Code на разных машинах.
brainstorm-mcp — многомодельное обсуждение как MCP-инструмент.
Лицензия
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