Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@NZBGet MCP ServerShow me the current download queue and the server status"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
NZBGet MCP Server
An MCP (Model Context Protocol) server for NZBGet that exposes NZBGet API functionality as MCP tools usable by LLM clients.
Control your Usenet downloads with natural language through Claude and other MCP-compatible clients.
Features
17 MCP tools for complete NZBGet control
Queue management: list, add, pause, resume, delete downloads
History tracking: view completed and failed downloads
Speed control: set download rate limits
Status monitoring: real-time server status, disk space, queue info
Logging: access and write to NZBGet logs
TypeScript implementation with JSON-RPC client
Stdio transport compatible with Claude Desktop
Requirements
Node.js 18+
A running NZBGet instance with RPC enabled
Setup
Clone the repository and install dependencies:
git clone https://github.com/aserper/nzbget-mcp.git
cd nzbget-mcp
npm installBuild the project:
npm run buildCopy
.env.exampleto.envand set your values:
cp .env.example .envEdit .env:
NZBGET_HOST=localhost
NZBGET_PORT=6789
NZBGET_USERNAME=nzbget
NZBGET_PASSWORD=tegbzn6789
NZBGET_USE_HTTPS=falseRunning the MCP Server
npm startOr directly:
node dist/index.jsConfiguration
Variable | Description | Default |
| NZBGet hostname |
|
| NZBGet RPC port |
|
| NZBGet username | - |
| NZBGet password | - |
| Use HTTPS |
|
Claude Desktop Configuration
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or equivalent on other platforms):
{
"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
Build Locally
docker build -t nzbget-mcp .Run
docker run --rm -it \
-e NZBGET_HOST="localhost" \
-e NZBGET_PORT="6789" \
-e NZBGET_USERNAME="nzbget" \
-e NZBGET_PASSWORD="tegbzn6789" \
nzbget-mcpExposed Tools
Status & Information
nzbget_status- Get server status (speed, queue size, disk space)nzbget_version- Get NZBGet versionnzbget_server_volumes- Get download statistics per server
Download Queue
nzbget_list_groups- List all downloads in queuenzbget_append- Add NZB file to queuenzbget_edit_queue- Edit queue (pause, resume, delete, set priority)
History
nzbget_history- View download history
Control
nzbget_pause_download/nzbget_resume_downloadnzbget_pause_post/nzbget_resume_postnzbget_rate- Set download speed limit (KB/s)nzbget_scan- Scan for new NZB files
Logging
nzbget_log- Get log entriesnzbget_write_log- Write custom log message
Usage Examples
"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"Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode
npm run dev
# Lint
npm run lint
# Type check
npm run typecheckLicense
MIT
Contributing
Contributions welcome! Feel free to open an issue or submit a PR.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.