mirror of
https://github.com/jmagar/unraid-mcp.git
synced 2026-03-23 12:39:24 -07:00
Resolves review threads: - PRRT_kwDOO6Hdxs50fewG (setup.py): non-eliciting clients now return True from elicit_reset_confirmation so they can reconfigure without being blocked - PRRT_kwDOO6Hdxs50fewM (test-tools.sh): add notification/recalculate smoke test - PRRT_kwDOO6Hdxs50fewP (test-tools.sh): add system/array smoke test - PRRT_kwDOO6Hdxs50fewT (resources.py): surface manager error state instead of reporting 'connecting' for permanently failed subscriptions - PRRT_kwDOO6Hdxs50feAj (resources.py): use is not None check for empty cached dicts - PRRT_kwDOO6Hdxs50fewY (integration tests): remove duplicate snapshot-registration tests already covered in test_resources.py - PRRT_kwDOO6Hdxs50fewe (test_resources.py): replace brittle import-detail test with behavior tests for connecting/error states - PRRT_kwDOO6Hdxs50fewh (test_customization.py): strengthen public_theme assertion - PRRT_kwDOO6Hdxs50fewk (test_customization.py): strengthen theme assertion - PRRT_kwDOO6Hdxs50fewo (__init__.py): correct subaction count ~88 -> ~107 - PRRT_kwDOO6Hdxs50fewx (test_oidc.py): assert providers list value directly - PRRT_kwDOO6Hdxs50fewz (unraid.py): remove unreachable raise after vm handler - PRRT_kwDOO6Hdxs50few2 (unraid.py): remove unreachable raise after docker handler - PRRT_kwDOO6Hdxs50fev8 (CLAUDE.md): replace legacy 15-tool table with unified unraid action/subaction table - PRRT_kwDOO6Hdxs50fev_ (test_oidc.py): assert providers + defaultAllowedOrigins - PRRT_kwDOO6Hdxs50feAz (CLAUDE.md): update tool categories to unified API shape - PRRT_kwDOO6Hdxs50feBE (CLAUDE.md/setup.py): update unraid_health refs to unraid(action=health, subaction=setup)
74 lines
1.8 KiB
Markdown
74 lines
1.8 KiB
Markdown
# Unraid MCP Marketplace
|
|
|
|
This directory contains the Claude Code marketplace configuration for the Unraid MCP server and skills.
|
|
|
|
## Installation
|
|
|
|
### From GitHub (Recommended)
|
|
|
|
```bash
|
|
# Add the marketplace
|
|
/plugin marketplace add jmagar/unraid-mcp
|
|
|
|
# Install the Unraid skill
|
|
/plugin install unraid @unraid-mcp
|
|
```
|
|
|
|
### From Local Path (Development)
|
|
|
|
```bash
|
|
# Add local marketplace
|
|
/plugin marketplace add /path/to/unraid-mcp
|
|
|
|
# Install the plugin
|
|
/plugin install unraid @unraid-mcp
|
|
```
|
|
|
|
## Available Plugins
|
|
|
|
### unraid
|
|
|
|
Query and monitor Unraid servers via GraphQL API - array status, disk health, containers, VMs, system monitoring.
|
|
|
|
**Features:**
|
|
- 1 consolidated `unraid` tool with ~108 actions across 15 domains
|
|
- Real-time live subscriptions (CPU, memory, logs, array state, UPS)
|
|
- Disk health and temperature monitoring
|
|
- Docker container management
|
|
- VM status and control
|
|
- Log file access
|
|
- Network share information
|
|
- Notification management
|
|
- Plugin, rclone, API key, and OIDC management
|
|
|
|
**Version:** 1.0.0
|
|
**Category:** Infrastructure
|
|
**Tags:** unraid, monitoring, homelab, graphql, docker, virtualization
|
|
|
|
## Configuration
|
|
|
|
After installation, run setup to configure credentials interactively:
|
|
|
|
```
|
|
unraid(action="health", subaction="setup")
|
|
```
|
|
|
|
Credentials are stored at `~/.unraid-mcp/.env` automatically.
|
|
|
|
**Getting an API Key:**
|
|
1. Open Unraid WebUI
|
|
2. Go to Settings → Management Access → API Keys
|
|
3. Click "Create" and select "Viewer" role (or appropriate roles for mutations)
|
|
4. Copy the generated API key
|
|
|
|
## Documentation
|
|
|
|
- **Plugin Documentation:** See `skills/unraid/README.md`
|
|
- **MCP Server Documentation:** See root `README.md`
|
|
- **API Reference:** See `skills/unraid/references/`
|
|
|
|
## Support
|
|
|
|
- **Issues:** https://github.com/jmagar/unraid-mcp/issues
|
|
- **Repository:** https://github.com/jmagar/unraid-mcp
|