NZBGet MCP Server
NZBGet MCPサーバー
NZBGet用のMCP(Model Context Protocol)サーバーであり、NZBGet API機能をLLMクライアントで使用可能なMCPツールとして公開します。
Claudeやその他のMCP互換クライアントを通じて、自然言語でUsenetダウンロードを制御できます。
機能
15個のMCPツールによる完全なNZBGet制御
キュー管理: ダウンロードのリスト表示、追加、一時停止、再開、削除
履歴追跡: 完了および失敗したダウンロードの表示
速度制御: ダウンロード速度制限の設定
ステータス監視: リアルタイムのサーバー状態、ディスク容量、キュー情報
ログ記録: NZBGetログへのアクセスと書き込み
JSON-RPCクライアントを備えたTypeScript実装
Claude Desktopと互換性のあるStdioトランスポート
要件
Node.js 18以上
RPCが有効な実行中のNZBGetインスタンス
セットアップ
リポジトリをクローンし、依存関係をインストールします:
git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm installプロジェクトをビルドします:
npm run build.env.exampleを.envにコピーし、値を設定します:
cp .env.example .env.env を編集します:
NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=falseMCPサーバーの実行
npm startまたは直接実行:
node dist/index.jsテスト
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run tests in watch mode
npm run test:uiアーキテクチャ
このMCPサーバーはモジュール式アーキテクチャを採用しています:
src/tools/*.ts- 個別のツール実装src/tools/index.ts- ツールの登録と検出src/utils/errors.ts- エラー処理ユーティリティsrc/__tests__/mocks/- テストフィクスチャとモック
15個のツールはすべて自己完結型のモジュールであり、インポート時に自身を登録します。
設定
変数 | 説明 | デフォルト |
| NZBGetホスト名 |
|
| NZBGet RPCポート |
|
| NZBGetユーザー名 | - |
| NZBGetパスワード | - |
| HTTPSの使用 |
|
Claude Desktopの設定
Claude Desktopの設定(macOSの場合は ~/Library/Application Support/Claude/claude_desktop_config.json、その他のプラットフォームでは相当する場所)に追加します:
{
"mcpServers": {
"nzbget": {
"command": "node",
"args": ["/path/to/nzbget-mcp/dist/index.js"],
"env": {
"NZBGET_HOST": "localhost",
"NZBGET_PORT": "6789",
"NZBGET_USERNAME": "nzbget",
"NZBGET_PASSWORD": "tegbzn6789"
}
}
}
}Docker
ローカルでのビルド
docker build -t nzbget-mcp .実行
docker run --rm -it \
-e NZBGET_HOST="localhost" \
-e NZBGET_PORT="6789" \
-e NZBGET_USERNAME="nzbget" \
-e NZBGET_PASSWORD="tegbzn6789" \
nzbget-mcp公開されているツール
ステータスと情報
nzbget_status- サーバー状態の取得(速度、キューサイズ、ディスク容量)nzbget_version- NZBGetバージョンの取得nzbget_server_volumes- サーバーごとのダウンロード統計の取得
ダウンロードキュー
nzbget_list_groups- キュー内の全ダウンロードをリスト表示nzbget_append- NZBファイルをキューに追加nzbget_edit_queue- キューの編集(一時停止、再開、削除、優先度の設定)
履歴
nzbget_history- ダウンロード履歴の表示
制御
nzbget_pause_download/nzbget_resume_downloadnzbget_pause_post/nzbget_resume_postnzbget_rate- ダウンロード速度制限の設定 (KB/s)nzbget_scan- 新しいNZBファイルの検索
ログ記録
nzbget_log- ログエントリの取得nzbget_write_log- カスタムログメッセージの書き込み
使用例
"Show me what's currently downloading"
"Pause the download queue"
"Set download speed to 5 MB/s"
"Add an NZB file to the queue"
"Show my recent download history"開発
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Lint
npm run lint
# Type check
npm run typecheckライセンス
MIT
コントリビューション
コントリビューションを歓迎します!お気軽にIssueを作成するか、PRを送信してください。
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aserper/nzbget-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server