Files
unraid-mcp/docs/MARKETPLACE.md
Jacob Magar efaab031ae fix: address all 17 PR review comments
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)
2026-03-16 02:58:54 -04:00

5.2 KiB

Claude Code Marketplace Setup

This document explains the Claude Code marketplace and plugin structure for the Unraid MCP project.

What Was Created

1. Marketplace Manifest (.claude-plugin/marketplace.json)

The marketplace catalog that lists all available plugins in this repository.

Location: .claude-plugin/marketplace.json

Contents:

  • Marketplace metadata (name, version, owner, repository)
  • Plugin catalog with the "unraid" skill
  • Categories and tags for discoverability

2. Plugin Manifest (.claude-plugin/plugin.json)

The individual plugin configuration for the Unraid skill.

Location: .claude-plugin/plugin.json

Contents:

  • Plugin name, version, author
  • Repository and homepage links
  • Plugin-specific metadata

3. Documentation

  • .claude-plugin/README.md - Marketplace installation guide
  • Updated root README.md with plugin installation section

4. Validation Script

  • scripts/validate-marketplace.sh - Automated validation of marketplace structure

Installation Methods

Once you push this to GitHub, users can install via:

# Add your marketplace
/plugin marketplace add jmagar/unraid-mcp

# Install the Unraid skill
/plugin install unraid @unraid-mcp

Method 2: Local Installation (Development)

For testing locally before publishing:

# Add local marketplace
/plugin marketplace add /home/jmagar/workspace/unraid-mcp

# Install the plugin
/plugin install unraid @unraid-mcp

Method 3: Direct URL

Users can also install from a specific commit or branch:

# From specific branch
/plugin marketplace add jmagar/unraid-mcp#main

# From specific commit
/plugin marketplace add jmagar/unraid-mcp#abc123

Plugin Structure

unraid-mcp/
├── .claude-plugin/          # Plugin manifest + marketplace manifest
│   ├── plugin.json          # Plugin configuration (name, version, mcpServers)
│   ├── marketplace.json     # Marketplace catalog
│   └── README.md            # Marketplace installation guide
├── skills/unraid/           # Skill documentation and helpers
│   ├── SKILL.md             # Skill documentation
│   ├── README.md            # Plugin documentation
│   ├── examples/            # Example scripts
│   ├── scripts/             # Helper scripts
│   └── references/          # API reference docs
└── scripts/
    └── validate-marketplace.sh  # Validation tool

Marketplace Metadata

Categories

  • infrastructure - Server management and monitoring tools

Tags

  • unraid - Unraid-specific functionality
  • monitoring - System monitoring capabilities
  • homelab - Homelab automation
  • graphql - GraphQL API integration
  • docker - Docker container management
  • virtualization - VM management

Publishing Checklist

Before publishing to GitHub:

  1. Validate Structure

    ./scripts/validate-marketplace.sh
    
  2. Update Version Numbers

    • Bump version in .claude-plugin/marketplace.json
    • Bump version in .claude-plugin/plugin.json
    • Update version in README.md if needed
  3. Test Locally

    /plugin marketplace add .
    /plugin install unraid @unraid-mcp
    
  4. Commit and Push

    git add .claude-plugin/
    git commit -m "feat: add Claude Code marketplace configuration"
    git push origin main
    
  5. Create Release Tag (Optional)

    git tag -a v1.0.0 -m "Release v1.0.0"
    git push origin v1.0.0
    

User Experience

After installation, users will:

  1. See the skill in their skill list

    /skill list
    
  2. Access Unraid functionality directly

    • Claude Code will automatically detect when to invoke the skill
    • Users can explicitly invoke with /unraid
  3. Have access to all helper scripts

    • Example scripts in examples/
    • Utility scripts in scripts/
    • API reference in references/

Maintenance

Updating the Plugin

To release a new version:

  1. Make changes to the plugin
  2. Update version in .claude-plugin/plugin.json
  3. Update marketplace catalog in .claude-plugin/marketplace.json
  4. Run validation: ./scripts/validate-marketplace.sh
  5. Commit and push

Users with the plugin installed will see the update available and can upgrade with:

/plugin update unraid

Adding More Plugins

To add additional plugins to this marketplace:

  1. Create new plugin directory: skills/new-plugin/
  2. Add plugin manifest: skills/new-plugin/.claude-plugin/plugin.json
  3. Update marketplace catalog: add entry to .plugins[] array in .claude-plugin/marketplace.json
  4. Validate: ./scripts/validate-marketplace.sh

Support

Validation

Run the validation script anytime to ensure marketplace integrity:

./scripts/validate-marketplace.sh

This checks:

  • Manifest file existence and validity
  • JSON syntax
  • Required fields
  • Plugin structure
  • Source path accuracy
  • Documentation completeness

All 17 checks must pass before publishing.