Provides full access to OpenMediaVault NAS storage management, including system statistics, disk and filesystem monitoring, RAID management, shared folder configuration (SMB, NFS, FTP), and user/group administration.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-openmediavaultCheck the health of my disks and show current storage usage."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-openmediavault
A Model Context Protocol (MCP) server for OpenMediaVault (OMV), providing AI assistants with full access to NAS storage, shares, users, and system management through the OMV JSON-RPC API.
Compatible with OMV 5 and OMV 6.
Features
33 tools across five categories:
System
Tool | Description |
| Hostname, version, CPU model, uptime, memory |
| CPU usage, memory usage, load averages |
| CPU temperature readings |
| Network interfaces with IP, netmask, gateway, speed |
| Syslog entries |
| Scheduled shutdown, wake-on-LAN settings |
Storage
Tool | Description |
| Physical disks with model, vendor, size, serial, temperature, SMART status |
| Filesystems with type, label, size, usage, mount status |
| Currently mounted filesystems with usage stats |
| SMART attributes for a disk |
| Extended SMART info including self-test results |
| SMART monitoring settings per disk |
| Scheduled SMART self-test jobs |
| Software RAID (mdadm) devices |
Shares
Tool | Description |
| Shared folders with filesystem references and privileges |
| User/group access privileges for a shared folder |
| SMB/CIFS (Samba/Windows) shares |
| Global SMB service settings |
| NFS shares with client and export options |
| Global NFS service settings |
| FTP shares |
| Global FTP service settings |
Users & Groups
Tool | Description |
| Local user accounts with UID, GID, groups |
| Detailed info about a specific user |
| Local groups with GID, comment, members |
| Detailed info about a specific group |
| All system users including system accounts |
| All system groups |
| Shared folder privileges for a user |
Services
Tool | Description |
| Status of all services (SMB, NFS, SSH, FTP, rsync, etc.) |
| Scheduled cron jobs with command and schedule |
| SSH service settings |
| Rsync backup/sync jobs |
| Rsync daemon modules |
| Global rsync settings |
| Email notification settings |
| Available software updates |
| Installed OMV plugins |
| Hardware watchdog timer settings |
Installation
git clone git@github.com:fredriksknese/mcp-openmediavault.git
cd mcp-openmediavault
npm install
npm run buildConfiguration
The server is configured via environment variables:
Variable | Required | Default | Description |
| Yes | — | OMV server hostname or IP address |
| No |
| OMV admin username |
| Yes | — | OMV admin password |
| No |
| Accept self-signed SSL certificates |
OMV 5 / OMV 6 Compatibility
The server connects to the JSON-RPC endpoint at https://{host}/rpc.php, which is the standard endpoint for both OMV 5 and OMV 6.
Session management follows the OMV protocol:
Login via
POST /rpc.phpwithSession.loginExtract the session cookie (
PHPSESSID) from theSet-Cookieresponse headerSend both the
Cookieheader andX-OPENMEDIAVAULT-SESSIONIDheader on all subsequent requests
If the session expires (HTTP 401), the client automatically re-authenticates and retries.
Usage with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"openmediavault": {
"command": "node",
"args": ["/absolute/path/to/mcp-openmediavault/dist/index.js"],
"env": {
"OMV_HOST": "192.168.1.100",
"OMV_USERNAME": "admin",
"OMV_PASSWORD": "your-password"
}
}
}
}Usage with Claude Code
claude mcp add openmediavault -- node /absolute/path/to/mcp-openmediavault/dist/index.jsSet environment variables before running, or configure them in your MCP settings.
Example Prompts
Once connected, you can ask your AI assistant things like:
"What is the current disk usage and which filesystems are mounted?"
"Show me the SMART health status for all disks"
"List all SMB shares and their enabled status"
"What services are currently running on the NAS?"
"Show me all users and their group memberships"
"Are there any software updates available for OMV?"
"What cron jobs are scheduled and when do they run?"
"Show me the NFS export configuration"
"What is the CPU temperature and system load?"
Development
npm run dev # Run with tsx (auto-reloads)
npm run build # Compile TypeScript to dist/
npm start # Run compiled outputArchitecture
src/
├── index.ts # Entry point — creates MCP server + STDIO transport
├── omv-client.ts # JSON-RPC client with session management and auto-retry
└── tools/
├── system.ts # System info, stats, network interfaces (6 tools)
├── storage.ts # Disks, filesystems, SMART, RAID (8 tools)
├── shares.ts # Shared folders, SMB, NFS, FTP (8 tools)
├── users.ts # Users and groups (7 tools)
└── services.ts # Services status, cron, SSH, rsync, plugins (10 tools)Requirements
Node.js 18+
OpenMediaVault 5 or 6 with admin credentials
Admin account with API access (the default
adminaccount works)
License
SEE LICENSE IN LICENSE
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.