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 を自動的にインストールするには:
手動インストール
- リポジトリをクローンします。Copy
- 仮想環境を作成してアクティブ化します。Copy
- 依存関係をインストールします:Copy
- Unraid API 資格情報を使用して
.env
ファイルを作成します。Copy
Unraid API セットアップ
この MCP サーバーを使用するには、Unraid サーバーに Unraid API を設定する必要があります。
- CLI を使用して開発者モードと GraphQL サンドボックスを有効にします。指示に従ってサンドボックスを有効にします。Copy
- 必要な権限を持つ API キーを作成します。プロンプトに従って、名前、説明、役割、および権限を設定します。Copy
.env
ファイルを次のように構成します。UNRAID_API_URL
: GraphQL URL (例:http://your-unraid-server-ip/graphql
)UNRAID_API_KEY
: 作成したAPIキー
http://your-unraid-server-ip/graphql
GraphQL サンドボックスを使用して API をテストします。
注: Unraid API は、認証にベアラー トークンではなく
x-api-key
ヘッダーを使用します。
トラブルシューティング
- CORS エラーが発生した場合は、クライアントにサーバーの URL と一致する正しい
Origin
ヘッダーが含まれていることを確認してください。 - 実行しようとしているクエリに必要なロールと権限が API キーにあることを確認してください。
- GraphQL サンドボックスが有効になっていてアクセス可能であることを確認します。
使用法
MCPサーバーの実行
AI アシスタントとの統合のために、サーバーを stdio モードで実行します。
stdio モードは次の場合に役立ちます。
- MCPプロトコルをサポートするAIアシスタントとの直接統合
- Anthropic Python SDK を使用したテスト
- カーソルでのClaudeとの統合
stdioモードで実行する場合、サーバーはMCPプロトコル形式に従って標準入力から読み取り、標準出力に書き込みます。これにより、HTTPトランスポートを必要とせずにAIアシスタントと直接通信できます。
サーバーアーキテクチャ
サーバーは FastMCP フレームワークを使用して構築され、次の要素で構成されます。
- Unraid API クライアント(
unraid_client.py
):- UnraidサーバーとのGraphQL通信を処理します
- 認証とエラー処理を管理します
- 一貫したエラー報告を提供する
- 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_containers | Dockerコンテナに関する情報を取得する |
get_docker_networks | Dockerネットワークに関する情報を取得する |
list_containers | Dockerコンテナを人間が読める形式で一覧表示する |
VM管理
ツール名 | 説明 |
---|---|
get_vms | 仮想マシンに関する情報を取得する |
get_vm_details | 特定のVMに関する詳細情報を取得する |
list_vms | 人間が読める形式で仮想マシンを一覧表示する |
通知管理
ツール名 | 説明 |
---|---|
get_notifications | Unraidサーバーから通知を受け取る |
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 サーバーを使用するには:
- 設定ファイル (例:
unraid_mcp_config.json
) を作成します。Copy
注意: 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 ファイルを参照してください。
参考文献
This server cannot be installed
AI アシスタントが公式の Unraid GraphQL API を介して Unraid サーバーと対話できるようにし、システム情報、Docker コンテナー、VM、ストレージなどへの読み取り専用アクセスを提供する Python ベースのサーバーです。
- Disclaimer
- Features
- Prerequisites
- Installation
- Unraid API Setup
- Usage
- Server Architecture
- Available Resources
- Available Tools
- Integration with Claude
- Example Queries
- Troubleshooting
- Contributing
- License
- References