Unraid MCP Server

by jmagar
Verified

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Integrations

  • Provides tools for monitoring Docker containers and networks on an Unraid server, including listing containers and accessing detailed information about specific containers.

  • Interfaces with Unraid's GraphQL API to facilitate all server interactions, handling authentication and providing consistent error reporting.

  • Allows querying information about the Plex media server container running on Unraid, mentioned as an example use case for container-specific details.

アンレイドMCPサーバー

AI アシスタントが公式の Unraid GraphQL API を介して Unraid サーバーと対話できるようにする Python ベースの MCP (Model Context Protocol) サーバー。

免責事項

自己責任でご使用ください:このソフトウェアは、AIアシスタントを介してUnraidサーバーへのアクセスを提供します。この実装は安全性を高めるために読み取り専用に設定されていますが、ご使用の際はご注意ください。

  • これは非公式ツールであり、Unraid, Inc. と提携しておらず、同社から承認も受けていません。
  • システムの変更を防ぐため、すべての操作は読み取り専用に制限されています。
  • 常にデータの適切なバックアップを維持する
  • 行動を起こす前に、AIアシスタントが提供するすべての情報と提案を確認してください
  • 開発者は、このソフトウェアの使用によって生じる可能性のある問題について一切責任を負いません。

読み取り専用アクセスであっても、監視ツールは機密性の高いシステム情報を漏洩させる可能性があります。本ソフトウェアを使用することで、お客様はこれらの制限とリスクを認識し、同意したものとみなされます。

特徴

  • システム情報: Unraidサーバーの詳細情報を取得します
  • アレイ管理: アレイのステータスを監視する
  • Docker管理: Dockerコンテナとネットワークの一覧表示
  • VM管理:仮想マシンの一覧表示
  • ディスク情報: ディスクと未割り当てデバイスに関する詳細情報を取得します
  • 通知管理: システム通知の表示と管理
  • 共有管理: ネットワーク共有の表示と管理
  • ユーザー管理: ユーザーの一覧
  • APIキー管理: APIキーの一覧表示
  • パリティ履歴: パリティチェックの履歴を表示する
  • 共有: Unraid サーバー上のユーザー共有を参照します
  • プラグイン: インストールされているプラグインとそのステータスを表示します
  • エラー処理: 診断情報を含む包括的なエラー処理
  • ログ記録: トラブルシューティングのための詳細なログ記録
  • テンプレートリソース: 特定のコンテナとVMに名前でアクセスする

前提条件

  • Python 3.10以降
  • APIが有効になっているUnraidサーバー
  • 適切な権限を持つAPIキー

インストール

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Unraid MCP Server を自動的にインストールするには:

npx -y @smithery/cli install @jmagar/unraid-mcp --client claude

手動インストール

  1. リポジトリをクローンします。
    git clone https://github.com/jmagar/unraid-mcp.git cd unraid-mcp
  2. 仮想環境を作成してアクティブ化します。
    python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  3. 依存関係をインストールします:
    pip install -r requirements.txt
  4. Unraid API 資格情報を使用して.envファイルを作成します。
    cp .env.template .env # Edit .env with your actual API URL and key

Unraid API セットアップ

この MCP サーバーを使用するには、Unraid サーバーに Unraid API を設定する必要があります。

  1. CLI を使用して開発者モードと GraphQL サンドボックスを有効にします。
    unraid-api developer
    指示に従ってサンドボックスを有効にします。
  2. 必要な権限を持つ API キーを作成します。
    unraid-api apikey --create
    プロンプトに従って、名前、説明、役割、および権限を設定します。
  3. .envファイルを次のように構成します。
    • UNRAID_API_URL : GraphQL URL (例: http://your-unraid-server-ip/graphql )
    • UNRAID_API_KEY : 作成したAPIキー
  4. http://your-unraid-server-ip/graphql GraphQL サンドボックスを使用して API をテストします。

: Unraid API は、認証にベアラー トークンではなくx-api-keyヘッダーを使用します。

トラブルシューティング

  • CORS エラーが発生した場合は、クライアントにサーバーの URL と一致する正しいOriginヘッダーが含まれていることを確認してください。
  • 実行しようとしているクエリに必要なロールと権限が API キーにあることを確認してください。
  • GraphQL サンドボックスが有効になっていてアクセス可能であることを確認します。

使用法

MCPサーバーの実行

AI アシスタントとの統合のために、サーバーを stdio モードで実行します。

# Run in stdio mode (for direct integration with AI assistants) python run_server.py

stdio モードは次の場合に役立ちます。

  • MCPプロトコルをサポートするAIアシスタントとの直接統合
  • Anthropic Python SDK を使用したテスト
  • カーソルでのClaudeとの統合

stdioモードで実行する場合、サーバーはMCPプロトコル形式に従って標準入力から読み取り、標準出力に書き込みます。これにより、HTTPトランスポートを必要とせずにAIアシスタントと直接通信できます。

サーバーアーキテクチャ

サーバーは FastMCP フレームワークを使用して構築され、次の要素で構成されます。

  1. Unraid API クライアント( unraid_client.py ):
    • UnraidサーバーとのGraphQL通信を処理します
    • 認証とエラー処理を管理します
    • 一貫したエラー報告を提供する
  2. MCP サーバー( server.py ):
    • MCP仕様に従ってリソースとツールを定義します
    • Unraidの機能をAIアシスタントに公開
    • リクエストの検証とエラー診断を処理します

利用可能なリソース

リソースURI説明
unraid://system/infoシステム情報(CPU、メモリ、稼働時間)
unraid://system/pluginsインストールされたプラグイン
unraid://docker/containersすべてのDockerコンテナのリスト
unraid://docker/{container_name}特定のコンテナの詳細
unraid://array/status現在のアレイの状態
unraid://vms/listすべての仮想マシンのリスト
unraid://vms/{vm_name}特定のVMの詳細
unraid://storage/sharesユーザーが情報を共有する

利用可能なツール

システム管理

ツール名説明
get_system_info詳細なシステム情報を取得する
get_network_infoネットワークインターフェース情報を取得する

アレイ管理

ツール名説明
get_array_status人間が読める形式でアレイのステータスを取得する
get_parity_historyパリティチェック履歴を取得する

Docker管理

ツール名説明
get_docker_containersDockerコンテナに関する情報を取得する
get_docker_networksDockerネットワークに関する情報を取得する
list_containersDockerコンテナを人間が読める形式で一覧表示する

VM管理

ツール名説明
get_vms仮想マシンに関する情報を取得する
get_vm_details特定のVMに関する詳細情報を取得する
list_vms人間が読める形式で仮想マシンを一覧表示する

通知管理

ツール名説明
get_notificationsUnraidサーバーから通知を受け取る
create_notification新しい通知を作成する
archive_notification通知をアーカイブする

株式管理

ツール名説明
get_sharesネットワーク共有に関する情報を取得する
get_share_details特定の株式に関する詳細情報を取得する

ディスク管理

ツール名説明
get_disksすべてのディスクに関する情報を取得する
get_disk_details特定のディスクに関する情報を取得する
get_unassigned_devices割り当てられていないデバイスに関する情報を取得する

ユーザー管理

ツール名説明
get_usersすべてのユーザーに関する情報を取得する

APIキー管理

ツール名説明
get_api_keysすべてのAPIキーに関する情報を取得する

クロードとの統合

Claude API または stdio モードをサポートする他の AI アシスタントで MCP サーバーを使用するには:

  1. 設定ファイル (例: unraid_mcp_config.json ) を作成します。
    { "mcpServers": { "unraid": { "command": "/path/to/python", "args": ["/path/to/unraid-mcp/run_server.py"], "env": { "UNRAID_API_URL": "http://your-unraid-server:port/graphql", "UNRAID_API_KEY": "your-api-key", "LOG_LEVEL": "INFO", "CLAUDE_MCP_SERVER": "true" }, "disabled": false, "autoApprove": [] } } }

注意: Windows ユーザーの場合は、パスに必ず二重のバックスラッシュを使用してください (例: C:\\Users\\username\\unraid-mcp\\run_server.py )

クエリの例

  • 「Unraid サーバーの現在の CPU 使用率はどれくらいですか?」
  • 「すべてのDockerコンテナを一覧表示する」
  • 「Plex コンテナについて教えてください」(container_details リソースを使用)
  • 「Plexコンテナを起動する」
  • 「アレイの状態はどうですか?」
  • 「Unraid サーバーにはどれくらいの空き容量がありますか?」
  • 「Windows VM の詳細を表示してください」(vm_details リソースを使用)
  • 「どんなプラグインがインストールされていますか?」

トラブルシューティング

詳細なエラー情報については、ログ ファイル ( unraid_mcp.log ) を確認してください。

よくある問題:

  • .envファイル内の API URL またはキーが正しくありません
  • Unraidサーバーへのネットワーク接続の問題
  • APIキーの権限が不十分です
  • Unraid サーバーで開発者モードが有効になっていません
  • APIキーに必要な役割がありません

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

参考文献

-
security - not tested
F
license - not found
-
quality - not tested

AI アシスタントが公式の Unraid GraphQL API を介して Unraid サーバーと対話できるようにし、システム情報、Docker コンテナー、VM、ストレージなどへの読み取り専用アクセスを提供する Python ベースのサーバーです。

  1. Disclaimer
    1. Features
      1. Prerequisites
        1. Installation
          1. Installing via Smithery
          2. Manual Installation
        2. Unraid API Setup
          1. Troubleshooting
        3. Usage
          1. Running the MCP Server
        4. Server Architecture
          1. Available Resources
            1. Available Tools
              1. System Management
              2. Array Management
              3. Docker Management
              4. VM Management
              5. Notification Management
              6. Share Management
              7. Disk Management
              8. User Management
              9. API Key Management
            2. Integration with Claude
              1. Example Queries
                1. Troubleshooting
                  1. Contributing
                    1. License
                      1. References
                        ID: rcj3486wsr