Skip to main content
Glama
aserper

NZBGet MCP Server

by aserper

NZBGet MCP-Server

Ein MCP-Server (Model Context Protocol) für NZBGet, der die NZBGet-API-Funktionalität als MCP-Werkzeuge für LLM-Clients bereitstellt.

Steuern Sie Ihre Usenet-Downloads mit natürlicher Sprache über Claude und andere MCP-kompatible Clients.

Funktionen

  • 15 MCP-Werkzeuge für die vollständige NZBGet-Steuerung

  • Warteschlangenverwaltung: Downloads auflisten, hinzufügen, pausieren, fortsetzen, löschen

  • Historienverfolgung: Abgeschlossene und fehlgeschlagene Downloads anzeigen

  • Geschwindigkeitskontrolle: Download-Ratenbegrenzungen festlegen

  • Statusüberwachung: Echtzeit-Serverstatus, Festplattenspeicher, Warteschlangeninformationen

  • Protokollierung: Zugriff auf und Schreiben in NZBGet-Protokolle

  • TypeScript-Implementierung mit JSON-RPC-Client

  • Stdio-Transport kompatibel mit Claude Desktop

Anforderungen

  • Node.js 18+

  • Eine laufende NZBGet-Instanz mit aktiviertem RPC

Einrichtung

  1. Klonen Sie das Repository und installieren Sie die Abhängigkeiten:

git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm install
  1. Erstellen Sie das Projekt:

npm run build
  1. Kopieren Sie .env.example nach .env und legen Sie Ihre Werte fest:

cp .env.example .env

Bearbeiten Sie .env:

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

Ausführen des MCP-Servers

npm start

Oder direkt:

node dist/index.js

Testen

# Run all tests
npm test

# Run with coverage
npm run test:coverage

# Run tests in watch mode
npm run test:ui

Architektur

Dieser MCP-Server verwendet eine modulare Architektur:

  • src/tools/*.ts - Implementierungen einzelner Werkzeuge

  • src/tools/index.ts - Werkzeugregistrierung und -erkennung

  • src/utils/errors.ts - Hilfsprogramme zur Fehlerbehandlung

  • src/__tests__/mocks/ - Test-Fixtures und Mocks

Alle 15 Werkzeuge sind in sich geschlossene Module, die sich beim Import selbst registrieren.

Konfiguration

Variable

Beschreibung

Standardwert

NZBGET_HOST

NZBGet-Hostname

localhost

NZBGET_PORT

NZBGet-RPC-Port

6789

NZBGET_USERNAME

NZBGet-Benutzername

-

NZBGET_PASSWORD

NZBGet-Passwort

-

NZBGET_USE_HTTPS

HTTPS verwenden

false

Claude Desktop-Konfiguration

Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS oder entsprechend auf anderen Plattformen):

{
  "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

Lokal erstellen

docker build -t nzbget-mcp .

Ausführen

docker run --rm -it \
  -e NZBGET_HOST="localhost" \
  -e NZBGET_PORT="6789" \
  -e NZBGET_USERNAME="nzbget" \
  -e NZBGET_PASSWORD="tegbzn6789" \
  nzbget-mcp

Verfügbare Werkzeuge

Status & Informationen

  • nzbget_status - Serverstatus abrufen (Geschwindigkeit, Warteschlangengröße, Festplattenspeicher)

  • nzbget_version - NZBGet-Version abrufen

  • nzbget_server_volumes - Download-Statistiken pro Server abrufen

Download-Warteschlange

  • nzbget_list_groups - Alle Downloads in der Warteschlange auflisten

  • nzbget_append - NZB-Datei zur Warteschlange hinzufügen

  • nzbget_edit_queue - Warteschlange bearbeiten (pausieren, fortsetzen, löschen, Priorität festlegen)

Historie

  • nzbget_history - Download-Historie anzeigen

Steuerung

  • nzbget_pause_download / nzbget_resume_download

  • nzbget_pause_post / nzbget_resume_post

  • nzbget_rate - Download-Geschwindigkeitsbegrenzung festlegen (KB/s)

  • nzbget_scan - Nach neuen NZB-Dateien suchen

Protokollierung

  • nzbget_log - Protokolleinträge abrufen

  • nzbget_write_log - Benutzerdefinierte Protokollnachricht schreiben

Anwendungsbeispiele

"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"

Entwicklung

# Install dependencies
npm install

# Build
npm run build

# Watch mode
npm run dev

# Lint
npm run lint

# Type check
npm run typecheck

Lizenz

MIT

Mitwirken

Beiträge sind willkommen! Fühlen Sie sich frei, ein Issue zu öffnen oder einen PR einzureichen.

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