omv-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORTAINER_API_KEY | Yes | API key for Portainer, used to manage Docker stacks |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| completions | {} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_system_infoA | OMV/host info: hostname, OMV version, kernel, CPU, memory, uptime, load. |
| disk_usageA | Human-readable filesystem usage ( |
| list_block_devicesA | Block devices with size/model/serial/fs/mountpoint/uuid ( |
| top_processesA | Top processes by cpu or mem ( |
| memory_infoB | RAM and swap usage in bytes ( |
| available_updatesA | APT packages with pending upgrades (name/versions only). {count, packages}. |
| service_statusB | systemd active/enabled state per unit ( |
| service_logsA | Last |
| network_infoA | Network interfaces with addresses ( |
| run_commandA | Run an arbitrary shell command on the NAS as root. UNRESTRICTED and UNGUARDED -- there is no allow/deny-list. Prefer the specific tools (omv_rpc, docker, stacks) over hand-editing config. Returns {stdout, stderr, exit_code}. |
| apply_updatesA | Install pending APT upgrades ( |
| rebootA | Reboot the NAS. Requires confirm=True. |
| shutdownA | Power off the NAS. Requires confirm=True. |
| list_filesystemsA | All filesystems OMV knows about (mounted or not). |
| list_disksB | Physical disk devices known to OMV. |
| smart_statusB | S.M.A.R.T. overview per device (overall health status, from OMV). |
| smart_healthA | SMART overall-health self-assessment for one device (PASSED/FAILED).
|
| smart_attributesA | Full SMART attribute table for one device ( |
| smart_selftest_logB | SMART self-test history for one device ( |
| disk_temperaturesA | Current temperature (°C) of every physical disk ( |
| run_smart_testA | Start a SMART self-test on a device. |
| cpu_tempB | CPU temperature in °C (OMV CpuTemp plugin). |
| sensors_readoutA | All lm-sensors readings as structured JSON ( |
| storage_summaryA | Per-mount usage for the OS + data disks ( |
| list_shared_foldersB | OMV shared folders (name, path, device). |
| list_smb_sharesB | Configured SMB/CIFS shares. |
| omv_rpcA | Generic OMV RPC passthrough: |
| list_containersA | Docker containers with names/status/image ( |
| container_statsA | Live per-container CPU%, memory, net/block I/O ( |
| container_inspectA | Full |
| list_imagesB | Docker images (repo, tag, id, size). |
| list_volumesB | Docker volumes (name, driver, mountpoint). |
| list_networksC | Docker networks (id, name, driver, scope). |
| docker_system_dfA | Disk usage + reclaimable space by images/containers/volumes/build cache
( |
| container_logsA | Last |
| restart_containerA | Restart a single container (seconds of downtime). |
| start_containerB | Start a stopped container. |
| stop_containerA | Stop a running container (downtime until restarted). Requires confirm=True. |
| docker_execA | Run a shell command inside a container as its user. UNRESTRICTED -- no allow/deny-list. Returns {stdout, stderr, exit_code}. |
| docker_pruneA | Reclaim space by removing stopped containers, dangling images, unused
networks and build cache ( |
| list_stacksA | Portainer stacks (id, name, status). |
| get_stack_composeC | The full compose file for a Portainer stack. |
| start_stackA | Start a stopped stack (brings its containers up). |
| stop_stackA | Stop a running stack (takes all its containers down). Requires confirm=True. |
| restart_stackA | Stop then start a stack (downtime during the cycle). Requires confirm=True. |
| update_stackA | Redeploy a stack with the given compose YAML. DESTRUCTIVE: recreates containers (brief downtime). Requires confirm=True. Existing Env is preserved automatically. |
| list_usersC | Non-system OMV users. |
| list_groupsC | Non-system OMV groups. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| diagnose_storage_health | |
| triage_containers | |
| whats_using_space | |
| audit_shares_and_permissions |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| System info | Live host/OMV info (hostname, version, kernel, cpu, memory, uptime). |
| Storage overview | Per-mount usage for the OS + data disks. |
| Health snapshot | Composite: SMART overall, disk temps, CPU temp, filesystem usage. |
| Portainer stacks | Portainer stacks (id, name, status). |
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/vnaveenb/openmediavault-mcp-ssh'
If you have feedback or need assistance with the MCP directory API, please join our Discord server