{"_id":"@cneuen/mcp-nas","_rev":"11-bad16fb56d57211eb03fdb0fc5570b0f","name":"@cneuen/mcp-nas","dist-tags":{"latest":"1.0.1"},"versions":{"0.2.0":{"name":"@cneuen/mcp-nas","version":"0.2.0","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.2.0","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"d10c561c6b9870549eb7e0ead468f19e7c82c946","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.2.0.tgz","fileCount":7,"integrity":"sha512-W2liHa440UPzCJ3wh7fGUmT9xQGNbpCDzfZi3F2iBfPZ2/t5izi1rB6UKZHesd5sZgp1e/d6xuvX9V46Bp7Hyg==","signatures":[{"sig":"MEUCIQCfCvZBlKvtEQtdfWKeM1rRkEo33/vv/vx2q90pC26vggIgQmlD8AoqqrsViYI5UBezbujdZ06l2Jhd2/xc1OPt/u0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21582},"main":"build/index.js","type":"module","gitHead":"894a927d02b25b9e6366707b7c8c6499ea9cb82a","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"11.9.0","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"24.14.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.2.0_1772900340709_0.2747668753164847","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@cneuen/mcp-nas","version":"0.2.3","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.2.3","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"fef31ff57b5028a0b056a340b8842ef011f24a3f","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.2.3.tgz","fileCount":8,"integrity":"sha512-1jtK7aVwu6YUh2uDDqZmV67Ms6oHru+YW3tKixY0piFloPhfmdghNAe8OZPwc8N67LynDcCpCvinBUyvCB26BQ==","signatures":[{"sig":"MEUCIH/FlZMBKfowJv0mcEipLkerCLmamObxW+gCkv8WVDj+AiEAtxWHR5RiPUfllEUZlo5hVLWG/Zm4eLJhibW99OLT3f8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":23232},"main":"build/index.js","type":"module","gitHead":"3d1cd99ce07ee5b4d3a26846f2f09f9e933c7ece","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.2.3_1772902263953_0.4013134949201882","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@cneuen/mcp-nas","version":"0.3.0","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.3.0","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"186a10587332556e9506085e2c9f0d293c1ceafb","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.3.0.tgz","fileCount":8,"integrity":"sha512-PDuuSyshmqALsoIBFqvN0UIHIO7T+t4gTEEgaHEgfGOSebtNVq/t2sA0xV5okgubo5qOf7wyGewOiHcn/2pahw==","signatures":[{"sig":"MEUCIQCUNC9WMK59d9dY7yvpImfsDJQ8C0zfF2P7KmcdtP1AfQIgIHepOrhulLljCfQ70oN+N6nn7uLGAHrlH2YEaS+47OU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":27150},"main":"build/index.js","type":"module","gitHead":"900c38ada72ebc20ab441bbb61d223533dee92e7","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.3.0_1772909144942_0.45988759947824454","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@cneuen/mcp-nas","version":"0.3.1","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.3.1","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"bbb18910148da5c8f43bb85c02d671a134c5d115","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.3.1.tgz","fileCount":8,"integrity":"sha512-l9DnIggHHG5vUfm8v8y20pHwbtZM4I7pjWW2qPvvjYRef2QDqB0129XW2LfXUZD3J4i4ganv+JxQmpj2PQxtVg==","signatures":[{"sig":"MEQCIHGtadXTwlwaCYWI6IDsKP9oFhz0anPF5eBIbMBc4cjRAiBo8NTO9B5JM/ovgG+DqRaZVbpLM6fpiD44weC2kVEGGQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":28388},"main":"build/index.js","type":"module","gitHead":"26018361bb5cb886040e7d80997461100965bacd","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.3.1_1772912125976_0.9649913931759453","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@cneuen/mcp-nas","version":"0.3.2","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.3.2","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"65b32b8c51add8bd42a8ebdec0161c0856932036","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.3.2.tgz","fileCount":8,"integrity":"sha512-gIZymIfzzZuiZq9qH84fPcIqguMdXOoLUTR/YPzMNg2beIRqNdP4y3sa+VgwwgXuH+ja/hBstzjofEFWqTGclA==","signatures":[{"sig":"MEUCIENCTA5Y6O+pNoK15H4AeBoGwxOCMgb0gXILzdF6ziJ3AiEAv184f/duuAdvc2UQk7+WIUi/nUkR+12vIlVCHSZgdAE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29867},"main":"build/index.js","type":"module","gitHead":"586438d57f531889b178795b8a9968e12ada3298","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.3.2_1772913250198_0.5971347697190268","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@cneuen/mcp-nas","version":"0.4.0","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.4.0","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"56119213fd241d24ae5c166aab64cd59c344f8c4","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.4.0.tgz","fileCount":8,"integrity":"sha512-HSIszv+RCOPQl+ka+dnNWLat62X5C3311R5s4zjFLZiMdCVFI850IOtOXqMIdYYD8smdlp7Z1gmYECZd0xD5RA==","signatures":[{"sig":"MEYCIQDuWI5zMyGtJD/HYbKEOleEtIf6JX4iRQ7Gc/eOMTJrIgIhAKiyjUi9bWCqKFQrGlDtYphsnSzHstWTKw5N7ru5+hVF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33951},"main":"build/index.js","type":"module","gitHead":"69a485121f3c1486520eea8e31099f8769042aea","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.4.0_1772913927452_0.9928016273858116","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@cneuen/mcp-nas","version":"0.4.1","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.4.1","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"3373216eb3cc31e5e5388a06d1d9d833a5886b34","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.4.1.tgz","fileCount":8,"integrity":"sha512-Tg5dA+zOqh6UyTRGfQYckJIq3qKN4gtiK2XHrwhOJQBdol9g9wgMBuWpxsOk0gLAKtN0LuoilkJ/LYL0GWE7og==","signatures":[{"sig":"MEUCIHTGCA8mbETPW8QBsqDZW3/9Zb/C5NGEnNK4oEj9dCo7AiEAjknmG2jzND1/8v6xhQgKiEjZwxZkj69hdjWQZxJN+ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":35659},"main":"build/index.js","type":"module","gitHead":"e23ce74fa7f0ca781c35473e08f6e8420a4a049a","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.4.1_1772914339174_0.5280276221358478","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"@cneuen/mcp-nas","version":"0.4.2","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.4.2","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"560f073799ccad8ae9cdfc668702c7c8875dca08","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.4.2.tgz","fileCount":8,"integrity":"sha512-JSE0RjYaqlsBVBmxvzTsA9GPAcmOTB7lwm/HcCSVHMd+rY289RHl2uDNySoLgn9gonBWXLh/di2hH1oFhkUpXg==","signatures":[{"sig":"MEYCIQCNILzThQ+jYupZ5WxBxjH0T6UEsmGyLFUluNOA6AIZGgIhAK5YqlQj10+q8WXmHXPGuhCJAEuRZBRI6dtfJ3WE7jce","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36228},"main":"build/index.js","type":"module","gitHead":"4869debe99abd1f733a94e043cd1e08e5ebbfbc5","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.4.2_1772920917926_0.20822837695090235","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"@cneuen/mcp-nas","version":"0.4.3","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@0.4.3","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"ca6b9507e163563760e54d23bc8bf4b3ac7d634e","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-0.4.3.tgz","fileCount":8,"integrity":"sha512-AHdMJva1BFSBDiZ2mEshV9XjkEvPgVzc0LdetuZif4VPMtuM15fYtZLh0m1o08sGMOYB3xc/otVsQrfJK0Vtlg==","signatures":[{"sig":"MEUCIQCHWT/RPHt657IP0buQm8nfYdCwsFM6rLhbAvFBIOI+ywIgE3psEWLcEBhr2pXIp+o2ki6JwQYm40LzZHnY6qr3ZRo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37102},"main":"build/index.js","type":"module","gitHead":"be23e1da12a602e0271caef9f6a230264fadd1e5","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (Alpha)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_0.4.3_1772921291736_0.045210601591378685","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-beta":{"name":"@cneuen/mcp-nas","version":"1.0.0-beta","keywords":["mcp","mcp-server","nas"],"author":{"name":"cneuen"},"license":"MIT","_id":"@cneuen/mcp-nas@1.0.0-beta","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"bin":{"mcp-nas":"build/index.js"},"dist":{"shasum":"f08c37472ad151c0e3f9fd6c9ff6c6ae116b2e53","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-1.0.0-beta.tgz","fileCount":14,"integrity":"sha512-oMOP9VCHlwqgmZtqCNhAUJXnI4/ry21paIVe2a3oY3aZ3NuPvzoBRkPCq0/H8QGfEkcuiIHDmui7z3jQwTOPQQ==","signatures":[{"sig":"MEYCIQDgAwqtAMGKnntRDWU2iJ1k4vk+4GHM45YviK4nL06ewQIhAKGd//UUhGVH1N0EkUsgXn6ST2EvF7b2OE2UPNhMwMKq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65304},"main":"build/index.js","type":"module","gitHead":"e03914e29a2e79408d91430cd1055624170a0160","scripts":{"dev":"tsc --watch","build":"tsc","start":"node build/index.js"},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"_npmVersion":"10.8.2","description":"MCP server for NAS and Docker management (V1.0 Beta)","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ssh2":"^1.15.0","@modelcontextprotocol/sdk":"latest"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"latest","@types/node":"latest","@types/ssh2":"^1.15.0"},"_npmOperationalInternal":{"tmp":"tmp/mcp-nas_1.0.0-beta_1772976934566_0.435284671026438","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@cneuen/mcp-nas","version":"1.0.1","description":"MCP server for NAS and Docker management (V1.0 Beta)","main":"build/index.js","bin":{"mcp-nas":"build/index.js"},"type":"module","author":{"name":"cneuen"},"license":"MIT","keywords":["mcp","mcp-server","nas"],"scripts":{"build":"tsc","start":"node build/index.js","dev":"tsc --watch"},"dependencies":{"@modelcontextprotocol/sdk":"latest","ssh2":"^1.15.0"},"devDependencies":{"@types/node":"latest","@types/ssh2":"^1.15.0","typescript":"latest"},"_id":"@cneuen/mcp-nas@1.0.1","gitHead":"fbbc780b870549d943f296e31321c942a5a48645","_nodeVersion":"20.20.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-1yKL8ofXPvxo6M4c2UcrtQ+iO7vA4y1VQEhBQKku97wT6df9jpcaXWa1lSjQqp229T42TTT8OleEiRJDC/s/9A==","shasum":"df93394e09f60b344aa357a5507e64f634e85000","tarball":"https://registry.npmjs.org/@cneuen/mcp-nas/-/mcp-nas-1.0.1.tgz","fileCount":14,"unpackedSize":65241,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBp/sqBZAS3P+u9xu1zqOCHmPtDSKyQoMZZQwGoQTFX/AiEA0g4xOUm+tjpy1Xk++nsb3IEf8D6aC9qS6WfNBMoN1vY="}]},"_npmUser":{"name":"cneuen","email":"cneuen@gmail.com"},"directories":{},"maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-nas_1.0.1_1772979635891_0.6653234874881644"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-07T16:19:00.612Z","modified":"2026-03-08T14:20:36.169Z","0.2.0":"2026-03-07T16:19:00.857Z","0.2.3":"2026-03-07T16:51:04.107Z","0.3.0":"2026-03-07T18:45:45.088Z","0.3.1":"2026-03-07T19:35:26.135Z","0.3.2":"2026-03-07T19:54:10.374Z","0.4.0":"2026-03-07T20:05:27.601Z","0.4.1":"2026-03-07T20:12:19.357Z","0.4.2":"2026-03-07T22:01:58.072Z","0.4.3":"2026-03-07T22:08:11.888Z","1.0.0-beta":"2026-03-08T13:35:34.729Z","1.0.1":"2026-03-08T14:20:36.069Z"},"author":{"name":"cneuen"},"license":"MIT","keywords":["mcp","mcp-server","nas"],"description":"MCP server for NAS and Docker management (V1.0 Beta)","maintainers":[{"name":"cneuen","email":"cneuen@gmail.com"}],"readme":"# 🛡️ MCP-NAS: AI-Powered Homelab Control\n\n<div align=\"center\">\n  <img src=\"./docs/assets/logo.png\" alt=\"MCP-NAS Logo\" width=\"200\"/>\n</div>\n\n**Control your Homelab via an AI Assistant with Maximalist Security**\n\n[![MCP-NAS](https://img.shields.io/badge/MCP-Protocol-blue.svg)](https://modelcontextprotocol.io)\n[![Status](https://img.shields.io/badge/Status-Beta-blue.svg)]()\n\nThe `mcp-nas` agent is an experimental Model Context Protocol (MCP) server. It enables any compatible LLM assistant to interact natively with a Linux/NAS system via SSH for real-time monitoring, Docker management, and security intelligence.\n\n---\n\n## ✨ Philosophy & \"Zero-Trust\" Security\n- **Agentless**: Standard SSH communication.\n- **Least Privilege**: Restricted `mcp-agent` user with specific `sudo` whitelist.\n- **Strong Auth**: Asymmetric keys (ED25519) only.\n- **Hardened Key Usage**: The setup script automatically locks the SSH key (`no-pty`, `no-port-forwarding`) to prevent interactive shell access or tunneling.\n- **Audit Logging**: A self-deploying SSH Wrapper intercepts and logs every command executed by the AI agent to the NAS syslog (`/var/log/syslog` or `auth.log`).\n- **Data Isolation**: No hardcoded credentials.\n\n> ⚠️ **IMPORTANT SECURITY WARNINGS (Please Read)**\n> - **Highly Privileged Agent**: While restricted, the `mcp-agent` has control over Docker. E.g., via `docker compose`, an attacker could mount the host filesystem. **Treat the machine running the MCP client as a Highly Privileged Environment.** If your local workstation is compromised, your NAS is at risk.\n> - **No Direct Internet Exposure**: **Never** expose your NAS SSH port (22) directly to the internet. Always use a local network or a secure VPN (Wireguard/Tailscale).\n> - **Data Privacy**: Using this MCP server means your system logs (e.g., `/var/log`, `journalctl`) are sent to Anthropic's cloud for AI analysis. Ensure no highly sensitive passwords or API keys are written in plaintext to your logs.\n\n---\n\n## 🚀 Modular Features\n\nThe agent is organized into **Core** modules (universal) and **Integration** modules (solution-specific).\n\n### 🐧 Core Linux Features\n*Works natively on any standard Linux NAS (Debian, Ubuntu, etc.)*\n- **📊 Monitoring**: CPU, RAM, Uptime, Temperatures (CPU/HDD), and real-time Network Traffic.\n- **🗄️ Storage**: Universal RAID status (`mdstat`), filesystem usage, and SMART disk health.\n- **📜 Logs**: Remote access to `/var/log`, `journalctl`, and SSH login audits.\n\n### 🧩 Integrations & Solutions\n*Smart modules that activate when the service is detected.*\n- **🐶 OpenMediaVault**: Deep integration with OMV RPC for stack management and updates.\n- **🐳 Docker & Compose**: Management for native containers and standalone compose stacks.\n- **🚦 Traefik**: Automated discovery of reverse-proxy routes and backend health via labels.\n- **🛡️ Security**: CrowdSec ban monitoring, VPN status (Wireguard/Tailscale), and SSH auditing.\n\n---\n\n## 🛠️ Installation & Configuration\n\n### 1. NAS Preparation\nRun the setup script securely on your NAS (as root) directly from the repository:\n```bash\n# Download and execute the setup script\ncurl -fsSL https://raw.githubusercontent.com/cneuen/mcp-nas/main/setup-mcp-nas.sh -o setup-mcp-nas.sh\nchmod +x setup-mcp-nas.sh\nsudo ./setup-mcp-nas.sh \"mcp-agent\" \"YOUR_SSH_PUBLIC_KEY\"\n```\n\n### 2. MCP Client Configuration\nModify your MCP client configuration (e.g. `claude_desktop_config.json`, Cline, etc.):\n```json\n\"mcpServers\": {\n  \"mcp-nas\": {\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@cneuen/mcp-nas@latest\"],\n  \"env\": {\n    \"NAS_HOST\": \"192.168.1.X\",\n    \"NAS_USER\": \"mcp-agent\",\n    \"NAS_KEY_PATH\": \"C:/Users/USER/.ssh/id_ed25519\"\n  }\n}\n```\n\n---\n\n## 🧭 How to interact with your NAS?\n- *\"Give me a health report of my NAS.\"*\n- *\"What are the active routes on Traefik?\"*\n- *\"Has CrowdSec banned any IPs recently?\"*\n- *\"Update the 'emby' stack.\"*\n\n---\n*Made with ❤️ for Homelab enthusiasts.*\n","readmeFilename":"README.md"}