forked from HomeLab/unraid-mcp
Resolves review threads: - PRRT_kwDOO6Hdxs50mcYz: oidc/validate_session now documents required `token` - PRRT_kwDOO6Hdxs50mcY8: setting/update corrected to require `settings_input` - PRRT_kwDOO6Hdxs50mcZE: rclone/create_remote corrected to `provider_type`+`config_data` - PRRT_kwDOO6Hdxs50mcZL: disk/logs corrected to `log_path`+`tail_lines` - PRRT_kwDOO6Hdxs50mcZe: parity_progress added to event-driven subscriptions list - PRRT_kwDOO6Hdxs50mcZh: log_tail README example now includes required `path` - PRRT_kwDOO6Hdxs50mcaR: parity_start quick-reference now includes required `correct=False` - PRRT_kwDOO6Hdxs50mcaq: array_state documented as "may show" not "will always show" - PRRT_kwDOO6Hdxs50mnR8: key/create roles is optional; add_role/remove_role use `roles` (plural) - PRRT_kwDOO6Hdxs50mnRd: endpoints.md heading moved before blockquote (MD041) - PRRT_kwDOO6Hdxs50mnTB: test_resources.py uses _get_resource() helper instead of raw internals - PRRT_kwDOO6Hdxs50mYkZ: N/A — _build_google_auth removed in prior refactor commit - PRRT_kwDOO6Hdxs50mnQf: N/A — plugin.json already at 1.1.2, matches pyproject.toml - PRRT_kwDOO6Hdxs50mnQ7: N/A — blank line already present in CLAUDE.md - PRRT_kwDOO6Hdxs50mnRD: N/A — fastmcp.http.json removed in prior refactor commit - PRRT_kwDOO6Hdxs50mnRH: N/A — blank line already present in README.md - PRRT_kwDOO6Hdxs50mnSW: N/A — test_auth_builder.py removed in prior refactor commit
126 lines
4.2 KiB
Markdown
126 lines
4.2 KiB
Markdown
# Unraid MCP — Quick Reference
|
|
|
|
All operations use: `unraid(action="<domain>", subaction="<operation>", [params])`
|
|
|
|
## Most Common Operations
|
|
|
|
### Health & Status
|
|
|
|
```python
|
|
unraid(action="health", subaction="setup") # First-time credential setup
|
|
unraid(action="health", subaction="check") # Full health check
|
|
unraid(action="health", subaction="test_connection") # Quick connectivity test
|
|
unraid(action="system", subaction="overview") # Complete server summary
|
|
unraid(action="system", subaction="metrics") # CPU / RAM / I/O usage
|
|
unraid(action="system", subaction="online") # Online status
|
|
```
|
|
|
|
### Array & Disks
|
|
|
|
```python
|
|
unraid(action="system", subaction="array") # Array status overview
|
|
unraid(action="disk", subaction="disks") # All disks with temps & health
|
|
unraid(action="array", subaction="parity_status") # Current parity check
|
|
unraid(action="array", subaction="parity_history") # Past parity results
|
|
unraid(action="array", subaction="parity_start", correct=False) # Start parity check
|
|
unraid(action="array", subaction="stop_array", confirm=True) # ⚠️ Stop array
|
|
```
|
|
|
|
### Logs
|
|
|
|
```python
|
|
unraid(action="disk", subaction="log_files") # List available logs
|
|
unraid(action="disk", subaction="logs", log_path="/var/log/syslog", tail_lines=50) # Read syslog
|
|
unraid(action="live", subaction="log_tail", path="/var/log/syslog") # Live tail
|
|
```
|
|
|
|
### Docker Containers
|
|
|
|
```python
|
|
unraid(action="docker", subaction="list")
|
|
unraid(action="docker", subaction="details", container_id="plex")
|
|
unraid(action="docker", subaction="start", container_id="nginx")
|
|
unraid(action="docker", subaction="stop", container_id="nginx")
|
|
unraid(action="docker", subaction="restart", container_id="sonarr")
|
|
unraid(action="docker", subaction="networks")
|
|
```
|
|
|
|
### Virtual Machines
|
|
|
|
```python
|
|
unraid(action="vm", subaction="list")
|
|
unraid(action="vm", subaction="details", vm_id="<id>")
|
|
unraid(action="vm", subaction="start", vm_id="<id>")
|
|
unraid(action="vm", subaction="stop", vm_id="<id>")
|
|
unraid(action="vm", subaction="reboot", vm_id="<id>")
|
|
unraid(action="vm", subaction="force_stop", vm_id="<id>", confirm=True) # ⚠️
|
|
```
|
|
|
|
### Notifications
|
|
|
|
```python
|
|
unraid(action="notification", subaction="overview")
|
|
unraid(action="notification", subaction="list", list_type="UNREAD", limit=10)
|
|
unraid(action="notification", subaction="archive", notification_id="<id>")
|
|
unraid(action="notification", subaction="create", title="Test", subject="Subject",
|
|
description="Body", importance="INFO")
|
|
```
|
|
|
|
### API Keys
|
|
|
|
```python
|
|
unraid(action="key", subaction="list")
|
|
unraid(action="key", subaction="create", name="my-key", roles=["viewer"])
|
|
unraid(action="key", subaction="delete", key_id="<id>", confirm=True) # ⚠️
|
|
```
|
|
|
|
### Plugins
|
|
|
|
```python
|
|
unraid(action="plugin", subaction="list")
|
|
unraid(action="plugin", subaction="add", names=["community.applications"])
|
|
unraid(action="plugin", subaction="remove", names=["old.plugin"], confirm=True) # ⚠️
|
|
```
|
|
|
|
### rclone
|
|
|
|
```python
|
|
unraid(action="rclone", subaction="list_remotes")
|
|
unraid(action="rclone", subaction="delete_remote", name="<remote>", confirm=True) # ⚠️
|
|
```
|
|
|
|
### Live Subscriptions (real-time)
|
|
|
|
```python
|
|
unraid(action="live", subaction="cpu")
|
|
unraid(action="live", subaction="memory")
|
|
unraid(action="live", subaction="parity_progress")
|
|
unraid(action="live", subaction="log_tail")
|
|
unraid(action="live", subaction="notification_feed")
|
|
unraid(action="live", subaction="ups_status")
|
|
```
|
|
|
|
> Returns `{"status": "connecting"}` on first call — retry momentarily.
|
|
|
|
---
|
|
|
|
## Domain → action= Mapping
|
|
|
|
| Old tool name (pre-v1.0) | New `action=` |
|
|
|--------------------------|---------------|
|
|
| `unraid_info` | `system` |
|
|
| `unraid_health` | `health` |
|
|
| `unraid_array` | `array` |
|
|
| `unraid_storage` | `disk` |
|
|
| `unraid_docker` | `docker` |
|
|
| `unraid_vm` | `vm` |
|
|
| `unraid_notifications` | `notification` |
|
|
| `unraid_keys` | `key` |
|
|
| `unraid_plugins` | `plugin` |
|
|
| `unraid_rclone` | `rclone` |
|
|
| `unraid_settings` | `setting` |
|
|
| `unraid_customization` | `customization` |
|
|
| `unraid_oidc` | `oidc` |
|
|
| `unraid_users` | `user` |
|
|
| `unraid_live` | `live` |
|