Skip to main content
Glama
aserper

NZBGet MCP Server

by aserper

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インスタンス

セットアップ

  1. リポジトリをクローンし、依存関係をインストールします:

git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm install
  1. プロジェクトをビルドします:

npm run build
  1. .env.example.env にコピーし、値を設定します:

cp .env.example .env

.env を編集します:

NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=false

MCPサーバーの実行

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_HOST

NZBGetホスト名

localhost

NZBGET_PORT

NZBGet RPCポート

6789

NZBGET_USERNAME

NZBGetユーザー名

-

NZBGET_PASSWORD

NZBGetパスワード

-

NZBGET_USE_HTTPS

HTTPSの使用

false

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_download

  • nzbget_pause_post / nzbget_resume_post

  • nzbget_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を送信してください。

Install Server
A
license - permissive license
C
quality
C
maintenance

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